Re: algorithm decomposition
* Jun:
Hello all,
I tried to design a generic library for my working problem. But I've some
questions on how to decompose my algorithm, for example:
A generic algorithm, try to generate the weight on each element
class AlgorithmWeight{
void solve(InputIterator first, InputIterator last){
generateWeight(first, last)
// traveling all the element
while(first != last){
if(verify(first))
addWeight(first);
++first;
}
// orderByWeight(first, last);
}
};
The weighting system is only used in algorithmWeight which has no direct
influence with another algorithm. How can I decompose weight from elements.
It's unclear what you mean.
The code you've shown is not sufficient.
Here's a possible implementation of 'addWeight':
void addWeight( InputIterator const it )
{
++weights[&*it];
}
where 'weights' is e.g. a 'std::map<T*,int>'.
I've a preliminary thought that :
I create a Policy template called weight, I combine my element class with this
weight template.
template <typename WeightPolicy>
class Element : public WeightPolicy{
using WeightPolicy:weightRelatedOprs; ....
}
Huh?
Any better solution ?
What is the question?
Please provide a more detailed description & example.
Cheers & hth.,
- Alf
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]