![]() |
![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: InserterBoost , ,
|
| Front Page / Algorithms / Concepts / Inserter |
Inserter является заменой STL Output Iterator. Под капотом это просто тип, содержащий две сущности: состояние и операцию . При переходе к алгоритму преобразования , двоичная операция вставки вызывается для каждого элемента, который обычно записывается в итератор вывода, с самим элементом (как второй аргумент) и результатом вызова предыдущей операции - или, для самого первого элемента, начальное состояние вставки.
Технически, вместо того, чтобы принимать один параметр вставки, алгоритмы преобразования могут принимать состояние и операцию "выход" отдельно. Однако группирование их в единый параметр приближает алгоритмы семантически и синтаксически к их аналогам STL, что значительно упрощает многие распространенные варианты использования.
В следующей таблице и последующих спецификациях in является моделью Inserter.
| Expression | Type |
|---|---|
| in::state | Любой тип |
| в::операция | Бинарный Lambda Expression |
| Expression | Semantics |
|---|---|
| in::state | Начальное состояние вставки. |
| в::операция | Операция вставки "output". |
typedef transform< range_c<int,0,10> , plus<_1,_1> , back_inserter< vector0<> > >::type result;
Статья The MPL Reference Manual: Inserter раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |