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