![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: reverse_replace_ifBoost , ,
|
Front Page / Algorithms / Transformation Algorithms / reverse_replace_if |
template< typename Sequence , typename Pred , typename In = unspecified > struct reverse_replace_if { typedef unspecified type; };
Возвращает обратную копию исходной последовательности, где каждый тип, удовлетворяющий предикатуPred, был замененNewType..
[править]Примечание:Эта формулировка применяется к неинсертерной версии алгоритма. См. подразделСемантика экспрессиидля точного описания деталей алгоритма во всех случаях —
#include <boost/mpl/replace_if.hpp>
Parameter | Requirement | Description |
---|---|---|
Последовательность | Последовательность | Оригинальная последовательность. |
Пред | УнариЛямбда-выражение | Заменяющее условие. |
Новый тип | Любой тип | Тип для замены. |
В | Вставить | Вставка. |
Семантика выражения определяется только там, где она отличается от семантики выражения или не определена в. Обратимый алгоритм.
Для любойПередовой Последовательностиs, унарногоLambda Expressionpred,Inserterв, и произвольного типаx:
typedef reverse_replace_if<s,pred,x,in>::type r;
Return type: | A type. |
---|---|
Semantics: | Equivalent to typedef lambda<pred>::type p; typedef reverse_transform< s, if_< apply_wrap1<p,_1>,x,_1>, in >::type r; |
Линейный. Выполняет ровноразмер::valueприложенияpred, и самое большееразмер::valueвставки.
typedef vector_c<int,1,4,5,2,7,5,3,5> numbers; typedef vector_c<int,1,4,0,2,0,0,3,0> expected; typedef reverse_replace_if< numbers , greater< _, int_<4> > , int_<0> , front_inserter< vector<> > >::type result; BOOST_MPL_ASSERT(( equal< result,expected, equal_to<_,_> > ));
Статья The MPL Reference Manual: reverse_replace_if раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |