Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
sol::basic_coroutine< Reference > Class Template Reference

#include <forward.hpp>

Public Member Functions

 basic_coroutine ()=default
 
 basic_coroutine (basic_coroutine &&other) noexcept
 
 basic_coroutine (basic_function< base_t > &&b) noexcept
 
 basic_coroutine (basic_function< base_t > &&b, handler_t eh) noexcept
 
 basic_coroutine (const basic_coroutine &other)=default
 
 basic_coroutine (const basic_function< base_t > &b) noexcept
 
 basic_coroutine (const basic_function< base_t > &b, handler_t eh) noexcept
 
template<typename Super >
 basic_coroutine (const proxy_base< Super > &p)
 
 basic_coroutine (const stack_reference &r) noexcept
 
 basic_coroutine (const stack_reference &r, handler_t eh) noexcept
 
 basic_coroutine (lua_nil_t n)
 
 basic_coroutine (lua_State *L, absolute_index index)
 
 basic_coroutine (lua_State *L, absolute_index index, handler_t eh)
 
 basic_coroutine (lua_State *L, int index, handler_t eh)
 
 basic_coroutine (lua_State *L, int index=-1)
 
 basic_coroutine (lua_State *L, raw_index index)
 
 basic_coroutine (lua_State *L, raw_index index, handler_t eh)
 
 basic_coroutine (lua_State *L, ref_index index)
 
 basic_coroutine (lua_State *L, ref_index index, handler_t eh)
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_coroutine (lua_State *L, T &&r) noexcept
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_coroutine (lua_State *L, T &&r, handler_t eh)
 
template<typename Proxy , typename HandlerReference , meta::enable< std::is_base_of< proxy_base_tag, meta::unqualified_t< Proxy >>, meta::neg< is_lua_index< meta::unqualified_t< HandlerReference >>>> = meta::enabler>
 basic_coroutine (Proxy &&p, HandlerReference &&eh)
 
template<typename Super >
 basic_coroutine (proxy_base< Super > &&p)
 
 basic_coroutine (stack_reference &&r) noexcept
 
 basic_coroutine (stack_reference &&r, handler_t eh) noexcept
 
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_coroutine >>, meta::neg< std::is_base_of< proxy_base_tag, meta::unqualified_t< T >>>, meta::neg< std::is_same< base_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_coroutine (T &&r) noexcept
 
template<typename... Ret, typename... Args>
decltype(auto) call (Args &&... args)
 
bool error () const noexcept
 
 operator bool () const noexcept
 
template<typename... Args>
protected_function_result operator() (Args &&... args)
 
template<typename... Ret, typename... Args>
decltype(auto) operator() (types< Ret... >, Args &&... args)
 
basic_coroutineoperator= (basic_coroutine &&other) noexcept
 
basic_coroutineoperator= (const basic_coroutine &)=default
 
bool runnable () const noexcept
 
call_status status () const noexcept
 

Private Types

using base_t = basic_object< Reference >
 
using handler_t = reference
 

Private Member Functions

template<std::size_t I, typename Ret >
Ret invoke (types< Ret >, std::index_sequence< I >, std::ptrdiff_t n)
 
template<std::size_t... I, typename... Ret>
auto invoke (types< Ret... >, std::index_sequence< I... >, std::ptrdiff_t n)
 
template<std::size_t I>
void invoke (types< void >, std::index_sequence< I >, std::ptrdiff_t n)
 
protected_function_result invoke (types<>, std::index_sequence<>, std::ptrdiff_t n)
 
void luacall (std::ptrdiff_t argcount, std::ptrdiff_t)
 

Private Attributes

handler_t m_error_handler
 
call_status stats = call_status::yielded
 

Detailed Description

template<typename Reference>
class sol::basic_coroutine< Reference >

Definition at line 1203 of file forward.hpp.

Member Typedef Documentation

◆ base_t

template<typename Reference >
using sol::basic_coroutine< Reference >::base_t = basic_object<Reference>
private

Definition at line 28276 of file sol.hpp.

◆ handler_t

