Classes | Typedefs | Functions | Variables
sol::stack::stack_detail Namespace Reference

Classes

struct  basic_check
 
struct  copy_code_units_utf
 
struct  count_code_units_utf
 
struct  metatable_setup
 
struct  push_function
 
struct  strip
 
struct  strip< non_null< T > >
 
struct  strip< std::reference_wrapper< T > >
 
struct  strip< user< T > >
 
struct  undefined_metatable
 
struct  uu_pusher
 

Typedefs

template<typename T >
using strip_t = typename strip< T >::type
 
using undefined_method_func = void(*)(stack_reference)
 

Functions

int c_lua_next (lua_State *L_) noexcept
 
template<bool checkargs = detail::default_safe_function_calls, std::size_t... I, typename R , typename... Args, typename Fx , typename... FxArgs>
decltype(auto) call (types< R >, types< Args... > argument_types_, std::index_sequence< I... > argument_indices_, lua_State *L_, int start_index_, Fx &&fx_, FxArgs &&... args_)
 
template<typename Function , typename Handler >
bool check_function_pointer (lua_State *L, int index, Handler &&handler, record &tracking) noexcept
 
template<typename T , typename Handler >
decltype(auto) check_get_arg (lua_State *L_, int index_, Handler &&handler_, record &tracking_)
 
template<typename T , bool poptable = true>
bool check_metatable (lua_State *L_, int index=-2)
 
template<typename Handler >
bool check_types (lua_State *, int, Handler &&, record &)
 
template<typename T , typename... Args, typename Handler >
bool check_types (lua_State *L, int firstargument, Handler &&handler, record &tracking)
 
template<typename... Args, typename Handler >
bool check_types (types< Args... >, lua_State *L, int index, Handler &&handler, record &tracking)
 
template<typename Ch , typename F >
void convert (const char *strb, const char *stre, F &&f)
 
template<bool checked, typename Arg , typename... Args, std::size_t I, std::size_t... Is, typename Handler , typename Fx , typename... FxArgs>
static decltype(auto) eval (types< Arg, Args... >, std::index_sequence< I, Is... >, lua_State *L_, int start_index_, Handler &&handler_, record &tracking_, Fx &&fx_, FxArgs &&... fxargs_)
 
template<bool checked, typename Handler , typename Fx , typename... Args>
static decltype(auto) eval (types<>, std::index_sequence<>, lua_State *, int, Handler &&, record &, Fx &&fx, Args &&... args)
 
std::optional< protected_functionfind_lua_next_function (lua_State *L_)
 
template<typename T >
std::pair< T, int > get_as_upvalues (lua_State *L, int index=2)
 
template<typename T >
std::pair< T, int > get_as_upvalues_using_function (lua_State *L, int function_index=-1)
 
template<typename Function >
Function * get_function_pointer (lua_State *, int, record &) noexcept
 
template<typename BaseCh , typename S >
S get_into (lua_State *L, int index, record &tracking)
 
template<typename OptionalType , typename T , typename Handler >
OptionalType get_optional (lua_State *L, int index, Handler &&handler, record &tracking)
 
template<typename C >
static int get_size_hint (C &c)
 
template<typename V , typename Al >
static int get_size_hint (const std::forward_list< V, Al > &)
 
bool impl_check_metatable (lua_State *L_, int index, const std::string &metakey, bool poptable)
 
template<typename T >
bool integer_value_fits (const T &value)
 
template<typename T , typename Handler >
bool interop_check (lua_State *L, int index, type index_type, Handler &&handler, record &tracking)
 
template<typename T >
decltype(auto) interop_get (lua_State *L, int index, void *unadjusted_pointer, record &tracking)
 
bool maybe_push_lua_next_function (lua_State *L_)
 
template<typename T >
int msvc_is_ass_with_if_constexpr_push_enum (std::false_type, lua_State *, const T &)
 
template<typename T >
int msvc_is_ass_with_if_constexpr_push_enum (std::true_type, lua_State *L, const T &value)
 
template<typename T >
int push_as_upvalues (lua_State *L, T &item)
 
template<typename T , typename Arg , typename... Args>
int push_reference (lua_State *L, Arg &&arg, Args &&... args)
 
template<typename T >
void raw_table_set (lua_State *L, T &&arg, int tableindex=-2)
 
int readonly_pairs (lua_State *L_) noexcept
 
template<typename T >
void set_undefined_methods_on (stack_reference)
 
template<typename T >
decltype(auto) unchecked_get (lua_State *L, int index, record &tracking)
 
template<typename T >
decltype(auto) unchecked_get_arg (lua_State *L_, int index_, record &tracking_)
 
