Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
sol::basic_protected_function< Reference, Aligned, Handler > Class Template Reference

#include <forward.hpp>

Public Member Functions

void abandon () noexcept
 
 basic_protected_function ()=default
 
 basic_protected_function (basic_function< base_t > &&b)
 
 basic_protected_function (basic_function< base_t > &&b, handler_t eh)
 
 basic_protected_function (basic_protected_function &&)=default
 
 basic_protected_function (const basic_function< base_t > &b)
 
 basic_protected_function (const basic_function< base_t > &b, handler_t eh)
 
 basic_protected_function (const basic_protected_function &other_) noexcept
 
template<typename Super >
 basic_protected_function (const proxy_base< Super > &p)
 
 basic_protected_function (const stack_reference &r)
 
 basic_protected_function (const stack_reference &r, handler_t eh)
 
 basic_protected_function (lua_nil_t n)
 
 basic_protected_function (lua_State *L_, absolute_index index_)
 
 basic_protected_function (lua_State *L_, absolute_index index_, handler_t eh)
 
 basic_protected_function (lua_State *L_, int index_, handler_t eh)
 
 basic_protected_function (lua_State *L_, int index_=-1)
 
 basic_protected_function (lua_State *L_, raw_index index_)
 
 basic_protected_function (lua_State *L_, raw_index index_, handler_t eh)
 
 basic_protected_function (lua_State *L_, ref_index index_)
 
 basic_protected_function (lua_State *L_, ref_index index_, handler_t eh)
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_protected_function (lua_State *L_, T &&r)
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_protected_function (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_protected_function (Proxy &&p, HandlerReference &&eh)
 
template<typename Super >
 basic_protected_function (proxy_base< Super > &&p)
 
 basic_protected_function (stack_reference &&r)
 
 basic_protected_function (stack_reference &&r, handler_t eh)
 
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_protected_function >>, 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_protected_function (T &&r) noexcept
 
template<typename... Ret, typename... Args>
decltype(auto) call (Args &&... args) const
 
template<typename Container = bytecode>
Container dump () const
 
template<typename Container = bytecode, typename Fx >
Container dump (Fx &&on_error) const
 
template<typename Fx >
int dump (lua_Writer writer, void *userdata_pointer_, bool strip, Fx &&on_error) const
 
int dump (lua_Writer writer, void *userdata_pointer_, bool strip=false) const
 
auto get_error_handler () const noexcept
 
template<typename... Args>
protected_function_result operator() (Args &&... args) const
 
template<typename... Ret, typename... Args>
decltype(auto) operator() (types< Ret... >, Args &&... args) const
 
basic_protected_functionoperator= (basic_protected_function &&)=default
 
basic_protected_functionoperator= (const basic_protected_function &other_)
 
template<typename ErrorHandler_ >
void set_error_handler (ErrorHandler_ &&error_handler_) noexcept
 
 ~basic_protected_function ()
 

Static Public Member Functions

static handler_t get_default_handler (lua_State *L_)
 
template<typename T >
static void set_default_handler (const T &ref)
 

Private Types

using base_t = basic_object< Reference >
 
using handler_t = Handler
 

Private Member Functions

 basic_protected_function (std::false_type, const basic_protected_function &other_) noexcept
 
 basic_protected_function (std::true_type, const basic_protected_function &other_) noexcept
 
template<std::size_t I, bool b, typename Ret >
Ret invoke (types< Ret >, std::index_sequence< I >, std::ptrdiff_t n, detail::protected_handler< b, handler_t > &h) const
 
template<std::size_t... I, bool b, typename... Ret>
auto invoke (types< Ret... >, std::index_sequence< I... >, std::ptrdiff_t n, detail::protected_handler< b, handler_t > &h) const
 
template<std::size_t I, bool b>
void invoke (types< void >, std::index_sequence< I >, std::ptrdiff_t n, detail::protected_handler< b, handler_t > &h) const
 
template<bool b>
protected_function_result invoke (types<>, std::index_sequence<>, std::ptrdiff_t n, detail::protected_handler< b, handler_t > &h) const
 
template<bool b>
call_status luacall (std::ptrdiff_t argcount, std::ptrdiff_t result_count_, detail::protected_handler< b, handler_t > &h) const
 

Private Attributes

handler_t m_error_handler
 

Static Private Attributes

static constexpr bool is_stack_handler_v = is_stack_based_v<handler_t>
 

Detailed Description

template<typename Reference, bool Aligned = false, typename Handler = reference>
class sol::basic_protected_function< Reference, Aligned, Handler >

Definition at line 1159 of file forward.hpp.

Member Typedef Documentation

◆ base_t

template<typename Reference , bool Aligned = false, typename Handler = reference>
using sol::basic_protected_function< Reference, Aligned, Handler >::base_t = basic_object<Reference>
private

Definition at line 20833 of file sol.hpp.

◆ handler_t

template<typename Reference , bool Aligned = false, typename Handler = reference>
using sol::basic_protected_function< Reference, Aligned, Handler >::handler_t = Handler
private

Definition at line 20834 of file sol.hpp.

Constructor & Destructor Documentation

◆ basic_protected_function() [1/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( std::true_type  ,
const basic_protected_function< Reference, Aligned, Handler > &  other_ 
)
inlineprivatenoexcept

Definition at line 20837 of file sol.hpp.

◆ basic_protected_function() [2/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( std::false_type  ,
const basic_protected_function< Reference, Aligned, Handler > &  other_ 
)
inlineprivatenoexcept

Definition at line 20841 of file sol.hpp.

◆ basic_protected_function() [3/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( )
default

◆ basic_protected_function() [4/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_protected_function >>, 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_protected_function< Reference, Aligned, Handler >::basic_protected_function ( T &&  r)
inlinenoexcept

Definition at line 20850 of file sol.hpp.

◆ basic_protected_function() [5/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const basic_protected_function< Reference, Aligned, Handler > &  other_)
inlinenoexcept

Definition at line 20859 of file sol.hpp.

◆ basic_protected_function() [6/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( basic_protected_function< Reference, Aligned, Handler > &&  )
default

◆ basic_protected_function() [7/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const basic_function< base_t > &  b)
inline

Definition at line 20874 of file sol.hpp.

◆ basic_protected_function() [8/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( basic_function< base_t > &&  b)
inline

Definition at line 20876 of file sol.hpp.

◆ basic_protected_function() [9/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const basic_function< base_t > &  b,
handler_t  eh 
)
inline

Definition at line 20878 of file sol.hpp.

◆ basic_protected_function() [10/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( basic_function< base_t > &&  b,
handler_t  eh 
)
inline

Definition at line 20880 of file sol.hpp.

◆ basic_protected_function() [11/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const stack_reference r)
inline

Definition at line 20882 of file sol.hpp.

◆ basic_protected_function() [12/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( stack_reference &&  r)
inline

Definition at line 20884 of file sol.hpp.

◆ basic_protected_function() [13/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const stack_reference r,
handler_t  eh 
)
inline

Definition at line 20886 of file sol.hpp.

◆ basic_protected_function() [14/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( stack_reference &&  r,
handler_t  eh 
)
inline

Definition at line 20888 of file sol.hpp.

◆ basic_protected_function() [15/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename Super >
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( const proxy_base< Super > &  p)
inline

Definition at line 20892 of file sol.hpp.

◆ basic_protected_function() [16/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename Super >
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( proxy_base< Super > &&  p)
inline

Definition at line 20895 of file sol.hpp.

◆ basic_protected_function() [17/28]

template<typename Reference , bool Aligned = false, typename Handler = 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_protected_function< Reference, Aligned, Handler >::basic_protected_function ( Proxy &&  p,
HandlerReference &&  eh 
)
inline

Definition at line 20900 of file sol.hpp.

◆ basic_protected_function() [18/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
T &&  r 
)
inline

Definition at line 20905 of file sol.hpp.

◆ basic_protected_function() [19/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
T &&  r,
handler_t  eh 
)
inline

Definition at line 20908 of file sol.hpp.

◆ basic_protected_function() [20/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_nil_t  n)
inline

Definition at line 20916 of file sol.hpp.

◆ basic_protected_function() [21/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
int  index_ = -1 
)
inline

Definition at line 20919 of file sol.hpp.

◆ basic_protected_function() [22/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
int  index_,
handler_t  eh 
)
inline

Definition at line 20921 of file sol.hpp.

◆ basic_protected_function() [23/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
absolute_index  index_ 
)
inline

Definition at line 20927 of file sol.hpp.

◆ basic_protected_function() [24/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
absolute_index  index_,
handler_t  eh 
)
inline

Definition at line 20929 of file sol.hpp.

◆ basic_protected_function() [25/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
raw_index  index_ 
)
inline

Definition at line 20935 of file sol.hpp.

◆ basic_protected_function() [26/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
raw_index  index_,
handler_t  eh 
)
inline

Definition at line 20937 of file sol.hpp.

◆ basic_protected_function() [27/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
ref_index  index_ 
)
inline

Definition at line 20943 of file sol.hpp.

◆ basic_protected_function() [28/28]

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::basic_protected_function ( lua_State L_,
ref_index  index_,
handler_t  eh 
)
inline

Definition at line 20945 of file sol.hpp.

◆ ~basic_protected_function()

template<typename Reference , bool Aligned = false, typename Handler = reference>
sol::basic_protected_function< Reference, Aligned, Handler >::~basic_protected_function ( )
inline

Definition at line 21037 of file sol.hpp.

Member Function Documentation

◆ abandon()

template<typename Reference , bool Aligned = false, typename Handler = reference>
void sol::basic_protected_function< Reference, Aligned, Handler >::abandon ( )
inlinenoexcept

Definition at line 21078 of file sol.hpp.

◆ call()

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_protected_function< Reference, Aligned, Handler >::call ( Args &&...  args) const
inline

Definition at line 20995 of file sol.hpp.

◆ dump() [1/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename Container = bytecode>
Container sol::basic_protected_function< Reference, Aligned, Handler >::dump ( ) const
inline

Definition at line 20971 of file sol.hpp.

◆ dump() [2/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename Container = bytecode, typename Fx >
Container sol::basic_protected_function< Reference, Aligned, Handler >::dump ( Fx &&  on_error) const
inline

Definition at line 20978 of file sol.hpp.

◆ dump() [3/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename Fx >
int sol::basic_protected_function< Reference, Aligned, Handler >::dump ( lua_Writer  writer,
void *  userdata_pointer_,
bool  strip,
Fx &&  on_error 
) const
inline

Definition at line 20956 of file sol.hpp.

◆ dump() [4/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
int sol::basic_protected_function< Reference, Aligned, Handler >::dump ( lua_Writer  writer,
void *  userdata_pointer_,
bool  strip = false 
) const
inline

Definition at line 20966 of file sol.hpp.

◆ get_default_handler()

template<typename Reference , bool Aligned = false, typename Handler = reference>
static handler_t sol::basic_protected_function< Reference, Aligned, Handler >::get_default_handler ( lua_State L_)
inlinestatic

Definition at line 21043 of file sol.hpp.

◆ get_error_handler()

template<typename Reference , bool Aligned = false, typename Handler = reference>
auto sol::basic_protected_function< Reference, Aligned, Handler >::get_error_handler ( ) const
inlinenoexcept

Definition at line 21052 of file sol.hpp.

◆ invoke() [1/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<std::size_t I, bool b, typename Ret >
Ret sol::basic_protected_function< Reference, Aligned, Handler >::invoke ( types< Ret >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n,
detail::protected_handler< b, handler_t > &  h 
) const
inlineprivate

Definition at line 21098 of file sol.hpp.

◆ invoke() [2/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<std::size_t... I, bool b, typename... Ret>
auto sol::basic_protected_function< Reference, Aligned, Handler >::invoke ( types< Ret... >  ,
std::index_sequence< I... >  ,
std::ptrdiff_t  n,
detail::protected_handler< b, handler_t > &  h 
) const
inlineprivate

Definition at line 21092 of file sol.hpp.

◆ invoke() [3/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<std::size_t I, bool b>
void sol::basic_protected_function< Reference, Aligned, Handler >::invoke ( types< void >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n,
detail::protected_handler< b, handler_t > &  h 
) const
inlineprivate

Definition at line 21104 of file sol.hpp.

◆ invoke() [4/4]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<bool b>
protected_function_result sol::basic_protected_function< Reference, Aligned, Handler >::invoke ( types<>  ,
std::index_sequence<>  ,
std::ptrdiff_t  n,
detail::protected_handler< b, handler_t > &  h 
) const
inlineprivate

Definition at line 21109 of file sol.hpp.

◆ luacall()

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<bool b>
call_status sol::basic_protected_function< Reference, Aligned, Handler >::luacall ( std::ptrdiff_t  argcount,
std::ptrdiff_t  result_count_,
detail::protected_handler< b, handler_t > &  h 
) const
inlineprivate

Definition at line 21087 of file sol.hpp.

◆ operator()() [1/2]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename... Args>
protected_function_result sol::basic_protected_function< Reference, Aligned, Handler >::operator() ( Args &&...  args) const
inline

Definition at line 20985 of file sol.hpp.

◆ operator()() [2/2]

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_protected_function< Reference, Aligned, Handler >::operator() ( types< Ret... >  ,
Args &&...  args 
) const
inline

Definition at line 20990 of file sol.hpp.

◆ operator=() [1/2]

template<typename Reference , bool Aligned = false, typename Handler = reference>
basic_protected_function& sol::basic_protected_function< Reference, Aligned, Handler >::operator= ( basic_protected_function< Reference, Aligned, Handler > &&  )
default

◆ operator=() [2/2]

template<typename Reference , bool Aligned = false, typename Handler = reference>
basic_protected_function& sol::basic_protected_function< Reference, Aligned, Handler >::operator= ( const basic_protected_function< Reference, Aligned, Handler > &  other_)
inline

Definition at line 20862 of file sol.hpp.

◆ set_default_handler()

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename T >
static void sol::basic_protected_function< Reference, Aligned, Handler >::set_default_handler ( const T &  ref)
inlinestatic

Definition at line 21048 of file sol.hpp.

◆ set_error_handler()

template<typename Reference , bool Aligned = false, typename Handler = reference>
template<typename ErrorHandler_ >
void sol::basic_protected_function< Reference, Aligned, Handler >::set_error_handler ( ErrorHandler_ &&  error_handler_)
inlinenoexcept

Definition at line 21067 of file sol.hpp.

Member Data Documentation

◆ is_stack_handler_v

template<typename Reference , bool Aligned = false, typename Handler = reference>
constexpr bool sol::basic_protected_function< Reference, Aligned, Handler >::is_stack_handler_v = is_stack_based_v<handler_t>
inlinestaticconstexprprivate

Definition at line 20835 of file sol.hpp.

◆ m_error_handler

template<typename Reference , bool Aligned = false, typename Handler = reference>
handler_t sol::basic_protected_function< Reference, Aligned, Handler >::m_error_handler
private

Definition at line 21084 of file sol.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:52