Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
sol::detail Namespace Reference

\exclude More...

Namespaces

 debug
 
 swap_adl_tests
 

Classes

struct  accumulate
 
struct  accumulate< C, v, V, T, Args... >
 
struct  accumulate_list
 
struct  accumulate_list< C, v, V, types< Args... > >
 
struct  as_pointer_tag
 
struct  as_reference_tag
 
struct  as_table_tag
 
struct  as_unique_tag
 
struct  as_value_tag
 
struct  associated_nullopt
 
struct  clean
 
struct  conjunction
 
struct  conjunction< B >
 
struct  conjunction< B, Bs... >
 
struct  default_construct
 
struct  default_destroy
 
struct  deleter
 
struct  deprecate_type
 
struct  direct_error_tag
 
struct  ebco
 
struct  ebco< T &&, tag >
 
struct  ebco< T &, tag >
 
struct  ebco< T, tag, std::enable_if_t<!std::is_reference_v< T > &&std::is_class_v< T > &&!std::is_final_v< T > > >
 
struct  error_result
 
struct  get_is_primitive
 
struct  get_is_primitive< T, false, true >
 
struct  get_is_primitive< T, true, false >
 
struct  get_is_primitive< T, true, true >
 
struct  i_am_secret
 
struct  implicit_wrapper
 
struct  indexed_insert
 
struct  inheritance
 
struct  invoke_result_impl
 
struct  invoke_result_impl< F, decltype(detail::invoke(std::declval< F >(), std::declval< Us >()...), void()), Us... >
 
struct  is_constructor
 
struct  is_constructor< factory_wrapper< Args... > >
 
struct  is_constructor< policy_wrapper< F, Policies... > >
 
struct  is_constructor< protect_t< T > >
 
struct  is_destructor
 
struct  is_destructor< destructor_wrapper< Fx > >
 
struct  is_non_factory_constructor
 
struct  is_non_factory_constructor< constructor_wrapper< Args... > >
 
struct  is_non_factory_constructor< constructors< Args... > >
 
struct  is_non_factory_constructor< no_construction >
 
struct  is_nothrow_swappable
 
struct  is_optional_impl
 
struct  is_optional_impl< optional< T > >
 
struct  is_speshul
 
struct  is_speshul< protected_function_result >
 
struct  is_speshul< unsafe_function_result >
 
struct  is_swappable
 
struct  is_swappable< T[N], T[N]>
 
struct  lua_type_of
 
struct  lua_type_of< as_table_t< T > >
 
struct  lua_type_of< basic_coroutine< Base > >
 
struct  lua_type_of< basic_environment< B > >
 
struct  lua_type_of< basic_function< Base, aligned > >
 
struct  lua_type_of< basic_lightuserdata< Base > >
 
struct  lua_type_of< basic_lua_table< Base > >
 
struct  lua_type_of< basic_metatable< Base > >
 
struct  lua_type_of< basic_object< Base > >
 
struct  lua_type_of< basic_protected_function< Base, aligned, Handler > >
 
struct  lua_type_of< basic_reference< b > >
 
struct  lua_type_of< basic_string_view< C, T > >
 
struct  lua_type_of< basic_table_core< b, Base > >
 
struct  lua_type_of< basic_thread< Base > >
 
struct  lua_type_of< basic_userdata< Base > >
 
struct  lua_type_of< basic_usertype< T, Base > >
 
struct  lua_type_of< bool >
 
struct  lua_type_of< char >
 
struct  lua_type_of< char16_t >
 
struct  lua_type_of< char16_t[N]>
 
struct  lua_type_of< char32_t >
 
struct  lua_type_of< char32_t[N]>
 
struct  lua_type_of< char[N]>
 
struct  lua_type_of< const char * >
 
struct  lua_type_of< const char16_t * >
 
struct  lua_type_of< const char32_t * >
 
struct  lua_type_of< const void * >
 
struct  lua_type_of< const wchar_t * >
 
struct  lua_type_of< detail::non_lua_nil_t >
 
struct  lua_type_of< env_key_t >
 
struct  lua_type_of< error >
 
struct  lua_type_of< light< T > >
 
struct  lua_type_of< lightuserdata_value >
 
struct  lua_type_of< lua_CFunction >
 
struct  lua_type_of< lua_nil_t >
 
struct  lua_type_of< lua_value >
 
struct  lua_type_of< meta_function >
 
struct  lua_type_of< metatable_key_t >
 
struct  lua_type_of< nested< T > >
 
struct  lua_type_of< new_table >
 
struct  lua_type_of< nullopt_t >
 
struct  lua_type_of< optional< T > >
 
struct  lua_type_of< stack_count >
 
struct  lua_type_of< stack_reference >
 
struct  lua_type_of< std::basic_string< C, T, A > >
 
struct  lua_type_of< std::function< Signature > >
 
struct  lua_type_of< std::initializer_list< T > >
 
struct  lua_type_of< std::nullptr_t >
 
struct  lua_type_of< std::optional< T > >
 
struct  lua_type_of< std::pair< A, B > >
 
struct  lua_type_of< std::remove_pointer_t< lua_CFunction > >
 
struct  lua_type_of< std::tuple< Args... > >
 
struct  lua_type_of< std::variant< Tn... > >
 
struct  lua_type_of< T * >
 
struct  lua_type_of< T, std::enable_if_t< std::is_arithmetic_v< T >||std::is_same_v< T, lua_Number >||std::is_same_v< T, lua_Integer > > >
 
struct  lua_type_of< T, std::enable_if_t< std::is_enum_v< T > > >
 
struct  lua_type_of< T, std::enable_if_t< std::is_function_v< T > > >
 
struct  lua_type_of< this_environment >
 
struct  lua_type_of< this_main_state >
 
struct  lua_type_of< this_state >
 
struct  lua_type_of< type >
 
struct  lua_type_of< user< T > >
 
struct  lua_type_of< userdata_value >
 
struct  lua_type_of< variadic_args >
 
struct  lua_type_of< variadic_results >
 
struct  lua_type_of< void * >
 
struct  lua_type_of< wchar_t >
 
struct  lua_type_of< wchar_t[N]>
 
struct  no_comp
 
struct  no_prop
 
struct  no_safety_tag
 
struct  non_lua_nil_t
 
struct  optional_copy_assign_base
 
struct  optional_copy_assign_base< T, false >
 
struct  optional_copy_base
 
struct  optional_copy_base< T, false >
 
struct  optional_delete_assign_base
 
struct  optional_delete_assign_base< T, false, false >
 
struct  optional_delete_assign_base< T, false, true >
 
struct  optional_delete_assign_base< T, true, false >
 
struct  optional_delete_ctor_base
 
struct  optional_delete_ctor_base< T, false, false >
 
struct  optional_delete_ctor_base< T, false, true >
 
struct  optional_delete_ctor_base< T, true, false >
 
struct  optional_move_assign_base
 
struct  optional_move_assign_base< T, false >
 
struct  optional_move_base
 
struct  optional_move_base< T, false >
 
struct  optional_operations_base
 
struct  optional_storage_base
 
struct  optional_storage_base< T, true >
 
struct  policy_base_tag
 
struct  properties_enrollment_allowed
 
struct  protected_handler
 
struct  ref_clean
 
struct  returns_void_impl
 