template<typename T >
decltype(auto) unchecked_unqualified_get (lua_State *L, int index, record &tracking)
 
template<typename T , typename Handler >
bool unqualified_interop_check (lua_State *L, int index, type index_type, Handler &&handler, record &tracking)
 
template<typename T >
decltype(auto) unqualified_interop_get (lua_State *L, int index, void *unadjusted_pointer, record &tracking)
 

Variables

template<typename T , bool global, bool raw>
constexpr bool is_get_direct_tableless_v = (global && !raw && meta::is_c_str_or_string_v<T>)
 
template<typename T , bool global, bool raw>
constexpr bool is_get_direct_v
 
template<typename T , bool global, bool raw>
constexpr bool is_set_direct_tableless_v = (global && !raw && meta::is_c_str_or_string_v<T>)
 
template<typename T , bool global, bool raw>
constexpr bool is_set_direct_v
 
constexpr const char * not_enough_stack_space = "not enough space left on Lua stack"
 
constexpr const char * not_enough_stack_space_environment = "not enough space left on Lua stack to retrieve environment"
 
constexpr const char * not_enough_stack_space_floating = "not enough space left on Lua stack for a floating point number"
 
constexpr const char * not_enough_stack_space_generic = "not enough space left on Lua stack to push valuees"
 
constexpr const char * not_enough_stack_space_integral = "not enough space left on Lua stack for an integral number"
 
constexpr const char * not_enough_stack_space_meta_function_name = "not enough space left on Lua stack for the name of a meta_function"
 
constexpr const char * not_enough_stack_space_string = "not enough space left on Lua stack for a string"
 
constexpr const char * not_enough_stack_space_userdata = "not enough space left on Lua stack to create a sol2 userdata"
 

Typedef Documentation

◆ strip_t

template<typename T >
using sol::stack::stack_detail::strip_t = typedef typename strip<T>::type

Definition at line 11572 of file sol.hpp.

◆ undefined_method_func

Definition at line 2865 of file sol.hpp.

Function Documentation

◆ c_lua_next()

int sol::stack::stack_detail::c_lua_next ( lua_State L_)
inlinenoexcept

Definition at line 25156 of file sol.hpp.

◆ call()

template<bool checkargs = detail::default_safe_function_calls, std::size_t... I, typename R , typename... Args, typename Fx , typename... FxArgs>
decltype(auto) sol::stack::stack_detail::call ( types< R >  ,
types< Args... >  argument_types_,
std::index_sequence< I... >  argument_indices_,
lua_State L_,
int  start_index_,
Fx &&  fx_,
FxArgs &&...  args_ 
)
inline

Definition at line 16527 of file sol.hpp.

◆ check_function_pointer()

template<typename Function , typename Handler >
bool sol::stack::stack_detail::check_function_pointer ( lua_State L,
int  index,
Handler &&  handler,
record tracking 
)
noexcept

Definition at line 20478 of file sol.hpp.

◆ check_get_arg()

template<typename T , typename Handler >
decltype(auto) sol::stack::stack_detail::check_get_arg ( lua_State L_,
int  index_,
Handler &&  handler_,
record tracking_ 
)

Definition at line 12164 of file sol.hpp.

◆ check_metatable()

template<typename T , bool poptable = true>
bool sol::stack::stack_detail::check_metatable ( lua_State L_,
int  index = -2 
)
inline

Definition at line 12372 of file sol.hpp.

◆ check_types() [1/3]

template<typename Handler >
bool sol::stack::stack_detail::check_types ( lua_State ,
int  ,
Handler &&  ,
record  
)

Definition at line 11983 of file sol.hpp.

◆ check_types() [2/3]

template<typename T , typename... Args, typename Handler >
bool sol::stack::stack_detail::check_types ( lua_State L,
int  firstargument,
Handler &&  handler,
record tracking 
)

Definition at line 11988 of file sol.hpp.

◆ check_types() [3/3]

template<typename... Args, typename Handler >
bool sol::stack::stack_detail::check_types ( types< Args... >  ,
lua_State L,
int  index,
Handler &&  handler,
record tracking 
)

Definition at line 11995 of file sol.hpp.

◆ convert()

template<typename Ch , typename F >
void sol::stack::stack_detail::convert ( const char *  strb,
const char *  stre,
F &&  f 
)
inline

Definition at line 13387 of file sol.hpp.

◆ eval() [1/2]

template<bool checked, typename Arg , typename... Args, std::size_t I, std::size_t... Is, typename Handler , typename Fx , typename... FxArgs>
static decltype(auto) sol::stack::stack_detail::eval ( types< Arg, Args... >  ,
std::index_sequence< I, Is... >  ,
lua_State L_,
int  start_index_,
Handler &&  handler_,
record tracking_,
Fx &&  fx_,
FxArgs &&...  fxargs_ 
)
static

