Public Member Functions | Private Types | Private Member Functions | List of all members
sol::basic_function< ref_t, aligned > Class Template Reference

#include <forward.hpp>

Public Member Functions

 basic_function ()=default
 
 basic_function (basic_function &&)=default
 
 basic_function (const basic_function &)=default
 
 basic_function (const stack_reference &r)
 
 basic_function (lua_nil_t n)
 
 basic_function (lua_State *L, int index=-1)
 
 basic_function (lua_State *L, ref_index index)
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_function (lua_State *L, T &&r)
 
 basic_function (stack_reference &&r)
 
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_function >>, 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_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, bool strip, Fx &&on_error) const
 
int dump (lua_Writer writer, void *userdata, bool strip=false) const
 
template<typename... Args>
unsafe_function_result operator() (Args &&... args) const
 
template<typename... Ret, typename... Args>
decltype(auto) operator() (types< Ret... >, Args &&... args) const
 
basic_functionoperator= (basic_function &&)=default
 
basic_functionoperator= (const basic_function &)=default
 

Private Types

using base_t = basic_object< ref_t >
 

Private Member Functions

template<std::size_t I, typename Ret , meta::enable< meta::neg< std::is_void< Ret >>> = meta::enabler>
Ret invoke (types< Ret >, std::index_sequence< I >, std::ptrdiff_t n) const
 
template<std::size_t... I, typename... Ret>
auto invoke (types< Ret... >, std::index_sequence< I... >, std::ptrdiff_t n) const
 
template<std::size_t I>
void invoke (types< void >, std::index_sequence< I >, std::ptrdiff_t n) const
 
unsafe_function_result invoke (types<>, std::index_sequence<>, std::ptrdiff_t n) const
 
void luacall (std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const
 

Detailed Description

template<typename ref_t, bool aligned = false>
class sol::basic_function< ref_t, aligned >

Definition at line 1157 of file forward.hpp.

Member Typedef Documentation

◆ base_t

template<typename ref_t , bool aligned = false>
using sol::basic_function< ref_t, aligned >::base_t = basic_object<ref_t>
private

Definition at line 20594 of file sol.hpp.

Constructor & Destructor Documentation

◆ basic_function() [1/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( )
default

◆ basic_function() [2/10]

template<typename ref_t , bool aligned = false>
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_function >>, 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_function< ref_t, aligned >::basic_function ( T &&  r)
inlinenoexcept

Definition at line 20633 of file sol.hpp.

◆ basic_function() [3/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( const basic_function< ref_t, aligned > &  )
default

◆ basic_function() [4/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( basic_function< ref_t, aligned > &&  )
default

◆ basic_function() [5/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( const stack_reference r)
inline

Definition at line 20646 of file sol.hpp.

◆ basic_function() [6/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( stack_reference &&  r)
inline

Definition at line 20648 of file sol.hpp.

◆ basic_function() [7/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( lua_nil_t  n)
inline

Definition at line 20650 of file sol.hpp.

◆ basic_function() [8/10]

template<typename ref_t , bool aligned = false>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_function< ref_t, aligned >::basic_function ( lua_State L,
T &&  r 
)
inline

Definition at line 20653 of file sol.hpp.

◆ basic_function() [9/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( lua_State L,
int  index = -1 
)
inline

Definition at line 20660 of file sol.hpp.

◆ basic_function() [10/10]

template<typename ref_t , bool aligned = false>
sol::basic_function< ref_t, aligned >::basic_function ( lua_State L,
ref_index  index 
)
inline

Definition at line 20666 of file sol.hpp.

Member Function Documentation

◆ call()

template<typename ref_t , bool aligned = false>
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_function< ref_t, aligned >::call ( Args &&...  args) const
inline

Definition at line 20714 of file sol.hpp.

◆ dump() [1/4]

template<typename ref_t , bool aligned = false>
template<typename Container = bytecode>
Container sol::basic_function< ref_t, aligned >::dump ( ) const
inline

Definition at line 20690 of file sol.hpp.

◆ dump() [2/4]

template<typename ref_t , bool aligned = false>
template<typename Container = bytecode, typename Fx >
Container sol::basic_function< ref_t, aligned >::dump ( Fx &&  on_error) const
inline

Definition at line 20697 of file sol.hpp.

◆ dump() [3/4]

template<typename ref_t , bool aligned = false>
template<typename Fx >
int sol::basic_function< ref_t, aligned >::dump ( lua_Writer  writer,
void *  userdata,
bool  strip,
Fx &&  on_error 
) const
inline

Definition at line 20675 of file sol.hpp.

◆ dump() [4/4]

template<typename ref_t , bool aligned = false>
int sol::basic_function< ref_t, aligned >::dump ( lua_Writer  writer,
void *  userdata,
bool  strip = false 
) const
inline

Definition at line 20685 of file sol.hpp.

◆ invoke() [1/4]

template<typename ref_t , bool aligned = false>
template<std::size_t I, typename Ret , meta::enable< meta::neg< std::is_void< Ret >>> = meta::enabler>
Ret sol::basic_function< ref_t, aligned >::invoke ( types< Ret >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n 
) const
inlineprivate

Definition at line 20607 of file sol.hpp.

◆ invoke() [2/4]

template<typename ref_t , bool aligned = false>
template<std::size_t... I, typename... Ret>
auto sol::basic_function< ref_t, aligned >::invoke ( types< Ret... >  ,
std::index_sequence< I... >  ,
std::ptrdiff_t  n 
) const
inlineprivate

Definition at line 20601 of file sol.hpp.

◆ invoke() [3/4]

template<typename ref_t , bool aligned = false>
template<std::size_t I>
void sol::basic_function< ref_t, aligned >::invoke ( types< void >  ,
std::index_sequence< I >  ,
std::ptrdiff_t  n 
) const
inlineprivate

Definition at line 20613 of file sol.hpp.

◆ invoke() [4/4]

template<typename ref_t , bool aligned = false>
unsafe_function_result sol::basic_function< ref_t, aligned >::invoke ( types<>  ,
std::index_sequence<>  ,
std::ptrdiff_t  n 
) const
inlineprivate

Definition at line 20617 of file sol.hpp.

◆ luacall()

template<typename ref_t , bool aligned = false>
void sol::basic_function< ref_t, aligned >::luacall ( std::ptrdiff_t  argcount,
std::ptrdiff_t  resultcount 
) const
inlineprivate

Definition at line 20596 of file sol.hpp.

◆ operator()() [1/2]

template<typename ref_t , bool aligned = false>
template<typename... Args>
unsafe_function_result sol::basic_function< ref_t, aligned >::operator() ( Args &&...  args) const
inline

Definition at line 20704 of file sol.hpp.

◆ operator()() [2/2]

template<typename ref_t , bool aligned = false>
template<typename... Ret, typename... Args>
decltype(auto) sol::basic_function< ref_t, aligned >::operator() ( types< Ret... >  ,
Args &&...  args 
) const
inline

Definition at line 20709 of file sol.hpp.

◆ operator=() [1/2]

template<typename ref_t , bool aligned = false>
basic_function& sol::basic_function< ref_t, aligned >::operator= ( basic_function< ref_t, aligned > &&  )
default

◆ operator=() [2/2]

template<typename ref_t , bool aligned = false>
basic_function& sol::basic_function< ref_t, aligned >::operator= ( const basic_function< ref_t, aligned > &  )
default

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