[range] Best way to count the elements in a filtered range?

I wonder what is the recommended way to count the elements in a filtered range. Let range be a random access range, and filter the result of filtered(predicate), auto filtered_range = range | filter; count_if( filtered_range, [](const&){ return true; }); // (& omitted in lambda) counts the elements in a filtered range. _If_ this is the best way to count the elements in a filtered range, what about defining Range boost::count(Range&& r); to count all element in the range? It could call size() if available and count_if otherwise. Bests, Gonzalo BG

On 19 June 2013 11:41, Gonzalo BG <gonzalobg88@gmail.com> wrote:
I think boost::size() is what you want. size_t s = boost::size(range | filter); See: http://www.boost.org/doc/libs/1_53_0/boost/range/size.hpp -- Darren
participants (3)
-
Darren Garvey
-
Gonzalo BG
-
Gonzalo Brito Gadeschi