std::experimental::ranges:: prev
|
Определено в заголовке
<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 в зависимости от того, что наступит раньше, и возвращает уменьшенный итератор.
Содержание |
Объекты точек кастомизации
Имя
ranges::prev
обозначает
объект точки кастомизации
, который является
функциональным объектом
типа
литерального
Semiregular
класса (обозначаемого, для целей демонстрации, как
PrevT
). Все экземпляры
PrevT
равны. Таким образом,
ranges::prev
может свободно копироваться, и его копии могут использоваться взаимозаменяемо.
Для заданного набора типов
Args...
, если
std::
declval
<
Args
>
(
)
...
удовлетворяют требованиям к аргументам для
ranges::prev
выше,
PrevT
будет удовлетворять
ranges
::
Invocable
<
const
PrevT, Args...
>
. В противном случае ни один оператор вызова функции
PrevT
не участвует в разрешении перегрузки.
В каждой единице трансляции, где определен
ranges::prev
, он ссылается на тот же экземпляр объекта точки настройки. (Это означает, что его можно свободно использовать в таких конструкциях, как встроенные функции и шаблоны функций без нарушения
правила одного определения
.)
Возвращаемое значение
Декрементированный итератор.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++11)
|
уменьшает итератор
(шаблон функции) |
|
перемещает итератор на заданное расстояние
(шаблон функции) |
|
|
увеличивает итератор
(шаблон функции) |
|
|
возвращает расстояние между итератором и стражем, или между началом и концом диапазона
(шаблон функции) |