Fleet  0.0.9
Inference in the LOT
Public Types | Public Member Functions | List of all members
cppcoro::detail::generator_promise< T > Class Template Reference

#include <generator.hpp>

Public Types

using value_type = std::remove_reference_t< T >
 
using reference_type = std::conditional_t< std::is_reference_v< T >, T, T & >
 
using pointer_type = value_type *
 

Public Member Functions

 generator_promise ()=default
 
generator< T > get_return_object () noexcept
 
constexpr std::suspend_always initial_suspend () const noexcept
 
constexpr std::suspend_always final_suspend () const noexcept
 
template<typename U = T, std::enable_if_t<!std::is_rvalue_reference< U >::value, int > = 0>
std::suspend_always yield_value (std::remove_reference_t< T > &value) noexcept
 
std::suspend_always yield_value (std::remove_reference_t< T > &&value) noexcept
 
void unhandled_exception ()
 
void return_void ()
 
reference_type value () const noexcept
 
template<typename U >
std::suspend_never await_transform (U &&value)=delete
 
void rethrow_if_exception ()
 

Member Typedef Documentation

◆ pointer_type

template<typename T>
using cppcoro::detail::generator_promise< T >::pointer_type = value_type*

◆ reference_type

template<typename T>
using cppcoro::detail::generator_promise< T >::reference_type = std::conditional_t<std::is_reference_v<T>, T, T&>

◆ value_type

template<typename T>
using cppcoro::detail::generator_promise< T >::value_type = std::remove_reference_t<T>

Constructor & Destructor Documentation

◆ generator_promise()

template<typename T>
cppcoro::detail::generator_promise< T >::generator_promise ( )
default

Member Function Documentation

◆ await_transform()

template<typename T>
template<typename U >
std::suspend_never cppcoro::detail::generator_promise< T >::await_transform ( U &&  value)
delete

◆ final_suspend()

template<typename T>
constexpr std::suspend_always cppcoro::detail::generator_promise< T >::final_suspend ( ) const
inlinenoexcept

◆ get_return_object()

template<typename T >
generator< T > cppcoro::detail::generator_promise< T >::get_return_object ( )
noexcept

◆ initial_suspend()

template<typename T>
constexpr std::suspend_always cppcoro::detail::generator_promise< T >::initial_suspend ( ) const
inlinenoexcept

◆ rethrow_if_exception()

template<typename T>
void cppcoro::detail::generator_promise< T >::rethrow_if_exception ( )
inline

◆ return_void()

template<typename T>
void cppcoro::detail::generator_promise< T >::return_void ( )
inline

◆ unhandled_exception()

template<typename T>
void cppcoro::detail::generator_promise< T >::unhandled_exception ( )
inline

◆ value()

template<typename T>
reference_type cppcoro::detail::generator_promise< T >::value ( ) const
inlinenoexcept

◆ yield_value() [1/2]

template<typename T>
template<typename U = T, std::enable_if_t<!std::is_rvalue_reference< U >::value, int > = 0>
std::suspend_always cppcoro::detail::generator_promise< T >::yield_value ( std::remove_reference_t< T > &  value)
inlinenoexcept

◆ yield_value() [2/2]

template<typename T>
std::suspend_always cppcoro::detail::generator_promise< T >::yield_value ( std::remove_reference_t< T > &&  value)
inlinenoexcept

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