37 return Generator{std::coroutine_handle<promise_type>::from_promise(*
this)};
65 h_ = std::exchange(o.h_, {});
87 if (
auto e = h_.promise().exception) std::rethrow_exception(e);
94 const T&
operator*() const noexcept {
return h_.promise().current_value; }
95 const T*
operator->() const noexcept {
return &h_.promise().current_value; }
97 bool operator==(std::default_sentinel_t)
const noexcept {
return !h_ || h_.done(); }
104 if (
auto e = h_.promise().exception) std::rethrow_exception(e);
109 std::default_sentinel_t
end() noexcept {
return {}; }
Definition generator.hpp:72
Iterator() noexcept=default
T value_type
Definition generator.hpp:76
void operator++(int)
Definition generator.hpp:92
const T * operator->() const noexcept
Definition generator.hpp:95
const T & operator*() const noexcept
Definition generator.hpp:94
const T * pointer
Definition generator.hpp:79
const T & reference
Definition generator.hpp:78
Iterator & operator++()
Definition generator.hpp:84
std::ptrdiff_t difference_type
Definition generator.hpp:77
std::input_iterator_tag iterator_category
Definition generator.hpp:75
bool operator==(std::default_sentinel_t) const noexcept
Definition generator.hpp:97
Iterator begin()
Definition generator.hpp:100
std::default_sentinel_t end() noexcept
Definition generator.hpp:109
Generator & operator=(Generator &&o) noexcept
Definition generator.hpp:62
Generator(const Generator &)=delete
std::coroutine_handle< promise_type > handle_type
Definition generator.hpp:54
Generator(handle_type h) noexcept
Definition generator.hpp:57
Generator(Generator &&o) noexcept
Definition generator.hpp:61
~Generator()
Definition generator.hpp:69
Generator & operator=(const Generator &)=delete
Definition async_command.hpp:118
Definition generator.hpp:32
void return_void() noexcept
Definition generator.hpp:46
T current_value
Definition generator.hpp:33
std::exception_ptr exception
Definition generator.hpp:34
Generator get_return_object() noexcept
Definition generator.hpp:36
std::suspend_always final_suspend() noexcept
Definition generator.hpp:40
std::suspend_always yield_value(T value)
Definition generator.hpp:42
void unhandled_exception() noexcept
Definition generator.hpp:47
std::suspend_never await_transform(U &&)=delete
std::suspend_always initial_suspend() noexcept
Definition generator.hpp:39