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