Definition at line 16495 of file sol.hpp.

◆ eval() [2/2]

template<bool checked, typename Handler , typename Fx , typename... Args>
static decltype(auto) sol::stack::stack_detail::eval ( types<>  ,
std::index_sequence<>  ,
lua_State ,
int  ,
Handler &&  ,
record ,
Fx &&  fx,
Args &&...  args 
)
static

Definition at line 16490 of file sol.hpp.

◆ find_lua_next_function()

std::optional<protected_function> sol::stack::stack_detail::find_lua_next_function ( lua_State L_)
inline

Definition at line 25149 of file sol.hpp.

◆ get_as_upvalues()

template<typename T >
std::pair<T, int> sol::stack::stack_detail::get_as_upvalues ( lua_State L,
int  index = 2 
)
inline

Definition at line 16457 of file sol.hpp.

◆ get_as_upvalues_using_function()

template<typename T >
std::pair<T, int> sol::stack::stack_detail::get_as_upvalues_using_function ( lua_State L,
int  function_index = -1 
)
inline

Definition at line 16468 of file sol.hpp.

◆ get_function_pointer()

template<typename Function >
Function * sol::stack::stack_detail::get_function_pointer ( lua_State L,
int  index,
record tracking 
)
noexcept

Definition at line 20504 of file sol.hpp.

◆ get_into()

template<typename BaseCh , typename S >
S sol::stack::stack_detail::get_into ( lua_State L,
int  index,
record tracking 
)
inline

Definition at line 13411 of file sol.hpp.

◆ get_optional()

template<typename OptionalType , typename T , typename Handler >
OptionalType sol::stack::stack_detail::get_optional ( lua_State L,
int  index,
Handler &&  handler,
record tracking 
)

Definition at line 14546 of file sol.hpp.

◆ get_size_hint() [1/2]

template<typename C >
static int sol::stack::stack_detail::get_size_hint ( C c)
static

Definition at line 11575 of file sol.hpp.

◆ get_size_hint() [2/2]

template<typename V , typename Al >
static int sol::stack::stack_detail::get_size_hint ( const std::forward_list< V, Al > &  )
static

Definition at line 11580 of file sol.hpp.

◆ impl_check_metatable()

bool sol::stack::stack_detail::impl_check_metatable ( lua_State L_,
int  index,
const std::string &  metakey,
bool  poptable 
)
inline

Definition at line 12358 of file sol.hpp.

◆ integer_value_fits()

template<typename T >
bool sol::stack::stack_detail::integer_value_fits ( const T &  value)
inline

Definition at line 14701 of file sol.hpp.

◆ interop_check()

template<typename T , typename Handler >
bool sol::stack::stack_detail::interop_check ( lua_State L,
int  index,
type  index_type,
Handler &&  handler,
record tracking 
)

Definition at line 11651 of file sol.hpp.

◆ interop_get()

template<typename T >
decltype(auto) sol::stack::stack_detail::interop_get ( lua_State L,
int  index,
void *  unadjusted_pointer,
record tracking 
)

Definition at line 11625 of file sol.hpp.

◆ maybe_push_lua_next_function()

bool sol::stack::stack_detail::maybe_push_lua_next_function ( lua_State L_)
inline

Definition at line 25129 of file sol.hpp.

◆ msvc_is_ass_with_if_constexpr_push_enum() [1/2]

template<typename T >
int sol::stack::stack_detail::msvc_is_ass_with_if_constexpr_push_enum ( std::false_type  ,
lua_State ,
const T &   
)

Definition at line 14752 of file sol.hpp.

◆ msvc_is_ass_with_if_constexpr_push_enum() [2/2]

template<typename T >
int sol::stack::stack_detail::msvc_is_ass_with_if_constexpr_push_enum ( std::true_type  ,
lua_State L,
const T &  value 
)

Definition at line 14729 of file sol.hpp.

◆ push_as_upvalues()

template<typename T >
int sol::stack::stack_detail::push_as_upvalues ( lua_State L,
T &  item 
)
inline

Definition at line 16438 of file sol.hpp.

◆ push_reference()

template<typename T , typename Arg , typename... Args>
int sol::stack::stack_detail::push_reference ( lua_State L,
Arg &&  arg,
Args &&...  args 
)

Definition at line 11803 of file sol.hpp.

◆ raw_table_set()

template<typename T >
void sol::stack::stack_detail::raw_table_set ( lua_State L,
T &&  arg,
int  tableindex = -2 
)

