Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

transform

Boost , Chapter 1. Range 2.0 , Mutating algorithms

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext
Prototype

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);

Description

UnaryOperation version:

Преобразованиеприсваивает каждому элементу значениеy[из,изизРасстояние(rng)),y=весело(x)гдеxсоответствуетyвrng1. Возвратное значениеиз+расстояние(rng).

BinaryOperation version:

преобразованиеприсваивает значениеzкаждому элементу+расстояниернг1,расстояниернг2,=весело,х, гдехявляется соответствующим значением врнг1иуявляется соответствующим значением врнг1иу.. Этот вариантпреобразованияостанавливается при достижении либо концарнг1, либо концарнг2.. Следовательно, нет требования длярасстояниярнг1)==расстояниернг2, поскольку существует безопасное гарантированное поведение, в отличие от аналога итератора в стандартной библиотеке.

Возвратное значение составляет+минрасстояниернг1,расстояниернг2].

Definition

Defined in the header file boost/range/algorithm/transform.hpp

Requirements

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должен быть конвертируемым вБинарная функциявторого типа аргумента.
  • Тип результата бинарной операциидолжен быть конвертируемым в типИтератор выводанабор типов значений.
Precondition:

For the unary version of transform:

  • изне является итератором в диапазоненачинаютрнг1]+1,конецрнг1].
  • [,+] является допустимым диапазоном.

For the binary version of transform:

  • изне является итератором в диапазоненачинаютрнг1]+1,конецрнг1].
  • изне является итератором в пределахначинаютрнг2]+1,конецрнг2.
  • ,+]является допустимым диапазоном.
Complexity

Линейный. Операция применяется точнорасстояниернг1)для унарной версии иминрасстояниернг1,расстояниернг2]для двоичной версии.


PrevUpHomeNext

Статья transform раздела Chapter 1. Range 2.0 Mutating algorithms может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Mutating algorithms ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 05:28:26/0.0040209293365479/0