std:: generator<Ref,V,Allocator>:: iterator
|
class
/*iterator*/
;
|
( только для демонстрации* ) | |
Тип возвращаемого значения
generator::begin
. Моделирует
indirectly_readable
и
input_iterator
.
Содержание |
Типы членов
| Тип члена | Определение |
value_type
|
std::generator::value
|
difference_type
|
std::ptrdiff_t |
Члены данных
| Участник | Описание |
std::
coroutine_handle
<
std
::
generator
::
promise_type
>
coroutine_
|
Дескриптор сопрограммы
( объект-член только для демонстрации* ) |
Функции-члены
|
создает итератор
(публичная функция-член) |
|
|
присваивает другой итератор
(публичная функция-член) |
|
|
возвращает базовое значение
(публичная функция-член) |
|
|
продвигает итератор
(публичная функция-член) |
std::generator:: iterator :: iterator
|
/*iterator*/
(
/*iterator*/
&&
other
)
noexcept
;
|
(since C++23) | |
Инициализирует
coroutine_
с помощью
std::
exchange
(
other.
coroutine_
,
{
}
)
;
.
std::generator:: iterator :: operator=
|
/*iterator*/
&
operator
=
(
/*iterator*/
&&
other
)
noexcept
;
|
(since C++23) | |
Эквивалентно coroutine_ = std:: exchange ( other. coroutine_ , { } ) ; .
Возвращает: * this .
std::generator:: iterator :: operator*
|
reference operator
*
(
)
const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ; |
(начиная с C++23) | |
-
Пусть
referenceбудет базовым типомstd::generator. -
Пусть для некоторого объекта генератора
x
его
coroutine_находится в стеке * x. active_ . - Пусть x. active_ - > top ( ) ссылается на приостановленную сопрограмму с объектом промиса p .
Эквивалентно return static_cast < reference > ( * p. value_ ) ; .
std::generator:: iterator :: operator++
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (since C++23) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (since C++23) |
Функции, не являющиеся членами класса
|
(C++23)
|
сравнивает базовый итератор с сигнальным значением
(функция) |
operator== (std::generator:: iterator )
|
friend
bool
operator
==
(
const
/*iterator*/
&
i,
std::
default_sentinel_t
)
;
|
(since C++23) | |
Эквивалентно return i. coroutine_ . done ( ) ; .
Оператор
!=
синтезируется
из
operator==
.
Эта функция не видна при обычном
неквалифицированном
или
квалифицированном поиске
и может быть найдена только через
поиск, зависимый от аргументов
, когда
std::generator::
iterator
является ассоциированным классом аргументов.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |