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

General Requirements

Boost , Chapter 1. Range 2.0 , Range Adaptors

Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

В описании выражений генератора используется следующая запись:

  • fwdRngявляется выражением типаRЭти моделиВперед
  • биРнгявляется выражением типаR, который моделируетДвунаправленный диапазон
  • rndRngявляется выражением типаR, которое моделируетRandomAccessRange
  • predявляется выражением типа, который моделирует.UnaryPredicate
  • bi_predявляется выражением типа, который моделирует.Бинарное предсказание
  • весельеявляется выражением типа, который моделируетUnaryFunction
  • значение,новое_значениеистарое_значениеявляются объектами, конвертируемыми вповышение::диапазон_значение<R>::тип
  • n,mпредставляют собой целые выражения, конвертируемые вдиапазон_различие<R>::тип

Также обратите внимание, чтобустер::диапазон_значение<R>::типдолжен быть неявно конвертируемым в аргументы типаpred,bi_predиfun.

диапазон Категория в следующих описаниях адаптера относится к концепции минимального диапазона, требуемого диапазоном, переданным адаптеру. Результирующий диапазон представляет собой модель той же концепции диапазона, что и входной диапазон, если не указано иное.

Категория возвращенного диапазона является концепцией возвращенного диапазона. В некоторых случаях возвращаемый диапазон имеет меньшую категорию, чем диапазон, переданный адаптеру. Например,фильтрованныйадаптер возвращает только.Передняя частьнезависимо от входа.

Кроме того, к любому выражению формы применяются следующие правила:

rng | boost::adaptors::adaptor_generator

1. Применениеоператора|()к диапазонуR(всегда левый аргумент) и адаптеру диапазонаRA(всегда правильный аргумент) дает новый тип диапазона, который может не соответствовать той же концепции диапазона, что иR.

2. Тип возврата оператора| ()иначе не определен.

3.оператор|()найден Argument Dependent Lookup (ADL), потому что адаптер диапазона реализован в пространстве именбустер::адаптеры.

4.оператор|()используется для добавления нового поведенияленивои никогда не изменяет свой левый аргумент.

5.Все итераторы, извлеченные из левого аргумента, извлекаются с помощью квалифицированных вызовов наповышение::начало()иповышение::конец().

6. Кромеброска- пункты ниже,оператор|()может выбрасывать исключения в результате копирования итераторов. Если такое копирование не может привести к исключению, то не может быть и полного выражения.


PrevUpHomeNext

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




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



:: Главная :: Range Adaptors ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:28:16/0.0086801052093506/1