Files
boost_fusion/include/boost/fusion/algorithm/query/count_if.hpp

43 lines
1.2 KiB
C++
Raw Normal View History

/*=============================================================================
2011-09-16 05:30:23 +00:00
Copyright (c) 2001-2011 Joel de Guzman
2007-06-02 21:48:14 +00:00
Copyright (c) 2007 Dan Marsden
2007-03-02 10:44:14 +00:00
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)
==============================================================================*/
2007-06-02 21:48:14 +00:00
#if !defined(BOOST_FUSION_COUNT_IF_09162005_0137)
#define BOOST_FUSION_COUNT_IF_09162005_0137
#include <boost/fusion/algorithm/query/detail/count_if.hpp>
2007-06-02 21:48:14 +00:00
#include <boost/fusion/support/category_of.hpp>
2012-07-05 04:40:37 +00:00
#include <boost/fusion/support/is_sequence.hpp>
#include <boost/utility/enable_if.hpp>
namespace boost { namespace fusion
{
namespace result_of
{
template <typename Sequence, typename F>
struct count_if
{
typedef int type;
};
}
template <typename Sequence, typename F>
2012-07-05 04:40:37 +00:00
inline
typename
enable_if<
traits::is_sequence<Sequence>
, int
>::type
count_if(Sequence const& seq, F f)
{
return detail::count_if(
2007-06-02 21:48:14 +00:00
seq, f, typename traits::category_of<Sequence>::type());
}
}}
#endif