struct  returns_void_impl< F, void_t< invoke_result_t< F, U... > >, U... >
 
struct  state_deleter
 
struct  std_shim
 
struct  std_shim< void >
 
struct  tagged
 
struct  unchecked_t
 
struct  unique_fallback
 
struct  unique_fallback< std::shared_ptr< T > >
 
struct  unique_fallback< std::unique_ptr< T, D > >
 
struct  voider
 
struct  with_function_tag
 
struct  yield_tag_t
 

Typedefs

template<typename... Args>
using any_is_constructor = meta::any< is_constructor< meta::unqualified_t< Args > >... >
 
template<typename... Args>
using any_is_destructor = meta::any< is_destructor< meta::unqualified_t< Args > >... >
 
template<typename T >
using array_return_type = meta::conditional_t< std::is_array< T >::value, std::add_lvalue_reference_t< T >, T >
 
template<bool B, class T , class F >
using conditional_t = typename std::conditional< B, T, F >::type
 
template<class T >
using decay_t = typename std::decay< T >::type
 
template<class T , class... U>
using disable_if_ret_void = enable_if_t<!returns_void< T &&, U... >::value >
 
template<class T , class U >
using enable_assign_forward = detail::enable_if_t<!std::is_same< optional< T >, detail::decay_t< U > >::value &&!detail::conjunction< std::is_scalar< T >, std::is_same< T, detail::decay_t< U > >>::value &&std::is_constructible< T, U >::value &&std::is_assignable< T &, U >::value >
 
template<class T , class U , class Other >
using enable_assign_from_other = detail::enable_if_t< std::is_constructible< T, Other >::value &&std::is_assignable< T &, Other >::value &&!std::is_constructible< T, optional< U > & >::value &&!std::is_constructible< T, optional< U > && >::value &&!std::is_constructible< T, const optional< U > & >::value &&!std::is_constructible< T, const optional< U > && >::value &&!std::is_convertible< optional< U > &, T >::value &&!std::is_convertible< optional< U > &&, T >::value &&!std::is_convertible< const optional< U > &, T >::value &&!std::is_convertible< const optional< U > &&, T >::value &&!std::is_assignable< T &, optional< U > & >::value &&!std::is_assignable< T &, optional< U > && >::value &&!std::is_assignable< T &, const optional< U > & >::value &&!std::is_assignable< T &, const optional< U > && >::value >
 
template<class T , class U >
using enable_forward_value = detail::enable_if_t< std::is_constructible< T, U && >::value &&!std::is_same< detail::decay_t< U >, in_place_t >::value &&!std::is_same< optional< T >, detail::decay_t< U > >::value >
 
template<class T , class U , class Other >
using enable_from_other = detail::enable_if_t< std::is_constructible< T, Other >::value &&!std::is_constructible< T, optional< U > & >::value &&!std::is_constructible< T, optional< U > && >::value &&!std::is_constructible< T, const optional< U > & >::value &&!std::is_constructible< T, const optional< U > && >::value &&!std::is_convertible< optional< U > &, T >::value &&!std::is_convertible< optional< U > &&, T >::value &&!std::is_convertible< const optional< U > &, T >::value &&!std::is_convertible< const optional< U > &&, T >::value >
 
template<class T , class... U>
using enable_if_ret_void = enable_if_t< returns_void< T &&, U... >::value >
 
template<bool E, class T = void>
using enable_if_t = typename std::enable_if< E, T >::type
 
template<class U >
using fixup_void = conditional_t< std::is_void< U >::value, monostate, U >
 
template<class F , class U , class = invoke_result_t<F, U>>
using get_map_return = optional< fixup_void< invoke_result_t< F, U > >>
 
using inheritance_cast_function = decltype(&inheritance< void >::type_cast)
 
using inheritance_check_function = decltype(&inheritance< void >::type_check)
 
using inheritance_unique_cast_function = decltype(&inheritance< void >::type_unique_cast< void >)
 
template<class F , class... Us>
using invoke_result = invoke_result_impl< F, void, Us... >
 
template<class F , class... Us>
using invoke_result_t = typename invoke_result< F, Us... >::type
 
template<typename T , typename... >
using is_insert_mode = std::integral_constant< bool, std::is_same_v< T, override_value_t >||std::is_same_v< T, update_if_empty_t >||std::is_same_v< T, create_if_nil_t > >
 
template<typename T >
using is_msvc_callable_rigged = meta::any< meta::is_specialization_of< T, push_invoke_t >, meta::is_specialization_of< T, as_table_t >, meta::is_specialization_of< T, forward_as_value_t >, meta::is_specialization_of< T, as_container_t >, meta::is_specialization_of< T, nested >, meta::is_specialization_of< T, yielding_t > >
 
template<typename T , typename... >
using is_not_insert_mode = meta::neg< is_insert_mode< T > >
 
template<class T >
using is_optional = is_optional_impl< decay_t< T > >
 
template<typename T >
using is_policy = meta::is_specialization_of< T, policy_wrapper >
 
typedef int(* lua_CFunction_noexcept) (lua_State *L) noexcept
 
using lua_reg_table = luaL_Reg[64]
 
template<typename T >
using proxy_key_t = meta::conditional_t< meta::is_specialization_of_v< meta::unqualified_t< T >, std::tuple >, T, std::tuple< meta::conditional_t< std::is_array_v< meta::unqualified_t< T > >, std::remove_reference_t< T > &, meta::unqualified_t< T > >> >
 
template<class T >
using remove_const_t = typename std::remove_const< T >::type
 
template<class T >
using remove_reference_t = typename std::remove_reference< T >::type
 
template<class F , class... U>
using returns_void = returns_void_impl< F, void, U... >
 
using swallow = std::initializer_list< int >
 
using typical_chunk_name_t = char[SOL_ID_SIZE_I_]
 
using typical_file_chunk_name_t = char[SOL_FILE_ID_SIZE_I_]
 
using unique_destructor = void(*)(void *)
 
using unique_tag = detail::inheritance_unique_cast_function
 
template<class... Ts>
using void_t = typename voider< Ts... >::type
 

Enumerations

enum  insert_mode { none = 0x0, update_if_empty = 0x01, override_value = 0x02, create_if_nil = 0x04 }
 

Functions

void accumulate_and_mark (const std::string &n, std::string &aux_message, int &marker)
 
template<typename T >
int adl_default_to_string (std::false_type, lua_State *L)
 
template<typename T >
int adl_default_to_string (std::true_type, lua_State *L)
 
constexpr std::uintptr_t align (std::size_t alignment, std::uintptr_t ptr, std::size_t &space)
 
void * align (std::size_t alignment, void *ptr, std::size_t &space)
 
constexpr std::uintptr_t align_one (std::size_t alignment, std::size_t size, std::uintptr_t ptr)
 
template<typename T >
void * align_user (void *ptr)
 
void * align_usertype_pointer (void *ptr)
 
template<typename T , bool pre_aligned = false, bool pre_shifted = false>
void * align_usertype_unique (void *ptr)
 
template<bool pre_aligned = false, bool pre_shifted = false>
void * align_usertype_unique_destructor (void *ptr)
 
template<bool pre_aligned = false, bool pre_shifted = false>
void * align_usertype_unique_tag (void *ptr)
 
template<typename... Args>
constexpr std::size_t aligned_space_for ()
 
