![]() |
![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: reverse_replaceBoost , ,
|
|||||||||||||||||||||||||||
| Front Page / Algorithms / Transformation Algorithms / reverse_replace |
template<
typename Sequence
, typename OldType
, typename NewType
, typename In = unspecified
>
struct reverse_replace
{
typedef unspecified type;
};
Возвращает обратную копию исходной последовательности, где каждый тип, идентичный OldType, был заменен NewType.
[Примечание:<1] Эта формулировка применяется к версии (версиям) алгоритма без вставки. См. подраздел Семантика выражений для точной спецификации деталей алгоритма во всех случаях — конечное примечание
#include <boost/mpl/replace.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| Последовательность | Вперед последовательность | Оригинальная последовательность. |
| OldType<3 | Любой тип | Тип, который необходимо заменить. |
| NewType | Любой тип | Тип для замены. |
| В | Вставка | Вставка. |
Семантика выражения определяется только там, где она отличается от или не определена в Обратимый алгоритм.
Для любой Forward Sequence, Inserterin и произвольных типов x и y:
typedef reverse_replace<s,x,y,in>::type r;
| Return type: | A type. |
|---|---|
| Semantics: | Equivalent to typedef reverse_replace_if< s,y,is_same<_,x>,in >::type r; |
Линейный. Выполняет точно size::value сравнения для идентичности/вставки.
typedef vector<int,float,char,float,float,double> types; typedef vector<double,double,double,char,double,int> expected; typedef reverse_replace< types,float,double >::type result; BOOST_MPL_ASSERT(( equal< result,expected > ));
| ) |
Статья The MPL Reference Manual: reverse_replace раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |