std::generator<Ref,V,Allocator>::generator
From cppreference.com
C++
Utilities library
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coroutine support
| Coroutine traits | ||||
|
(C++20)
|
||||
| Coroutine handle | ||||
|
(C++20)
|
||||
| No-op coroutines | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Trivial awaitables | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Range generators | ||||
|
(C++23)
|
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|||||||||||||||||
std::generator
| Member functions | ||||
generator::generator | ||||
| promise_type | ||||
| Iterator | ||||
|
generator( const generator& ) = delete;
|
(1) | (since C++23) |
generator( generator&& other ) noexcept; |
(2) | (since C++23) |
Constructs a generator.
1) The copy-constructor is deleted.
2) The move-constructor that initializes the underlying
coroutine_ with
std::exchange
(other.coroutine_, {
}
)
, and the underlying stack of coroutine handles (active_) with
std::exchange
(other.active_, nullptr)
.
Note, that the iterators, previously obtained from other, are not invalidated, but become iterators into *this
Parameters
| other | - | a generator object to be moved in |
Example
| This section is incomplete Reason: no example |