template<typename... Args>
constexpr std::size_t aligned_space_for (std::uintptr_t ptr)
 
void * alloc_newuserdata (lua_State *L, std::size_t bytesize)
 
bool attempt_alloc (lua_State *L, std::size_t ptr_align, std::size_t ptr_size, std::size_t value_align, std::size_t allocated_size, void *&pointer_adjusted, void *&data_adjusted)
 
bool attempt_alloc_unique (lua_State *L, std::size_t ptr_align, std::size_t ptr_size, std::size_t real_align, std::size_t allocated_size, void *&pointer_adjusted, void *&dx_adjusted, void *&id_adjusted, void *&data_adjusted)
 
decltype(auto) base_class_cast_key ()
 
decltype(auto) base_class_check_key ()
 
decltype(auto) base_class_index_propogation_key ()
 
decltype(auto) base_class_new_index_propogation_key ()
 
int c_trampoline (lua_State *L, lua_CFunction f)
 
int call_exception_handler (lua_State *L, optional< const std::exception & > maybe_ex, string_view what)
 
template<typename T >
int cannot_destroy (lua_State *L)
 
void clear_entries (const reference &registry_reference)
 
void clear_entries (stack_reference r)
 
template<typename T , typename Op >
int comparsion_operator_wrap (lua_State *L)
 
const std::string & default_chunk_name ()
 
int default_exception_handler (lua_State *L, optional< const std::exception & >, string_view what)
 
const char(& default_exception_handler_name ())[11]
 
const char(& default_handler_name ())[9]
 
const char(& default_main_thread_name ())[9]
 
template<typename T >
int default_size (lua_State *L)
 
template<typename T >
int default_to_string (lua_State *L)
 
template<typename T >
const std::string & demangle ()
 
template<typename T >
std::string demangle_once ()
 
template<typename T >
decltype(auto) deref (T &&item)
 
template<typename T >
decltype(auto) deref_move_only (T &&item)
 
int fail_on_newindex (lua_State *L_)
 
template<typename Base , typename T >
basic_function< Base > force_cast (T &p)
 
template<std::size_t I, std::size_t N, typename Arg , typename... Args, typename T , meta::enable< meta::boolean<(N > 0)> >
stack_proxy get (types< Arg, Args... >, meta::index_value< N >, meta::index_value< I >, const T &fr)
 
template<std::size_t I, typename... Args, typename T >
stack_proxy get (types< Args... >, meta::index_value< 0 >, meta::index_value< I >, const T &fr)
 
template<typename Reference , bool IsMainReference = false>
Reference get_default_handler (lua_State *L_)
 
int handle_errors (lua_State *L, const error_result &er)
 
template<bool ShouldPush_, typename Handler_ >
void handle_protected_exception (lua_State *L_, optional< const std::exception & > maybe_ex, const char *error, detail::protected_handler< ShouldPush_, Handler_ > &handler_)
 
template<typename T , typename IFx , typename Fx >
void insert_default_registrations (IFx &&ifx, Fx &&fx)
 
template<typename Fn , typename... Args, typename = enable_if_t<!std::is_member_pointer<decay_t<Fn>>::value>>
constexpr auto invoke (Fn &&f, Args &&... args) noexcept(noexcept(std::forward< Fn >(f)(std::forward< Args >(args)...))) -> decltype(std::forward< Fn >(f)(std::forward< Args >(args)...))
 
template<typename Fn , typename... Args, typename = enable_if_t<std::is_member_pointer<decay_t<Fn>>::value>, int = 0>
constexpr auto invoke (Fn &&f, Args &&... args) noexcept(noexcept(std::mem_fn(f)(std::forward< Args >(args)...))) -> decltype(std::mem_fn(f)(std::forward< Args >(args)...))
 
template<typename T >
int is_check (lua_State *L)
 
int lua_cfunction_trampoline (lua_State *L, lua_CFunction f)
 
