![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Terminology and style guidelinesBoost , Chapter 1. Range 2.0 , Chapter 1. Range 2.0
Использование последовательной терминологии так же важно для Ranges и алгоритмов на основе диапазона, как для итераторов и алгоритмов на основе итератора. Если принимается обычный набор имен, мы можем избежать недоразумений и написать типовые прототипы функций, которые являются самодокументирование. Поскольку диапазоны характеризуются определенным типом итератора, мы получаем тип диапазона для каждого типа итератора. Таким образом, мы можем говорить о следующих типах диапазонов:
Обратите внимание, как мы использовали категории из нового стиля итераторов. Обратите внимание, что итератор (и, следовательно, диапазон) имеет один Траверсал собственность и одно или несколько свойств из категории доступ к стоимости. Так что на самом деле мы будем в основном говорить о таких смесях, как
По соглашению, мы всегда должны указать Траверсал собственность сначала как сделано выше. Это кажется разумным, так как будет только один траверсальный собственность, но, возможно, многие доступ к стоимости свойства. Однако было бы разумно указать только одну категорию, если другая категория не имеет значения. Например, В качестве другого примера рассмотрим, как мы укажем интерфейс template< class RandomAccessTraversalReadableWritableIterator > void sort( RandomAccessTraversalReadableWritableIterator first, RandomAccessTraversalReadableWritableIterator last ); Для диапазонов становится интерфейс template< class RandomAccessReadableWritableRange > void sort( RandomAccessReadableWritableRange& r ); Статья Terminology and style guidelines раздела Chapter 1. Range 2.0 Chapter 1. Range 2.0 может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Chapter 1. Range 2.0 ::
|
||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |