Какой лучший способ подсчитать все элементы в итераторе?
Я хочу код, эквивалентный этому
template<typename T,typename S,S val>
struct ConstantFunctor : unary_function<T,S>
{S operator()(const T&) const {return val;}};
template<typename T>
struct TrueFunctor : ConstantFunctor<T,bool,true>{};
...
count_if(c.begin(),c.end(),TrueFunctor());
Какой лучший способ сделать это?
Я могу использовать boost::lambda::constant(true)
, но, может быть, есть что-то более ясное.