Namespaces
Variants

std::experimental::ranges:: prev

From cppreference.net
Определено в заголовке <experimental/ranges/iterator>
namespace {

constexpr /* unspecified */ prev = /* unspecified */ ;

}
(ranges TS)
(объект точки настройки)
Сигнатура вызова
template < Iterator I >
constexpr I prev ( I i ) ;
(1)
template < Iterator I >
constexpr I prev ( I i, ranges :: difference_type_t < I > n ) ;
(2)
template < Iterator I >
constexpr I prev ( I i, ranges :: difference_type_t < I > n, I bound ) ;
(3)

Уменьшает итератор i n раз или до достижения bound в зависимости от того, что наступит раньше, и возвращает уменьшенный итератор.

1) Эквивалентно -- i ; return i ; .
2) Эквивалентно ranges:: advance ( i, - n ) ; return i ; .
3) Эквивалентно ranges:: advance ( i, - n, bound ) ; return i ; .

Содержание

Объекты точек кастомизации

Имя ranges::prev обозначает объект точки кастомизации , который является функциональным объектом типа литерального Semiregular класса (обозначаемого, для целей демонстрации, как PrevT ). Все экземпляры PrevT равны. Таким образом, ranges::prev может свободно копироваться, и его копии могут использоваться взаимозаменяемо.

Для заданного набора типов Args... , если std:: declval < Args > ( ) ... удовлетворяют требованиям к аргументам для ranges::prev выше, PrevT будет удовлетворять ranges :: Invocable < const PrevT, Args... > . В противном случае ни один оператор вызова функции PrevT не участвует в разрешении перегрузки.

В каждой единице трансляции, где определен ranges::prev , он ссылается на тот же экземпляр объекта точки настройки. (Это означает, что его можно свободно использовать в таких конструкциях, как встроенные функции и шаблоны функций без нарушения правила одного определения .)

Возвращаемое значение

Декрементированный итератор.

Пример

Смотрите также

(C++11)
уменьшает итератор
(шаблон функции)
перемещает итератор на заданное расстояние
(шаблон функции)
увеличивает итератор
(шаблон функции)
возвращает расстояние между итератором и стражем, или между началом и концом диапазона
(шаблон функции)