|
Container System 0.1.0
High-performance C++20 type-safe container framework with SIMD-accelerated serialization
|
Forward declaration of generator. More...
#include <generator.h>

Classes | |
| class | iterator |
| Iterator for generator. More... | |
Public Types | |
| using | promise_type = detail::generator_promise<T> |
| using | handle_type = std::coroutine_handle<promise_type> |
| using | value_type = std::remove_reference_t<T> |
| using | reference = std::conditional_t<std::is_reference_v<T>, T, T&> |
| using | pointer = value_type* |
Public Member Functions | |
| generator () noexcept | |
| Default constructor - creates empty generator. | |
| generator (handle_type handle) noexcept | |
| Construct from coroutine handle. | |
| generator (generator &&other) noexcept | |
| Move constructor. | |
| generator & | operator= (generator &&other) noexcept |
| Move assignment operator. | |
| ~generator () | |
| Destructor - destroys the coroutine if owned. | |
| generator (const generator &)=delete | |
| generator & | operator= (const generator &)=delete |
| bool | valid () const noexcept |
| Check if generator is valid. | |
| operator bool () const noexcept | |
| Check if generator is valid. | |
| iterator | begin () |
| Get iterator to beginning. | |
| std::default_sentinel_t | end () noexcept |
| Get sentinel for end. | |
Private Attributes | |
| handle_type | handle_ |
Forward declaration of generator.
Coroutine generator for lazy sequence generation.
A generator is a coroutine that can produce a sequence of values lazily using co_yield. Each value is produced on-demand when the iterator is advanced.
Properties:
| T | The type of values produced by the generator |
Definition at line 150 of file generator.h.
| using kcenon::container::async::generator< T >::handle_type = std::coroutine_handle<promise_type> |
Definition at line 154 of file generator.h.
| using kcenon::container::async::generator< T >::pointer = value_type* |
Definition at line 157 of file generator.h.
| using kcenon::container::async::generator< T >::promise_type = detail::generator_promise<T> |
Definition at line 153 of file generator.h.
| using kcenon::container::async::generator< T >::reference = std::conditional_t<std::is_reference_v<T>, T, T&> |
Definition at line 156 of file generator.h.
| using kcenon::container::async::generator< T >::value_type = std::remove_reference_t<T> |
Definition at line 155 of file generator.h.
|
inlinenoexcept |
|
inlineexplicitnoexcept |
Construct from coroutine handle.
Definition at line 246 of file generator.h.
|
inlinenoexcept |
|
inline |
Destructor - destroys the coroutine if owned.
Definition at line 273 of file generator.h.
References kcenon::container::async::generator< T >::handle_.
|
delete |
|
inlinenodiscard |
Get iterator to beginning.
Resumes the coroutine to get the first value
Definition at line 306 of file generator.h.
References kcenon::container::async::generator< T >::handle_.
|
inlinenodiscardnoexcept |
|
inlineexplicitnodiscardnoexcept |
Check if generator is valid.
Definition at line 296 of file generator.h.
References kcenon::container::async::generator< T >::valid().

|
delete |
|
inlinenoexcept |
Move assignment operator.
Definition at line 257 of file generator.h.
References kcenon::container::async::generator< T >::handle_.
|
inlinenodiscardnoexcept |
Check if generator is valid.
Definition at line 288 of file generator.h.
References kcenon::container::async::generator< T >::handle_.
Referenced by kcenon::container::async::generator< T >::operator bool().

|
private |
Definition at line 328 of file generator.h.
Referenced by kcenon::container::async::generator< T >::begin(), kcenon::container::async::generator< T >::operator=(), kcenon::container::async::generator< T >::valid(), and kcenon::container::async::generator< T >::~generator().