![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: reverse_uniqueBoost , ,
|
Front Page / Algorithms / Transformation Algorithms / reverse_unique |
template< typename Seq , typename Pred , typename In = unspecified > struct reverse_unique { typedef unspecified type; };
Возвращает последовательность начальных элементов каждого поддиапазона обратной исходной последовательностиСек, элементы которой все одинаковы.
[править]Примечание:Данная формулировка применяется к неинсертерной версии алгоритма. См. подразделСемантика экспрессиидля точного описания деталей алгоритма во всех случаях —
#include <boost/mpl/unique.hpp>
Parameter | Requirement | Description |
---|---|---|
Последовательность | Последовательность | Оригинальная последовательность. |
Пред | БинарноеЛамбда-выражение | Отношение эквивалентности. |
В | Вставить | Вставка. |
Семантика выражения определяется только там, где она отличается от семантики выражения или не определена в. Обратимый алгоритм.
Для любойпередовой последовательностиs, двоичнойлямбда-выраженияпред, ивставкав:
typedef reverse_unique<s,pred,in>::type r;
Return type: | A type. |
---|---|
Semantics: | If size<s>::value <= 1, then equivalent to typedef reverse_copy<s,in>::type r; иным эквивалентом typedef lambda<pred>::type p; typedef lambda<in::operation>::type in_op; typedef apply_wrap2< in_op , in::state , front<types>::type >::type in_state; typedef reverse_fold< s , pair< in_state, front<s>::type > , eval_if< apply_wrap2<p, second<_1>, _2> , identity< first<_1> > , apply_wrap2<in_op, first<_1>, _2> > >::type::first r; |
Линейный. Выполняет ровноразмер::value-1приложенияпред, и самое большееразмер::valueвставки.
typedef vector<int,float,float,char,int,int,int,double> types; typedef vector<double,int,char,float,int> expected; typedef reverse_unique< types, is_same<_1,_2> >::type result; BOOST_MPL_ASSERT(( equal< result,expected > ));
Статья The MPL Reference Manual: reverse_unique раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |