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

Functions

Boost , Chapter 1. Range 2.0 , Semantics

Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Выражение

Тип возврата

Возвращение

сложность

<begin(x)>

<range_iterator<X>::type>

<p.first>, если<p>является типом<std::pair<T>><a>если<a>является массивом<range_begin(x)>если это выражение вызовет функцию, найденную ADL<t.begin()>в противном случае

постоянное время

<end(x)>

<range_iterator<X>::type>

<p.second>, если<p>имеет тип<std::pair<T>><a +sz>, если<a>представляет собой массив размера<sz><range_end(x)>, если это выражение вызовет функцию, найденную ADL<t.end()>, иначе

постоянное время

<empty(x)>

<bool>

<boost::begin(x) ==boost::end(x)>

постоянное время

<distance(x)>

<range_difference<X>::type>

<std::distance(boost::begin(x),boost::end(x))>

-

<size(x)>

<range_size<X>::type>

<range_calculate_size(x)>, который по умолчанию<boost::end(x) -boost::begin(x)>. Пользователи могут поставлять альтернативные реализации, реализуя<range_calculate_size(x)>так, чтобы они были найдены через ADL

.

постоянное время

<rbegin(x)>

<range_reverse_iterator<X>::type>

<range_reverse_iterator<X>::type(boost::end(x))>

постоянное время

<rend(x)>

<range_reverse_iterator<X>::type>

<range_reverse_iterator<X>::type(boost::begin(x))>

постоянное время

<const_begin(x)>

<range_iterator<const X>::type>

<range_iterator<const X>::type(boost::begin(x))>

постоянное время

<const_end(x)>

<range_iterator<const X>::type>

<range_iterator<const X>::type(boost::end(x))>

постоянное время

<const_rbegin(x)>

<range_reverse_iterator<const X>::type>

<range_reverse_iterator<const X>::type(boost::rbegin(x))>

постоянное время

<const_rend(x)>

<range_reverse_iterator<const X>::type>

<range_reverse_iterator<const X>::type(boost::rend(x))>

постоянное время

<as_literal(x)>

<iterator_range<U>>, где<U><Char*>, если<x>является указателем на строку, а<U><range_iterator<X>::type>в противном случае

<[s,s +std::char_traits<X>::length(s))>, если<s>является<Char*>или массивом<Char><[boost::begin(x),boost::end(x))>В противном случае

линейное время для указателей на строку или массивы<Char>, постоянное время в противном случае

<as_array(x)>

<iterator_range<X>>

<[boost::begin(x),boost::end(x))>

Специальные функции<const_>полезны, когда вы хотите четко задокументировать, что ваш код только для чтения.

<as_literal()>может быть использованвнутреннев библиотеках алгоритмов строк, так что массивы символов обрабатываются правильно.

<as_array()>может использоваться с библиотеками струнных алгоритмов, чтобы дать понять, что массивы символов обрабатываются как массив, а не как строка.

Обратите внимание, что вышеупомянутые функции всегда должны быть вызваны с квалификацией<boost::>, чтобы предотвратитьнепреднамеренное.Аргумент зависимого поиска (ADL).


PrevUpHomeNext

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




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



:: Главная :: Semantics ::


реклама


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

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