template<std::size_t N>
const char * make_chunk_name (const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
 
template<typename T >
lua_CFunction make_destructor ()
 
template<typename T >
lua_CFunction make_destructor (std::false_type)
 
template<typename T >
lua_CFunction make_destructor (std::true_type)
 
template<typename T , typename Dx , typename... Args>
std::unique_ptr< T, Dx > make_unique_deleter (Args &&... args)
 
template<typename T >
int member_default_to_string (std::false_type, lua_State *L)
 
template<typename T >
int member_default_to_string (std::true_type, lua_State *L)
 
template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t< std::is_void< Ret >::value > * = nullptr>
auto optional_map_impl (Opt &&opt, F &&f) -> optional< monostate >
 
template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t<!std::is_void< Ret >::value > * = nullptr>
constexpr auto optional_map_impl (Opt &&opt, F &&f) -> optional< Ret >
 
template<typename T >
int oss_default_to_string (std::false_type, lua_State *L)
 
template<typename T >
int oss_default_to_string (std::true_type, lua_State *L)
 
template<bool b>
lua_Statepick_main_thread (lua_State *L_, lua_State *backup_if_unsupported=nullptr)
 
bool property_always_true (meta_function)
 
template<typename T >
T * ptr (std::reference_wrapper< T > val)
 
template<typename T >
T * ptr (T &val)
 
template<typename T >
T * ptr (T *val)
 
template<typename T , typename Tr , typename Al >
void reserve (std::basic_string< T, Tr, Al > &str, std::size_t hint)
 
template<typename T , typename Al >
void reserve (std::vector< T, Al > &vec, std::size_t hint)
 
template<typename T >
void reserve (T &, std::size_t)
 
template<typename F >
constexpr void resolve_f (std::false_type, F &&)
 
template<typename F , typename U = meta::unqualified_t<F>>
constexpr auto resolve_f (std::true_type, F &&f) -> decltype(resolve_i(types< meta::function_signature_t< decltype(&U::operator())>>(), std::forward< F >(f)))
 
template<typename... Args, typename F , typename R = std::invoke_result_t<F&, Args...>>
constexpr auto resolve_i (types< Args... >, F &&f) -> decltype(resolve_i(types< R(Args...)>(), std::forward< F >(f)))
 
template<typename R , typename... Args, typename F , typename = std::invoke_result_t<meta::unqualified_t<F>, Args...>>
constexpr auto resolve_i (types< R(Args...)>, F &&) -> R(meta::unqualified_t< F >::*)(Args...)
 
template<typename F , typename U = meta::unqualified_t<F>>
constexpr auto resolve_i (types<>, F &&f) -> decltype(resolve_f(meta::call_operator_deducible< U >(), std::forward< F >(f)))
 
template<typename Sig , typename C >
constexpr Sig C::* resolve_v (std::false_type, Sig C::*mem_func_ptr)
 
template<typename Sig , typename C >
constexpr Sig C::* resolve_v (std::true_type, Sig C::*mem_variable_ptr)
 
template<typename T >
void set_default_handler (lua_State *L, const T &ref)
 
template<typename T >
const std::string & short_demangle ()
 
std::string short_demangle_from_type_name (std::string realname)
 
template<typename T >
std::string short_demangle_once ()
 
void stack_fail (int, int)
 
template<lua_CFunction f>
int static_trampoline (lua_State *L)
 
template<lua_CFunction_noexcept f>
int static_trampoline_noexcept (lua_State *L) noexcept
 
template<typename Fx , typename... Args>
int trampoline (lua_State *L, Fx &&f, Args &&... args)
 
template<typename F , F fx>
int typed_static_trampoline (lua_State *L)
 
template<typename T >
int unique_destroy (lua_State *L) noexcept
 
template<typename T >
auto unique_get (lua_State *L_, T &value_) noexcept(unique_get_noexcept< std::remove_cv_t< T >>())
 
template<typename T >
constexpr bool unique_get_noexcept () noexcept
 
template<typename T >
bool unique_is_null (lua_State *L_, T &value_) noexcept(unique_is_null_noexcept< std::remove_cv_t< T >>())
 
template<typename T >
constexpr bool unique_is_null_noexcept () noexcept
 
template<typename T >
T & unwrap (std::reference_wrapper< T > arg)
 
template<typename T >
auto unwrap (T &&item) -> decltype(std::forward< T >(item))
 
template<typename T >
int user_alloc_destroy (lua_State *L) noexcept
 
template<typename T >
T * user_allocate (lua_State *L)
 
template<typename T >
int usertype_alloc_destroy (lua_State *L) noexcept
 
template<typename T >
T * usertype_allocate (lua_State *L)
 
template<typename T >
T ** usertype_allocate_pointer (lua_State *L)
 
template<typename T , typename Real >
void usertype_unique_alloc_destroy (void *memory)
 
template<typename T , typename Real >
Real * usertype_unique_allocate (lua_State *L, T **&pref, unique_destructor *&dx, unique_tag *&id)
 
bool xmovable (lua_State *leftL, lua_State *rightL)
 

Variables

template<typename... Args>
constexpr bool any_is_constructor_v = any_is_constructor<Args...>::value
 
template<typename... Args>
constexpr bool any_is_destructor_v = any_is_destructor<Args...>::value
 
template<typename T >
constexpr auto associated_nullopt_v = associated_nullopt<T>::value
 
const bool default_safe_function_calls
 
const auto direct_error = direct_error_tag {}
 
template<typename T >
constexpr bool is_constructor_v = is_constructor<T>::value
 
template<typename T >
constexpr bool is_msvc_callable_rigged_v = is_msvc_callable_rigged<T>::value
 
template<typename T >
constexpr bool is_non_factory_constructor_v = is_non_factory_constructor<T>::value
 
template<typename T >
constexpr bool is_policy_v = is_policy<T>::value
 
template<typename Tag >
constexpr bool is_tagged_v
 
struct sol::detail::no_safety_tag no_safety
 
constexpr const char * not_a_number = "not a numeric type"
 
constexpr const char * not_a_number_integral = "not a numeric type that fits exactly an integer (number maybe has significant decimals)"
 
constexpr const char * not_a_number_or_number_string = "not a numeric type or numeric string"
 
constexpr const char * not_a_number_or_number_string_integral = "not a numeric type or a numeric string that fits exactly an integer (e.g. number maybe has significant decimals)"
 
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"
 
constexpr const char * protected_function_error = "caught (...) unknown error during protected_function call"
 
constexpr std::array< string_view, 9 > removals
 
const unchecked_t unchecked = unchecked_t {}
 
constexpr yield_tag_t yield_tag {}
 

Detailed Description

\exclude

Typedef Documentation

◆ any_is_constructor

template<typename... Args>
using sol::detail::any_is_constructor = typedef meta::any<is_constructor<meta::unqualified_t<Args> >...>

Definition at line 8629 of file sol.hpp.

◆ any_is_destructor

template<typename... Args>
using sol::detail::any_is_destructor = typedef meta::any<is_destructor<meta::unqualified_t<Args> >...>

Definition at line 8641 of file sol.hpp.

◆ array_return_type

template<typename T >
using sol::detail::array_return_type = typedef meta::conditional_t<std::is_array<T>::value, std::add_lvalue_reference_t<T>, T>

Definition at line 17646 of file sol.hpp.

◆ conditional_t

template<bool B, class T , class F >
using sol::detail::conditional_t = typedef typename std::conditional<B, T, F>::type

Definition at line 4726 of file sol.hpp.

◆ decay_t

template<class T >
using sol::detail::decay_t = typedef typename std::decay<T>::type

Definition at line 4722 of file sol.hpp.

◆ disable_if_ret_void

template<class T , class... U>
using sol::detail::disable_if_ret_void = typedef enable_if_t<!returns_void<T&&, U...>::value>

Definition at line 4833 of file sol.hpp.

◆ enable_assign_forward

template<class T , class U >
using sol::detail::enable_assign_forward = typedef detail::enable_if_t<!std::is_same<optional<T>, detail::decay_t<U> >::value && !detail::conjunction<std::is_scalar<T>, std::is_same<T, detail::decay_t<U> >>::value && std::is_constructible<T, U>::value && std::is_assignable<T&, U>::value>

Definition at line 4849 of file sol.hpp.

◆ enable_assign_from_other

template<class T , class U , class Other >
using sol::detail::enable_assign_from_other = typedef detail::enable_if_t<std::is_constructible<T, Other>::value && std::is_assignable<T&, Other>::value && !std::is_constructible<T, optional<U>&>::value && !std::is_constructible<T, optional<U>&&>::value && !std::is_constructible<T, const optional<U>&>::value && !std::is_constructible<T, const optional<U>&&>::value && !std::is_convertible<optional<U>&, T>::value && !std::is_convertible<optional<U>&&, T>::value && !std::is_convertible<const optional<U>&, T>::value && !std::is_convertible<const optional<U>&&, T>::value && !std::is_assignable<T&, optional<U>&>::value && !std::is_assignable<T&, optional<U>&&>::value && !std::is_assignable<T&, const optional<U>&>::value && !std::is_assignable<T&, const optional<U>&&>::value>

Definition at line 4858 of file sol.hpp.

◆ enable_forward_value

template<class T , class U >
using sol::detail::enable_forward_value = typedef detail::enable_if_t<std::is_constructible<T, U&&>::value && !std::is_same<detail::decay_t<U>, in_place_t>::value && !std::is_same<optional<T>, detail::decay_t<U> >::value>

Definition at line 4837 of file sol.hpp.

◆ enable_from_other

template<class T , class U , class Other >
using sol::detail::enable_from_other = typedef detail::enable_if_t<std::is_constructible<T, Other>::value && !std::is_constructible<T, optional<U>&>::value && !std::is_constructible<T, optional<U>&&>::value && !std::is_constructible<T, const optional<U>&>::value && !std::is_constructible<T, const optional<U>&&>::value && !std::is_convertible<optional<U>&, T>::value && !std::is_convertible<optional<U>&&, T>::value && !std::is_convertible<const optional<U>&, T>::value && !std::is_convertible<const optional<U>&&, T>::value>

Definition at line 4844 of file sol.hpp.

◆ enable_if_ret_void

template<class T , class... U>
using sol::detail::enable_if_ret_void = typedef enable_if_t<returns_void<T&&, U...>::value>

Definition at line 4830 of file sol.hpp.

◆ enable_if_t

template<bool E, class T = void>
using sol::detail::enable_if_t = typedef typename std::enable_if<E, T>::type

Definition at line 4724 of file sol.hpp.

◆ fixup_void

template<class U >
using sol::detail::fixup_void = typedef conditional_t<std::is_void<U>::value, monostate, U>

Definition at line 4816 of file sol.hpp.

◆ get_map_return

template<class F , class U , class = invoke_result_t<F, U>>
using sol::detail::get_map_return = typedef optional<fixup_void<invoke_result_t<F, U> >>

Definition at line 4819 of file sol.hpp.

◆ inheritance_cast_function

using sol::detail::inheritance_cast_function = typedef decltype(&inheritance<void>::type_cast)

Definition at line 9487 of file sol.hpp.

◆ inheritance_check_function

using sol::detail::inheritance_check_function = typedef decltype(&inheritance<void>::type_check)

Definition at line 9486 of file sol.hpp.

◆ inheritance_unique_cast_function

using sol::detail::inheritance_unique_cast_function = typedef decltype(&inheritance<void>::type_unique_cast<void>)

Definition at line 9488 of file sol.hpp.

◆ invoke_result

template<class F , class... Us>
using sol::detail::invoke_result = typedef invoke_result_impl<F, void, Us...>

Definition at line 4792 of file sol.hpp.

◆ invoke_result_t

template<class F , class... Us>
using sol::detail::invoke_result_t = typedef typename invoke_result<F, Us...>::type

Definition at line 4795 of file sol.hpp.

◆ is_insert_mode

template<typename T , typename... >
using sol::detail::is_insert_mode = typedef std::integral_constant<bool, std::is_same_v<T, override_value_t> || std::is_same_v<T, update_if_empty_t> || std::is_same_v<T, create_if_nil_t> >

Definition at line 7749 of file sol.hpp.

◆ is_msvc_callable_rigged

Definition at line 8414 of file sol.hpp.

◆ is_not_insert_mode

template<typename T , typename... >
using sol::detail::is_not_insert_mode = typedef meta::neg<is_insert_mode<T> >

Definition at line 7752 of file sol.hpp.

◆ is_optional

template<class T >
using sol::detail::is_optional = typedef is_optional_impl<decay_t<T> >

Definition at line 4812 of file sol.hpp.

◆ is_policy

template<typename T >
using sol::detail::is_policy = typedef meta::is_specialization_of<T, policy_wrapper>

Definition at line 7116 of file sol.hpp.

◆ lua_CFunction_noexcept

typedef int(* sol::detail::lua_CFunction_noexcept) (lua_State *L) noexcept
noexcept

Definition at line 7285 of file sol.hpp.

◆ lua_reg_table

using sol::detail::lua_reg_table = typedef luaL_Reg[64]

Definition at line 10950 of file sol.hpp.

◆ proxy_key_t

Definition at line 16954 of file sol.hpp.

◆ remove_const_t

template<class T >
using sol::detail::remove_const_t = typedef typename std::remove_const<T>::type

Definition at line 4718 of file sol.hpp.

◆ remove_reference_t

template<class T >
using sol::detail::remove_reference_t = typedef typename std::remove_reference<T>::type

Definition at line 4720 of file sol.hpp.

◆ returns_void

template<class F , class... U>
using sol::detail::returns_void = typedef returns_void_impl<F, void, U...>

Definition at line 4827 of file sol.hpp.

◆ swallow

using sol::detail::swallow = typedef std::initializer_list<int>

Definition at line 1460 of file sol.hpp.

◆ typical_chunk_name_t

Definition at line 16388 of file sol.hpp.

◆ typical_file_chunk_name_t

Definition at line 16389 of file sol.hpp.

◆ unique_destructor

using sol::detail::unique_destructor = typedef void (*)(void*)

Definition at line 10952 of file sol.hpp.

◆ unique_tag

Definition at line 10953 of file sol.hpp.

◆ void_t

template<class... Ts>
using sol::detail::void_t = typedef typename voider<Ts...>::type

Definition at line 4804 of file sol.hpp.

Enumeration Type Documentation

◆ insert_mode

Enumerator
none 
update_if_empty 
override_value 
create_if_nil 

Definition at line 7745 of file sol.hpp.

Function Documentation

◆ accumulate_and_mark()

void sol::detail::accumulate_and_mark ( const std::string &  n,
std::string &  aux_message,
int &  marker 
)
inline

Definition at line 9517 of file sol.hpp.

◆ adl_default_to_string() [1/2]

template<typename T >
int sol::detail::adl_default_to_string ( std::false_type  ,
lua_State L 
)

Definition at line 12241 of file sol.hpp.

◆ adl_default_to_string() [2/2]

template<typename T >
int sol::detail::adl_default_to_string ( std::true_type  ,
lua_State L 
)

Definition at line 12234 of file sol.hpp.

◆ align() [1/2]

constexpr std::uintptr_t sol::detail::align ( std::size_t  alignment,
std::uintptr_t  ptr,
std::size_t &  space 
)
constexpr

Definition at line 10963 of file sol.hpp.

◆ align() [2/2]

void* sol::detail::align ( std::size_t  alignment,
void *  ptr,
std::size_t &  space 
)
inline

Definition at line 10975 of file sol.hpp.

◆ align_one()

constexpr std::uintptr_t sol::detail::align_one ( std::size_t  alignment,
std::size_t  size,
std::uintptr_t  ptr 
)
constexpr

Definition at line 10979 of file sol.hpp.

◆ align_user()

template<typename T >
void* sol::detail::align_user ( void *  ptr)

Definition at line 11093 of file sol.hpp.

◆ align_usertype_pointer()

void* sol::detail::align_usertype_pointer ( void *  ptr)
inline

Definition at line 11010 of file sol.hpp.

◆ align_usertype_unique()

template<typename T , bool pre_aligned = false, bool pre_shifted = false>
void* sol::detail::align_usertype_unique ( void *  ptr)

Definition at line 11070 of file sol.hpp.

◆ align_usertype_unique_destructor()

template<bool pre_aligned = false, bool pre_shifted = false>
void* sol::detail::align_usertype_unique_destructor ( void *  ptr)

Definition at line 11026 of file sol.hpp.

◆ align_usertype_unique_tag()

template<bool pre_aligned = false, bool pre_shifted = false>
void* sol::detail::align_usertype_unique_tag ( void *  ptr)

Definition at line 11048 of file sol.hpp.

◆ aligned_space_for() [1/2]

template<typename... Args>
constexpr std::size_t sol::detail::aligned_space_for ( )
constexpr

Definition at line 10992 of file sol.hpp.

◆ aligned_space_for() [2/2]

template<typename... Args>
constexpr std::size_t sol::detail::aligned_space_for ( std::uintptr_t  ptr)
constexpr

Definition at line 10985 of file sol.hpp.

◆ alloc_newuserdata()

void* sol::detail::alloc_newuserdata ( lua_State L,
std::size_t  bytesize 
)
inline

Definition at line 10955 of file sol.hpp.

◆ attempt_alloc()

bool sol::detail::attempt_alloc ( lua_State L,
std::size_t  ptr_align,
std::size_t  ptr_size,
std::size_t  value_align,
std::size_t  allocated_size,
void *&  pointer_adjusted,
void *&  data_adjusted 
)
inline

Definition at line 11138 of file sol.hpp.

◆ attempt_alloc_unique()

bool sol::detail::attempt_alloc_unique ( lua_State L,
std::size_t  ptr_align,
std::size_t  ptr_size,
std::size_t  real_align,
std::size_t  allocated_size,
void *&  pointer_adjusted,
void *&  dx_adjusted,
void *&  id_adjusted,
void *&  data_adjusted 
)
inline

Definition at line 11157 of file sol.hpp.

◆ base_class_cast_key()

decltype(auto) sol::detail::base_class_cast_key ( )
inline

Definition at line 9347 of file sol.hpp.

◆ base_class_check_key()

decltype(auto) sol::detail::base_class_check_key ( )
inline

Definition at line 9342 of file sol.hpp.

◆ base_class_index_propogation_key()

decltype(auto) sol::detail::base_class_index_propogation_key ( )
inline

Definition at line 9352 of file sol.hpp.

◆ base_class_new_index_propogation_key()

decltype(auto) sol::detail::base_class_new_index_propogation_key ( )
inline

Definition at line 9357 of file sol.hpp.

◆ c_trampoline()

int sol::detail::c_trampoline ( lua_State L,
lua_CFunction  f 
)
inline

Definition at line 8875 of file sol.hpp.

◆ call_exception_handler()

int sol::detail::call_exception_handler ( lua_State L,
optional< const std::exception & >  maybe_ex,
string_view  what 
)
inline

Definition at line 8752 of file sol.hpp.

◆ cannot_destroy()

template<typename T >
int sol::detail::cannot_destroy ( lua_State L)

Definition at line 11355 of file sol.hpp.

◆ clear_entries() [1/2]

void sol::detail::clear_entries ( const reference registry_reference)
inline

Definition at line 16428 of file sol.hpp.

◆ clear_entries() [2/2]

void sol::detail::clear_entries ( stack_reference  r)
inline

Definition at line 16419 of file sol.hpp.

◆ comparsion_operator_wrap()

template<typename T , typename Op >
int sol::detail::comparsion_operator_wrap ( lua_State L)

Definition at line 12269 of file sol.hpp.

◆ default_chunk_name()

const std::string& sol::detail::default_chunk_name ( )
inline

Definition at line 16391 of file sol.hpp.

◆ default_exception_handler()

int sol::detail::default_exception_handler ( lua_State L,
optional< const std::exception & >  ,
string_view  what 
)
inline

Definition at line 8742 of file sol.hpp.

◆ default_exception_handler_name()

const char(& sol::detail::default_exception_handler_name ( ) )[11]
inline

Definition at line 8736 of file sol.hpp.

◆ default_handler_name()

const char(& sol::detail::default_handler_name ( ) )[9]
inline

Definition at line 20733 of file sol.hpp.

◆ default_main_thread_name()

const char(& sol::detail::default_main_thread_name ( ) )[9]
inline

Definition at line 9938 of file sol.hpp.

◆ default_size()

template<typename T >
int sol::detail::default_size ( lua_State L)

Definition at line 12263 of file sol.hpp.

◆ default_to_string()

template<typename T >
int sol::detail::default_to_string ( lua_State L)

Definition at line 12258 of file sol.hpp.

◆ demangle()

template<typename T >
const std::string& sol::detail::demangle ( )

Definition at line 9068 of file sol.hpp.

◆ demangle_once()

template<typename T >
std::string sol::detail::demangle_once ( )

Definition at line 9018 of file sol.hpp.

◆ deref()

template<typename T >
decltype(auto) sol::detail::deref ( T &&  item)
inline

Definition at line 2084 of file sol.hpp.

◆ deref_move_only()

template<typename T >
decltype(auto) sol::detail::deref_move_only ( T &&  item)
inline

Definition at line 2095 of file sol.hpp.

◆ fail_on_newindex()

int sol::detail::fail_on_newindex ( lua_State L_)
inline

Definition at line 25455 of file sol.hpp.

◆ force_cast()

template<typename Base , typename T >
basic_function<Base> sol::detail::force_cast ( T &  p)
inline

Definition at line 20774 of file sol.hpp.

◆ get() [1/2]

template<std::size_t I, std::size_t N, typename Arg , typename... Args, typename T , meta::enable< meta::boolean<(N > 0)> >
stack_proxy sol::detail::get ( types< Arg, Args... >  ,
meta::index_value< N >  ,
meta::index_value< I >  ,
const T &  fr 
)

Definition at line 17602 of file sol.hpp.

◆ get() [2/2]

template<std::size_t I, typename... Args, typename T >
stack_proxy sol::detail::get ( types< Args... >  ,
meta::index_value< 0 >  ,
meta::index_value< I >  ,
const T &  fr 
)

Definition at line 17597 of file sol.hpp.

◆ get_default_handler()

template<typename Reference , bool IsMainReference = false>
Reference sol::detail::get_default_handler ( lua_State L_)
inline

Definition at line 20779 of file sol.hpp.

◆ handle_errors()

int sol::detail::handle_errors ( lua_State L,
const error_result er 
)
inline

Definition at line 4565 of file sol.hpp.

◆ handle_protected_exception()

template<bool ShouldPush_, typename Handler_ >
void sol::detail::handle_protected_exception ( lua_State L_,
optional< const std::exception & >  maybe_ex,
const char *  error,
detail::protected_handler< ShouldPush_, Handler_ > &  handler_ 
)
inline

Definition at line 20816 of file sol.hpp.

◆ insert_default_registrations()

template<typename T , typename IFx , typename Fx >
void sol::detail::insert_default_registrations ( IFx &&  ifx,
Fx &&  fx 
)
inline

Definition at line 23327 of file sol.hpp.

◆ invoke() [1/2]

template<typename Fn , typename... Args, typename = enable_if_t<!std::is_member_pointer<decay_t<Fn>>::value>>
constexpr auto sol::detail::invoke ( Fn &&  f,
Args &&...  args 
) -> decltype(std::forward<Fn>(f)(std::forward<Args>(args)...))
constexprnoexcept

Definition at line 4777 of file sol.hpp.

◆ invoke() [2/2]

template<typename Fn , typename... Args, typename = enable_if_t<std::is_member_pointer<decay_t<Fn>>::value>, int = 0>
constexpr auto sol::detail::invoke ( Fn &&  f,
Args &&...  args 
) -> decltype(std::mem_fn(f)(std::forward<Args>(args)...))
constexprnoexcept

Definition at line 4771 of file sol.hpp.

◆ is_check()

template<typename T >
int sol::detail::is_check ( lua_State L)

Definition at line 12215 of file sol.hpp.

◆ lua_cfunction_trampoline()

int sol::detail::lua_cfunction_trampoline ( lua_State L,
lua_CFunction  f 
)
inline

Definition at line 8796 of file sol.hpp.

◆ make_chunk_name()

template<std::size_t N>
const char* sol::detail::make_chunk_name ( const string_view code,
const std::string &  chunkname,
char(&)  basechunkname[N] 
)

Definition at line 16397 of file sol.hpp.

◆ make_destructor() [1/3]

template<typename T >
lua_CFunction sol::detail::make_destructor ( )

Definition at line 12203 of file sol.hpp.

◆ make_destructor() [2/3]

template<typename T >
lua_CFunction sol::detail::make_destructor ( std::false_type  )

Definition at line 12198 of file sol.hpp.

◆ make_destructor() [3/3]

template<typename T >
lua_CFunction sol::detail::make_destructor ( std::true_type  )

Definition at line 12185 of file sol.hpp.

◆ make_unique_deleter()

template<typename T , typename Dx , typename... Args>
std::unique_ptr<T, Dx> sol::detail::make_unique_deleter ( Args &&...  args)
inline

Definition at line 6963 of file sol.hpp.

◆ member_default_to_string() [1/2]

template<typename T >
int sol::detail::member_default_to_string ( std::false_type  ,
lua_State L 
)

Definition at line 12226 of file sol.hpp.

◆ member_default_to_string() [2/2]

template<typename T >
int sol::detail::member_default_to_string ( std::true_type  ,
lua_State L 
)

Definition at line 12220 of file sol.hpp.

◆ optional_map_impl() [1/2]

template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t< std::is_void< Ret >::value > * = nullptr>
auto sol::detail::optional_map_impl ( Opt &&  opt,
F &&  f 
) -> optional<monostate>

Definition at line 6231 of file sol.hpp.

◆ optional_map_impl() [2/2]

template<class Opt , class F , class Ret = decltype(detail::invoke(std::declval<F>(), *std::declval<Opt>())), detail::enable_if_t<!std::is_void< Ret >::value > * = nullptr>
constexpr auto sol::detail::optional_map_impl ( Opt &&  opt,
F &&  f 
) -> optional<Ret>
constexpr

Definition at line 6224 of file sol.hpp.

◆ oss_default_to_string() [1/2]

template<typename T >
int sol::detail::oss_default_to_string ( std::false_type  ,
lua_State L 
)

Definition at line 12253 of file sol.hpp.

◆ oss_default_to_string() [2/2]

template<typename T >
int sol::detail::oss_default_to_string ( std::true_type  ,
lua_State L 
)

Definition at line 12246 of file sol.hpp.

◆ pick_main_thread()

template<bool b>
lua_State* sol::detail::pick_main_thread ( lua_State L_,
lua_State backup_if_unsupported = nullptr 
)
inline

Definition at line 10149 of file sol.hpp.

◆ property_always_true()

bool sol::detail::property_always_true ( meta_function  )
inline

Definition at line 11377 of file sol.hpp.

◆ ptr() [1/3]

template<typename T >
T* sol::detail::ptr ( std::reference_wrapper< T >  val)
inline

Definition at line 2111 of file sol.hpp.

◆ ptr() [2/3]

template<typename T >
T* sol::detail::ptr ( T &  val)
inline

Definition at line 2106 of file sol.hpp.

◆ ptr() [3/3]

template<typename T >
T* sol::detail::ptr ( T *  val)
inline

Definition at line 2116 of file sol.hpp.

◆ reserve() [1/3]

template<typename T , typename Tr , typename Al >
void sol::detail::reserve ( std::basic_string< T, Tr, Al > &  str,
std::size_t  hint 
)

Definition at line 11373 of file sol.hpp.

◆ reserve() [2/3]

template<typename T , typename Al >
void sol::detail::reserve ( std::vector< T, Al > &  vec,
std::size_t  hint 
)

Definition at line 11368 of file sol.hpp.

◆ reserve() [3/3]

template<typename T >
void sol::detail::reserve ( T &  ,
std::size_t   
)

Definition at line 11364 of file sol.hpp.

◆ resolve_f() [1/2]

template<typename F >
constexpr void sol::detail::resolve_f ( std::false_type  ,
F &&   
)
inlineconstexpr

Definition at line 19675 of file sol.hpp.

◆ resolve_f() [2/2]

template<typename F , typename U = meta::unqualified_t<F>>
constexpr auto sol::detail::resolve_f ( std::true_type  ,
F &&  f 
) -> decltype(resolve_i(types<meta::function_signature_t<decltype(&U::operator())>>(), std::forward<F>(f)))
inlineconstexpr

Definition at line 19669 of file sol.hpp.

◆ resolve_i() [1/3]

template<typename... Args, typename F , typename R = std::invoke_result_t<F&, Args...>>
constexpr auto sol::detail::resolve_i ( types< Args... >  ,
F &&  f 
) -> decltype(resolve_i(types<R(Args...)>(), std::forward<F>(f)))
inlineconstexpr

Definition at line 19685 of file sol.hpp.

◆ resolve_i() [2/3]

template<typename R , typename... Args, typename F , typename = std::invoke_result_t<meta::unqualified_t<F>, Args...>>
constexpr auto sol::detail::resolve_i ( types< R(Args...)>  ,
F &&   
) -> R (meta::unqualified_t<F>::*)(Args...)
inlineconstexpr

Definition at line 19662 of file sol.hpp.

◆ resolve_i() [3/3]

template<typename F , typename U = meta::unqualified_t<F>>
constexpr auto sol::detail::resolve_i ( types<>  ,
F &&  f 
) -> decltype(resolve_f(meta::call_operator_deducible<U>(), std::forward<F>(f)))
inlineconstexpr

Definition at line 19680 of file sol.hpp.

◆ resolve_v() [1/2]

template<typename Sig , typename C >
constexpr Sig C::* sol::detail::resolve_v ( std::false_type  ,
Sig C::*  mem_func_ptr 
)
inlineconstexpr

Definition at line 19690 of file sol.hpp.

◆ resolve_v() [2/2]

template<typename Sig , typename C >
constexpr Sig C::* sol::detail::resolve_v ( std::true_type  ,
Sig C::*  mem_variable_ptr 
)
inlineconstexpr

Definition at line 19695 of file sol.hpp.

◆ set_default_handler()

template<typename T >
void sol::detail::set_default_handler ( lua_State L,
const T &  ref 
)
inline

Definition at line 20789 of file sol.hpp.

◆ short_demangle()

template<typename T >
const std::string& sol::detail::short_demangle ( )

Definition at line 9074 of file sol.hpp.

◆ short_demangle_from_type_name()

std::string sol::detail::short_demangle_from_type_name ( std::string  realname)
inline

Definition at line 9023 of file sol.hpp.

◆ short_demangle_once()

template<typename T >
std::string sol::detail::short_demangle_once ( )

Definition at line 9062 of file sol.hpp.

◆ stack_fail()

void sol::detail::stack_fail ( int  ,
int   
)
inline

Definition at line 10885 of file sol.hpp.

◆ static_trampoline()

template<lua_CFunction f>
int sol::detail::static_trampoline ( lua_State L)

Definition at line 8825 of file sol.hpp.

◆ static_trampoline_noexcept()

template<lua_CFunction_noexcept f>
int sol::detail::static_trampoline_noexcept ( lua_State L)
noexcept

Definition at line 8831 of file sol.hpp.

◆ trampoline()

template<typename Fx , typename... Args>
int sol::detail::trampoline ( lua_State L,
Fx &&  f,
Args &&...  args 
)

Definition at line 8842 of file sol.hpp.

◆ typed_static_trampoline()

template<typename F , F fx>
int sol::detail::typed_static_trampoline ( lua_State L)
inline

Definition at line 8881 of file sol.hpp.

◆ unique_destroy()

template<typename T >
int sol::detail::unique_destroy ( lua_State L)
noexcept

Definition at line 11327 of file sol.hpp.

◆ unique_get()

template<typename T >
auto sol::detail::unique_get ( lua_State L_,
T &  value_ 
)
noexcept

Definition at line 9289 of file sol.hpp.

◆ unique_get_noexcept()

template<typename T >
constexpr bool sol::detail::unique_get_noexcept ( )
constexprnoexcept

Definition at line 9278 of file sol.hpp.

◆ unique_is_null()

template<typename T >
bool sol::detail::unique_is_null ( lua_State L_,
T &  value_ 
)
noexcept

Definition at line 9267 of file sol.hpp.

◆ unique_is_null_noexcept()

template<typename T >
constexpr bool sol::detail::unique_is_null_noexcept ( )
constexprnoexcept

Definition at line 9256 of file sol.hpp.

◆ unwrap() [1/2]

template<typename T >
T& sol::detail::unwrap ( std::reference_wrapper< T >  arg)

Definition at line 2079 of file sol.hpp.

◆ unwrap() [2/2]

template<typename T >
auto sol::detail::unwrap ( T &&  item) -> decltype(std::forward<T>(item))

Definition at line 2074 of file sol.hpp.

◆ user_alloc_destroy()

template<typename T >
int sol::detail::user_alloc_destroy ( lua_State L)
noexcept

Definition at line 11337 of file sol.hpp.

◆ user_allocate()

template<typename T >
T* sol::detail::user_allocate ( lua_State L)

Definition at line 11289 of file sol.hpp.

◆ usertype_alloc_destroy()

template<typename T >
int sol::detail::usertype_alloc_destroy ( lua_State L)
noexcept

Definition at line 11316 of file sol.hpp.

◆ usertype_allocate()

template<typename T >
T* sol::detail::usertype_allocate ( lua_State L)

Definition at line 11194 of file sol.hpp.

◆ usertype_allocate_pointer()

template<typename T >
T** sol::detail::usertype_allocate_pointer ( lua_State L)

Definition at line 11110 of file sol.hpp.

◆ usertype_unique_alloc_destroy()

template<typename T , typename Real >
void sol::detail::usertype_unique_alloc_destroy ( void *  memory)

Definition at line 11347 of file sol.hpp.

◆ usertype_unique_allocate()

template<typename T , typename Real >
Real* sol::detail::usertype_unique_allocate ( lua_State L,
T **&  pref,
unique_destructor *&  dx,
unique_tag *&  id 
)

Definition at line 11235 of file sol.hpp.

◆ xmovable()

bool sol::detail::xmovable ( lua_State leftL,
lua_State rightL 
)
inline

Definition at line 9649 of file sol.hpp.

Variable Documentation

◆ any_is_constructor_v

template<typename... Args>
constexpr bool sol::detail::any_is_constructor_v = any_is_constructor<Args...>::value
inlineconstexpr

Definition at line 8632 of file sol.hpp.

◆ any_is_destructor_v

template<typename... Args>
constexpr bool sol::detail::any_is_destructor_v = any_is_destructor<Args...>::value
inlineconstexpr

Definition at line 8644 of file sol.hpp.

◆ associated_nullopt_v

template<typename T >
constexpr auto sol::detail::associated_nullopt_v = associated_nullopt<T>::value
inlineconstexpr

Definition at line 6905 of file sol.hpp.

◆ default_safe_function_calls

const bool sol::detail::default_safe_function_calls
Initial value:
=
false

Definition at line 2853 of file sol.hpp.

◆ direct_error

const auto sol::detail::direct_error = direct_error_tag {}

Definition at line 4547 of file sol.hpp.

◆ is_constructor_v

template<typename T >
constexpr bool sol::detail::is_constructor_v = is_constructor<T>::value
inlineconstexpr

Definition at line 8626 of file sol.hpp.

◆ is_msvc_callable_rigged_v

template<typename T >
constexpr bool sol::detail::is_msvc_callable_rigged_v = is_msvc_callable_rigged<T>::value
inlineconstexpr

Definition at line 8417 of file sol.hpp.

◆ is_non_factory_constructor_v

template<typename T >
constexpr bool sol::detail::is_non_factory_constructor_v = is_non_factory_constructor<T>::value
inlineconstexpr

Definition at line 8611 of file sol.hpp.

◆ is_policy_v

template<typename T >
constexpr bool sol::detail::is_policy_v = is_policy<T>::value
inlineconstexpr

Definition at line 7119 of file sol.hpp.

◆ is_tagged_v

template<typename Tag >
constexpr bool sol::detail::is_tagged_v
inlineconstexpr
Initial value:
detail::
as_pointer_tag> || meta::is_specialization_of_v<Tag, as_value_tag> || meta::is_specialization_of_v<Tag, as_unique_tag> || meta::is_specialization_of_v<Tag, as_table_tag> || std::is_same_v<Tag, as_reference_tag> || std::is_same_v<Tag, with_function_tag>

Definition at line 10946 of file sol.hpp.

◆ no_safety

struct sol::detail::no_safety_tag sol::detail::no_safety

◆ not_a_number

constexpr const char* sol::detail::not_a_number = "not a numeric type"
constexpr

Definition at line 9501 of file sol.hpp.

◆ not_a_number_integral

constexpr const char* sol::detail::not_a_number_integral = "not a numeric type that fits exactly an integer (number maybe has significant decimals)"
constexpr

Definition at line 9503 of file sol.hpp.

◆ not_a_number_or_number_string

constexpr const char* sol::detail::not_a_number_or_number_string = "not a numeric type or numeric string"
constexpr

Definition at line 9502 of file sol.hpp.

◆ not_a_number_or_number_string_integral

constexpr const char* sol::detail::not_a_number_or_number_string_integral = "not a numeric type or a numeric string that fits exactly an integer (e.g. number maybe has significant decimals)"
constexpr

Definition at line 9505 of file sol.hpp.

◆ not_enough_stack_space

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

Definition at line 9507 of file sol.hpp.

◆ not_enough_stack_space_environment

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

Definition at line 9514 of file sol.hpp.

◆ not_enough_stack_space_floating

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

Definition at line 9508 of file sol.hpp.

◆ not_enough_stack_space_generic

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

Definition at line 9513 of file sol.hpp.

◆ not_enough_stack_space_integral

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

Definition at line 9509 of file sol.hpp.

◆ not_enough_stack_space_meta_function_name

constexpr const char* sol::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 9511 of file sol.hpp.

◆ not_enough_stack_space_string

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

Definition at line 9510 of file sol.hpp.

◆ not_enough_stack_space_userdata

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

Definition at line 9512 of file sol.hpp.

◆ protected_function_error

constexpr const char* sol::detail::protected_function_error = "caught (...) unknown error during protected_function call"
constexpr

Definition at line 9515 of file sol.hpp.

◆ removals

constexpr std::array<string_view, 9> sol::detail::removals
inlineconstexpr
Initial value:
{ { "{anonymous}",
"(anonymous namespace)",
"public:",
"private:",
"protected:",
"struct ",
"class ",
"`anonymous-namespace'",
"`anonymous namespace'" } }

Definition at line 8928 of file sol.hpp.

◆ unchecked

const unchecked_t sol::detail::unchecked = unchecked_t {}

Definition at line 1362 of file sol.hpp.

◆ yield_tag

constexpr yield_tag_t sol::detail::yield_tag {}
inlineconstexpr

Definition at line 7310 of file sol.hpp.

sol::meta::is_specialization_of_v
constexpr bool is_specialization_of_v
Definition: sol.hpp:1424


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