template<typename Reference >
using sol::basic_coroutine< Reference >::handler_t = reference
private

Definition at line 28277 of file sol.hpp.

Constructor & Destructor Documentation

◆ basic_coroutine() [1/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( )
default

◆ basic_coroutine() [2/26]

template<typename Reference >
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_coroutine >>, meta::neg< std::is_base_of< proxy_base_tag, meta::unqualified_t< T >>>, meta::neg< std::is_same< base_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_coroutine< Reference >::basic_coroutine ( T &&  r)
inlinenoexcept

Definition at line 28333 of file sol.hpp.

◆ basic_coroutine() [3/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( const basic_coroutine< Reference > &  other)
default

◆ basic_coroutine() [4/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( basic_coroutine< Reference > &&  other)
inlinenoexcept

Definition at line 28347 of file sol.hpp.

◆ basic_coroutine() [5/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( const basic_function< base_t > &  b)
inlinenoexcept

Definition at line 28357 of file sol.hpp.

◆ basic_coroutine() [6/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( basic_function< base_t > &&  b)
inlinenoexcept

Definition at line 28360 of file sol.hpp.

◆ basic_coroutine() [7/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( const basic_function< base_t > &  b,
handler_t  eh 
)
inlinenoexcept

Definition at line 28363 of file sol.hpp.

◆ basic_coroutine() [8/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( basic_function< base_t > &&  b,
handler_t  eh 
)
inlinenoexcept

Definition at line 28365 of file sol.hpp.

◆ basic_coroutine() [9/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( const stack_reference r)
inlinenoexcept

Definition at line 28367 of file sol.hpp.

◆ basic_coroutine() [10/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( stack_reference &&  r)
inlinenoexcept

Definition at line 28370 of file sol.hpp.

◆ basic_coroutine() [11/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( const stack_reference r,
handler_t  eh 
)
inlinenoexcept

Definition at line 28373 of file sol.hpp.

◆ basic_coroutine() [12/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( stack_reference &&  r,
handler_t  eh 
)
inlinenoexcept

Definition at line 28375 of file sol.hpp.

◆ basic_coroutine() [13/26]

template<typename Reference >
template<typename Super >
sol::basic_coroutine< Reference >::basic_coroutine ( const proxy_base< Super > &  p)
inline

Definition at line 28379 of file sol.hpp.

◆ basic_coroutine() [14/26]

template<typename Reference >
template<typename Super >
sol::basic_coroutine< Reference >::basic_coroutine ( proxy_base< Super > &&  p)
inline

Definition at line 28383 of file sol.hpp.

◆ basic_coroutine() [15/26]

template<typename Reference >
template<typename Proxy , typename HandlerReference , meta::enable< std::is_base_of< proxy_base_tag, meta::unqualified_t< Proxy >>, meta::neg< is_lua_index< meta::unqualified_t< HandlerReference >>>> = meta::enabler>
sol::basic_coroutine< Reference >::basic_coroutine ( Proxy &&  p,
HandlerReference &&  eh 
)
inline

Definition at line 28389 of file sol.hpp.

◆ basic_coroutine() [16/26]

template<typename Reference >
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
T &&  r 
)
inlinenoexcept

Definition at line 28393 of file sol.hpp.

◆ basic_coroutine() [17/26]

template<typename Reference >
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
T &&  r,
handler_t  eh 
)
inline

Definition at line 28397 of file sol.hpp.

◆ basic_coroutine() [18/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_nil_t  n)
inline

Definition at line 28405 of file sol.hpp.

◆ basic_coroutine() [19/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
int  index = -1 
)
inline

Definition at line 28408 of file sol.hpp.

◆ basic_coroutine() [20/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
int  index,
handler_t  eh 
)
inline

Definition at line 28411 of file sol.hpp.

◆ basic_coroutine() [21/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
absolute_index  index 
)
inline

Definition at line 28417 of file sol.hpp.

◆ basic_coroutine() [22/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
absolute_index  index,
handler_t  eh 
)
inline

Definition at line 28420 of file sol.hpp.

◆ basic_coroutine() [23/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
raw_index  index 
)
inline

Definition at line 28426 of file sol.hpp.

◆ basic_coroutine() [24/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
raw_index  index,
handler_t  eh 
)
inline

Definition at line 28429 of file sol.hpp.

◆ basic_coroutine() [25/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
ref_index  index 
)
inline

Definition at line 28435 of file sol.hpp.

◆ basic_coroutine() [26/26]

template<typename Reference >
sol::basic_coroutine< Reference >::basic_coroutine ( lua_State L,
ref_index  index,
handler_t  eh 
)
inline

Definition at line 28438 of file sol.hpp.

Member Function Documentation

◆ call()

template<typename Reference >
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_coroutine< Reference >::call ( Args &&...  args)
inline

Definition at line 28474 of file sol.hpp.

◆ error()

template<typename Reference >
bool sol::basic_coroutine< Reference >::error ( ) const
inlinenoexcept

Definition at line 28450 of file sol.hpp.

◆ invoke() [1/4]

template<typename Reference >
template<std::size_t I, typename Ret >
Ret sol::basic_coroutine< Reference >::invoke ( types< Ret >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n 
)
inlineprivate

Definition at line 28298 of file sol.hpp.

◆ invoke() [2/4]

template<typename Reference >
template<std::size_t... I, typename... Ret>
auto sol::basic_coroutine< Reference >::invoke ( types< Ret... >  ,
std::index_sequence< I... >  ,
std::ptrdiff_t  n 
)
inlineprivate

Definition at line 28292 of file sol.hpp.

◆ invoke() [3/4]

template<typename Reference >
template<std::size_t I>
void sol::basic_coroutine< Reference >::invoke ( types< void >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n 
)
inlineprivate

Definition at line 28304 of file sol.hpp.

◆ invoke() [4/4]

template<typename Reference >
protected_function_result sol::basic_coroutine< Reference >::invoke ( types<>  ,
std::index_sequence<>  ,
std::ptrdiff_t  n 
)
inlineprivate

Definition at line 28308 of file sol.hpp.

◆ luacall()

template<typename Reference >
void sol::basic_coroutine< Reference >::luacall ( std::ptrdiff_t  argcount,
std::ptrdiff_t   
)
inlineprivate

Definition at line 28282 of file sol.hpp.

◆ operator bool()

template<typename Reference >
sol::basic_coroutine< Reference >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 28459 of file sol.hpp.

◆ operator()() [1/2]

template<typename Reference >
template<typename... Args>
protected_function_result sol::basic_coroutine< Reference >::operator() ( Args &&...  args)
inline

Definition at line 28464 of file sol.hpp.

◆ operator()() [2/2]

template<typename Reference >
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_coroutine< Reference >::operator() ( types< Ret... >  ,
Args &&...  args 
)
inline

Definition at line 28469 of file sol.hpp.

◆ operator=() [1/2]

template<typename Reference >
basic_coroutine& sol::basic_coroutine< Reference >::operator= ( basic_coroutine< Reference > &&  other)
inlinenoexcept

Definition at line 28350 of file sol.hpp.

◆ operator=() [2/2]

template<typename Reference >
basic_coroutine& sol::basic_coroutine< Reference >::operator= ( const basic_coroutine< Reference > &  )
default

◆ runnable()

template<typename Reference >
bool sol::basic_coroutine< Reference >::runnable ( ) const
inlinenoexcept

Definition at line 28455 of file sol.hpp.

◆ status()

template<typename Reference >
call_status sol::basic_coroutine< Reference >::status ( ) const
inlinenoexcept

Definition at line 28446 of file sol.hpp.

Member Data Documentation

◆ m_error_handler

template<typename Reference >
handler_t sol::basic_coroutine< Reference >::m_error_handler
private

Definition at line 28485 of file sol.hpp.

◆ stats

template<typename Reference >
call_status sol::basic_coroutine< Reference >::stats = call_status::yielded
private

Definition at line 28280 of file sol.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Aug 11 2024 02:24:31