/*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005 Eric Niebler Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include #include #include #include #include #include #include int main() { { boost::fusion::vector t(1, 2, 3.3); BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 2) == 1); } { boost::fusion::vector t(1, 2, 3.3); BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 3) == 0); } { typedef boost::mpl::vector_c mpl_vec; // Cannot use lambda here as mpl iterators return rvalues and lambda needs lvalues BOOST_TEST(boost::fusion::count_if(mpl_vec(), std::bind2nd(std::less_equal(), 2)) == 2); BOOST_TEST(boost::fusion::count_if(mpl_vec(), std::bind2nd(std::greater(), 2)) == 1); } return boost::report_errors(); }