template<
class SinglePassRange1,
class OutputIterator,
class UnaryOperation
>
OutputIterator transform(const SinglePassRange1& rng,
OutputIterator out,
UnaryOperation fun);
template<
class SinglePassRange1,
class SinglePassRange2,
class OutputIterator,
class BinaryOperation
>
OutputIterator transform(const SinglePassRange1& rng1,
const SinglePassRange2& rng2,
OutputIterator out,
BinaryOperation fun);
UnaryOperation version:
Преобразованиеприсваивает каждому элементу значениеy[из,изизРасстояние(rng)),y=весело(x)гдеxсоответствуетyвrng1. Возвратное значениеиз+расстояние(rng).
BinaryOperation version:
преобразованиеприсваивает значениеzкаждому элементу+расстояниернг1,расстояниернг2,=весело,х, гдехявляется соответствующим значением врнг1иуявляется соответствующим значением врнг1иу.. Этот вариантпреобразованияостанавливается при достижении либо концарнг1, либо концарнг2.. Следовательно, нет требования длярасстояниярнг1)==расстояниернг2, поскольку существует безопасное гарантированное поведение, в отличие от аналога итератора в стандартной библиотеке.
Возвратное значение составляет+минрасстояниернг1,расстояниернг2].
Defined in the header file boost/range/algorithm/transform.hpp
For the unary versions of transform:
SinglePassRange1является моделью. Концепт единого прохода.OutputIteratorявляется модельюOutputIteratorConcept.UnaryOperationявляется модельюUnaryFunctionConcept.Тип значения SinglePassRange1должен быть конвертируемым вУнарифункциятип аргумента.UnaryFunctionТип результата должен быть конвертируемым в типИтератор выводанабор типов значений.
For the binary versions of transform:
SinglePassRange1является моделью. Концепт единого прохода.SinglePassRange2является моделью. Концепт однопроходного диапазона.OutputIteratorявляется модельюOutputIteratorConcept.Бинарная операцияявляется модельюКонцепции бинарных операций.Тип значения SinglePassRange1должен быть конвертируемым вТип первого аргумента BinaryFunction.Тип значения SinglePassRange2должен быть конвертируемым вБинарная функциявторого типа аргумента.Тип результата бинарной операциидолжен быть конвертируемым в типИтератор выводанабор типов значений.
For the unary version of transform:
изне является итератором в диапазоненачинаютрнг1]+1,конецрнг1].[,+] является допустимым диапазоном.
For the binary version of transform:
изне является итератором в диапазоненачинаютрнг1]+1,конецрнг1].изне является итератором в пределахначинаютрнг2]+1,конецрнг2.,+]является допустимым диапазоном.
Линейный. Операция применяется точнорасстояниернг1)для унарной версии иминрасстояниернг1,расстояниернг2]для двоичной версии.