Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: count_if

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Algorithms / Querying Algorithms / count_if

count_if

Synopsis

template<
      typename Sequence
    , typename Pred
    >
struct count_if
{
    typedef unspecified type;
};

Description

Возвращает количество элементов в Sequence, которые удовлетворяют предикату Pred.

Parameters

Parameter Requirement Description
Следствие Иностранное последовательность Последовательность, которую необходимо изучить.
Представлено Unary Lambda Expression Сочетание.

Expression semantics

Для любого Forward Sequence s и unary Lambda Expression pred:

typedef count_if<s,pred>::type n;
Return type:

Integral Constant.

Semantics:

Equivalent to

typedef lambda<pred>::type p;
typedef fold<
      s
    , long_<0>
    , if_< apply_wrap1<p,_2>, next<_1>, _1 >
    >::type n;

Complexity

Linear. Ровно размер:: value приложения pred.

Example

typedef vector<int,char,long,short,char,long,double,long> types;
BOOST_MPL_ASSERT_RELATION( (count_if< types, is_float<_> >::value), ==, 1 );
BOOST_MPL_ASSERT_RELATION( (count_if< types, is_same<_,char> >::value), ==, 2 );
BOOST_MPL_ASSERT_RELATION( (count_if< types, is_same<_,void> >::value), ==, 0 );

Статья The MPL Reference Manual: count_if раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 22:27:25/0.0030679702758789/0