Definition at line 16550 of file sol.hpp.

◆ readonly_pairs()

int sol::stack::stack_detail::readonly_pairs ( lua_State L_)
inlinenoexcept

Definition at line 25167 of file sol.hpp.

◆ set_undefined_methods_on()

template<typename T >
void sol::stack::stack_detail::set_undefined_methods_on ( stack_reference  t)

Definition at line 23384 of file sol.hpp.

◆ unchecked_get()

template<typename T >
decltype(auto) sol::stack::stack_detail::unchecked_get ( lua_State L,
int  index,
record tracking 
)

Definition at line 11598 of file sol.hpp.

◆ unchecked_get_arg()

template<typename T >
decltype(auto) sol::stack::stack_detail::unchecked_get_arg ( lua_State L_,
int  index_,
record tracking_ 
)

Definition at line 12172 of file sol.hpp.

◆ unchecked_unqualified_get()

template<typename T >
decltype(auto) sol::stack::stack_detail::unchecked_unqualified_get ( lua_State L,
int  index,
record tracking 
)

Definition at line 11586 of file sol.hpp.

◆ unqualified_interop_check()

template<typename T , typename Handler >
bool sol::stack::stack_detail::unqualified_interop_check ( lua_State L,
int  index,
type  index_type,
Handler &&  handler,
record tracking 
)

Definition at line 11635 of file sol.hpp.

◆ unqualified_interop_get()

template<typename T >
decltype(auto) sol::stack::stack_detail::unqualified_interop_get ( lua_State L,
int  index,
void *  unadjusted_pointer,
record tracking 
)

Definition at line 11609 of file sol.hpp.

Variable Documentation

◆ is_get_direct_tableless_v

template<typename T , bool global, bool raw>
constexpr bool sol::stack::stack_detail::is_get_direct_tableless_v = (global && !raw && meta::is_c_str_or_string_v<T>)
inlineconstexpr

Definition at line 16071 of file sol.hpp.

◆ is_get_direct_v

template<typename T , bool global, bool raw>
constexpr bool sol::stack::stack_detail::is_get_direct_v
inlineconstexpr
Initial value:
= (is_get_direct_tableless_v<T, global, raw>)
|| (!global && !raw && (meta::is_c_str_or_string_v<T> || meta::is_string_of_v<T, char>))
|| (!global && raw && (std::is_integral_v<T> && !std::is_same_v<T, bool>))

Definition at line 16074 of file sol.hpp.

◆ is_set_direct_tableless_v

template<typename T , bool global, bool raw>
constexpr bool sol::stack::stack_detail::is_set_direct_tableless_v = (global && !raw && meta::is_c_str_or_string_v<T>)
inlineconstexpr

Definition at line 16086 of file sol.hpp.

◆ is_set_direct_v

template<typename T , bool global, bool raw>
constexpr bool sol::stack::stack_detail::is_set_direct_v
inlineconstexpr
Initial value:
= (is_set_direct_tableless_v<T, global, raw>)
|| (!global && !raw && (meta::is_c_str_or_string_v<T> || meta::is_string_of_v<T, char>))
|| (!global && raw && (std::is_integral_v<T> && !std::is_same_v<T, bool>))

Definition at line 16089 of file sol.hpp.

◆ not_enough_stack_space

constexpr const char* sol::stack::stack_detail::not_enough_stack_space = "not enough space left on Lua stack"
constexpr

Definition at line 11546 of file sol.hpp.

◆ not_enough_stack_space_environment

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_environment = "not enough space left on Lua stack to retrieve environment"
constexpr

Definition at line 11553 of file sol.hpp.

◆ not_enough_stack_space_floating

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_floating = "not enough space left on Lua stack for a floating point number"
constexpr

Definition at line 11547 of file sol.hpp.

◆ not_enough_stack_space_generic

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_generic = "not enough space left on Lua stack to push valuees"
constexpr

Definition at line 11552 of file sol.hpp.

◆ not_enough_stack_space_integral

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_integral = "not enough space left on Lua stack for an integral number"
constexpr

Definition at line 11548 of file sol.hpp.

◆ not_enough_stack_space_meta_function_name

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_meta_function_name = "not enough space left on Lua stack for the name of a meta_function"
constexpr

Definition at line 11550 of file sol.hpp.

◆ not_enough_stack_space_string

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_string = "not enough space left on Lua stack for a string"
constexpr

Definition at line 11549 of file sol.hpp.

◆ not_enough_stack_space_userdata

constexpr const char* sol::stack::stack_detail::not_enough_stack_space_userdata = "not enough space left on Lua stack to create a sol2 userdata"
constexpr

Definition at line 11551 of file sol.hpp.



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