IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::GeneratorPromise< Value > Class Template Reference

#include <ice/task_generator.hxx>

Inheritance diagram for ice::GeneratorPromise< Value >:
ice::TaskPromiseBase

Public Member Functions

auto initial_suspend () const noexcept -> std::suspend_never
auto get_return_object () noexcept -> ice::Generator< Value >
template<typename Other = Value>
requires std::is_nothrow_move_assignable_v<Value> && std::is_nothrow_convertible_v<Other&&, Value>
auto yield_value (Other &&value) noexcept -> ice::suspend_always
template<typename Other = Value>
requires std::is_nothrow_copy_assignable_v<Value> && std::is_nothrow_convertible_v<Other&&, Value>
auto yield_value (Other const &value) noexcept -> ice::suspend_always
auto result () &noexcept -> Value &
auto result () &&noexcept -> Value &&
void return_void () noexcept
Public Member Functions inherited from ice::TaskPromiseBase
auto initial_suspend () const noexcept
auto final_suspend () const noexcept
auto set_continuation (ice::coroutine_handle<> coro) noexcept
auto continuation () const noexcept -> ice::coroutine_handle<>
void unhandled_exception () const noexcept
auto operator new (size_t size) noexcept -> void *
void operator delete (void *ptr) noexcept

Additional Inherited Members

Public Types inherited from ice::TaskPromiseBase
using TaskDebugAllocator = ice::detail::TaskDebugAllocator
Protected Member Functions inherited from ice::TaskPromiseBase
 TaskPromiseBase () noexcept=default

Member Function Documentation

◆ get_return_object()

template<typename Value>
auto ice::GeneratorPromise< Value >::get_return_object ( ) -> ice::Generator< Value >
inlinenoexcept

◆ initial_suspend()

template<typename Value>
auto ice::GeneratorPromise< Value >::initial_suspend ( ) const -> std::suspend_never
inlinenoexcept

◆ result() [1/2]

template<typename Value>
auto ice::GeneratorPromise< Value >::result ( ) && -> Value &&
inlinenoexcept

◆ result() [2/2]

template<typename Value>
auto ice::GeneratorPromise< Value >::result ( ) & -> Value &
inlinenoexcept

◆ return_void()

template<typename Value>
void ice::GeneratorPromise< Value >::return_void ( )
inlinenoexcept

◆ yield_value() [1/2]

template<typename Value>
template<typename Other = Value>
requires std::is_nothrow_move_assignable_v<Value> && std::is_nothrow_convertible_v<Other&&, Value>
auto ice::GeneratorPromise< Value >::yield_value ( Other && value) -> ice::suspend_always
inlinenoexcept

◆ yield_value() [2/2]

template<typename Value>
template<typename Other = Value>
requires std::is_nothrow_copy_assignable_v<Value> && std::is_nothrow_convertible_v<Other&&, Value>
auto ice::GeneratorPromise< Value >::yield_value ( Other const & value) -> ice::suspend_always
inlinenoexcept

The documentation for this class was generated from the following file: