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

Namespaces

 adl_barrier_detail
 
 call_detail
 
 container_detail
 
 detail
 
 
 function_detail
 
 meta
 
 policy_detail
 
 stack
 
 u_detail
 
 unicode
 

Classes

struct  absolute_index
 
struct  argument_handler
 
struct  argument_handler< types< R, Args... > >
 
struct  as_args_t
 
struct  as_container_t
 
struct  as_container_t< T & >
 
struct  as_returns_t
 
struct  as_table_t
 
struct  automagic_enrollments
 
class  bad_optional_access
 
struct  base
 
struct  base_list
 
class  basic_bytecode
 
class  basic_coroutine
 
struct  basic_environment
 
class  basic_function
 
class  basic_lightuserdata
 
struct  basic_lua_table
 
class  basic_metatable
 
class  basic_object
 
class  basic_object_base
 
class  basic_protected_function
 
class  basic_reference
 
class  basic_table_core
 
class  basic_table_iterator
 
class  basic_thread
 
class  basic_userdata
 
class  basic_usertype
 
struct  basic_variadic_results
 
struct  call_construction
 
struct  closure
 
struct  closure<>
 
struct  constructor_handler
 
struct  constructor_list
 
struct  constructor_wrapper
 
struct  create_if_nil_t
 
struct  derive
 
struct  destructor_wrapper
 
struct  destructor_wrapper< void >
 
class  dump_error
 
struct  env_key_t
 
class  error
 
struct  factory_wrapper
 
struct  function_arguments
 
struct  function_sig
 
struct  is_automagical
 
struct  is_container
 
struct  is_container< basic_variadic_results< Al > >
 
struct  is_container< variadic_results >
 
struct  is_function
 
struct  is_function< basic_function< T, aligned > >
 
struct  is_function< basic_protected_function< T, aligned, Handler > >
 
struct  is_function_binding
 
struct  is_lua_index
 
struct  is_lua_index< absolute_index >
 
struct  is_lua_index< raw_index >
 
struct  is_lua_index< ref_index >
 
struct  is_lua_index< upvalue_index >
 
struct  is_lua_primitive
 
struct  is_lua_primitive< as_table_t< T > >
 
struct  is_lua_primitive< light< T > >
 
struct  is_lua_primitive< lightuserdata_value >
 
struct  is_lua_primitive< nested< T > >
 
struct  is_lua_primitive< non_null< T > >
 
struct  is_lua_primitive< optional< T > >
 
struct  is_lua_primitive< protected_function_result >
 
struct  is_lua_primitive< stack_proxy >
 
struct  is_lua_primitive< stack_proxy_base >
 
struct  is_lua_primitive< std::optional< T > >
 
struct  is_lua_primitive< std::reference_wrapper< T > >
 
struct  is_lua_primitive< T * >
 
struct  is_lua_primitive< unsafe_function_result >
 
struct  is_lua_primitive< user< T > >
 
struct  is_lua_primitive< userdata_value >
 
struct  is_lua_reference
 
struct  is_lua_reference_or_proxy
 
struct  is_main_threaded
 
struct  is_proxy_primitive
 
struct  is_stack_based
 
struct  is_stack_based< protected_function_result >
 
struct  is_stack_based< stack_count >
 
struct  is_stack_based< stack_proxy >
 
struct  is_stack_based< stack_proxy_base >
 
struct  is_stack_based< unsafe_function_result >
 
struct  is_stack_based< variadic_args >
 
struct  is_stack_table
 
struct  is_stack_table< basic_lua_table< T > >
 
struct  is_stack_table< basic_table_core< x, T > >
 
struct  is_table
 
struct  is_table< basic_lua_table< T > >
 
struct  is_table< basic_table_core< x, T > >
 
struct  is_tieable
 
struct  is_to_stringable
 
struct  is_to_stringable< base_list< Args... > >
 
struct  is_transparent_argument
 
struct  is_transparent_argument< this_environment >
 
struct  is_transparent_argument< this_main_state >
 
struct  is_transparent_argument< this_state >
 
struct  is_transparent_argument< variadic_args >
 
struct  is_unique_usertype
 
struct  is_variable_binding
 
struct  is_variadic_arguments
 
struct  light
 
struct  lightuserdata_value
 
struct  load_result
 
struct  lua_bind_traits
 
struct  lua_nil_t
 
struct  lua_size
 
struct  lua_size< std::pair< A, B > >
 
struct  lua_size< std::tuple< Args... > >
 
struct  lua_thread_state
 
struct  lua_type_of
 
struct  lua_value
 
struct  member_function_wrapper
 
struct  metatable_key_t
 
struct  metatable_registry_key
 
class  monostate
 Used to represent an optional with no data; essentially a bool. More...
 
struct  nested
 
struct  nested_tag_t
 
struct  new_table
 
struct  no_construction
 
struct  no_metatable_t
 
struct  non_null
 
class  optional
 
class  optional< T & >
 
struct  overload_set
 
struct  override_value_t
 
struct  policy_wrapper
 
struct  property_wrapper
 
struct  protect_t
 
struct  protected_function_result
 
struct  proxy_base
 
struct  proxy_base_tag
 
struct  push_invoke_t
 
struct  push_invoke_t< T & >
 
struct  raw_index
 
struct  readonly_wrapper
 
struct  ref_index
 
struct  reference_equals
 
struct  reference_hash
 
struct  returns_self_with
 
struct  stack_count
 
struct  stack_dependencies
 
struct  stack_guard
 
struct  stack_iterator
 
struct  stack_proxy
 
struct  stack_proxy_base
 
class  stack_reference
 
struct  stack_reference_equals
 
struct  stack_reference_hash
 
class  state
 
class  state_view
 
class  stateless_reference
 
class  stateless_stack_reference
 
struct  static_stack_dependencies
 
struct  table_proxy
 
struct  this_environment
 
struct  this_main_state
 
struct  this_state
 
struct  tie_size
 
struct  tie_size< protected_function_result >
 
struct  tie_size< tie_t< Tn... > >
 
struct  tie_size< unsafe_function_result >
 
struct  tie_t
 
struct  type_panic_t
 
struct  types
 
struct  unique_usertype_traits
 
struct  unique_usertype_traits< std::shared_ptr< T > >
 
struct  unique_usertype_traits< std::unique_ptr< T, D > >
 
struct  unsafe_function_result
 
struct  update_if_empty_t
 
struct  upvalue_index
 
struct  user
 
struct  userdata_value
 
struct  usertype_container
 
struct  usertype_proxy
 
struct  usertype_traits
 
struct  var_wrapper
 
struct  variadic_args
 
struct  variadic_results
 
struct  weak_derive
 
struct  wrap
 
struct  wrapper
 
struct  wrapper< F, std::enable_if_t< std::is_function< std::remove_pointer_t< meta::unqualified_t< F > > >::value > >
 
struct  wrapper< F, std::enable_if_t< std::is_member_object_pointer< meta::unqualified_t< F > >::value > >
 
struct  wrapper< R(O::*)(Args...) const >
 
struct  wrapper< R(O::*)(Args...) const & >
 
struct  wrapper< R(O::*)(Args...) const && >
 
struct  wrapper< R(O::*)(Args...) const &&noexcept >
 
struct  wrapper< R(O::*)(Args...) const &noexcept >
 
struct  wrapper< R(O::*)(Args...) const noexcept >
 
struct  wrapper< R(O::*)(Args...) const volatile & >
 
struct  wrapper< R(O::*)(Args...) const volatile && >
 
struct  wrapper< R(O::*)(Args...) const volatile &&noexcept >
 
struct  wrapper< R(O::*)(Args...) const volatile &noexcept >
 
struct  wrapper< R(O::*)(Args...) const volatile >
 
struct  wrapper< R(O::*)(Args...) const volatile noexcept >
 
struct  wrapper< R(O::*)(Args...) noexcept >
 
struct  wrapper< R(O::*)(Args...)& >
 
struct  wrapper< R(O::*)(Args...)&& >
 
struct  wrapper< R(O::*)(Args...)&&noexcept >
 
struct  wrapper< R(O::*)(Args...)&noexcept >
 
struct  wrapper< R(O::*)(Args...)>
 
struct  wrapper< R(O::*)(Args...,...) const & >
 
struct  wrapper< R(O::*)(Args...,...) const && >
 
struct  wrapper< R(O::*)(Args...,...) const &&noexcept >
 
struct  wrapper< R(O::*)(Args...,...) const &noexcept >
 
struct  wrapper< R(O::*)(Args...,...) const volatile & >
 
struct  wrapper< R(O::*)(Args...,...) const volatile && >
 
struct  wrapper< R(O::*)(Args...,...) const volatile &&noexcept >
 
struct  wrapper< R(O::*)(Args...,...) const volatile &noexcept >
 
struct  wrapper< R(O::*)(Args...,...)& >
 
struct  wrapper< R(O::*)(Args...,...)&& >
 
struct  wrapper< R(O::*)(Args...,...)&&noexcept >
 
struct  wrapper< R(O::*)(Args...,...)&noexcept >
 
struct  yielding_t
 

Typedefs

using array_value = typename lua_value::arr
 
typedef bases base_classes_tag
 
template<typename... Args>
using bases = base_list< Args... >
 
template<typename C , typename T = std::char_traits<C>>
using basic_string_view = std::basic_string_view< C, T >
 
template<typename base_type >
using basic_table = basic_table_core< false, base_type >
 
using bytecode = basic_bytecode<>
 
typedef closure c_closure
 
using check_handler_type = int(lua_State *, int, type, type, const char *)
 
template<typename... Args>
using constructors = constructor_list< Args... >
 
using coroutine = basic_coroutine< reference >
 
using environment = basic_environment< reference >
 
using exception_handler_function = int(*)(lua_State *, optional< const std::exception & >, string_view)
 
using function = unsafe_function
 
using function_result = unsafe_function_result
 
using global_table = table_core< true >
 
template<size_t I>
using in_place_index_t = std::in_place_index_t< I >
 
using in_place_t = std::in_place_t
 
template<typename T >
using in_place_type_t = std::in_place_type_t< T >
 
template<typename T >
using is_base_rebindable = meta::is_detected< detail::is_base_rebindable_test, T >
 
template<typename T >
using is_base_rebindable_non_void = meta::is_detected< detail::is_base_rebindable_test, T >
 
template<typename T >
using is_environment = std::integral_constant< bool, is_userdata_v< T >||is_table_v< T >||meta::is_specialization_of_v< T, basic_environment >>
 
template<typename T >
using is_lightuserdata = meta::is_specialization_of< T, basic_lightuserdata >
 
template<typename T >
using is_lua_c_function = meta::any< std::is_same< lua_CFunction, T >, std::is_same< detail::lua_CFunction_noexcept, T >, std::is_same< lua_CFunction_ref, T >>
 
template<typename T >
using is_table_like = std::integral_constant< bool, is_table_v< T >||is_environment_v< T >||is_userdata_v< T >>
 
template<typename T >
using is_userdata = meta::is_specialization_of< T, basic_userdata >
 
template<typename T >
using is_var_wrapper = meta::is_specialization_of< T, var_wrapper >
 
using lightuserdata = basic_lightuserdata< reference >
 
typedef std::remove_pointer_t< lua_CFunctionlua_CFunction_ref
 
using lua_table = basic_lua_table< reference >
 
using main_coroutine = basic_coroutine< main_reference >
 
using main_environment = basic_environment< main_reference >
 
using main_function = main_unsafe_function
 
using main_global_table = main_table_core< true >
 
using main_lightuserdata = basic_lightuserdata< main_reference >
 
using main_object = basic_object< main_reference >
 
using main_protected_function = main_safe_function
 
using main_reference = basic_reference< true >
 
using main_safe_function = basic_protected_function< main_reference, false, reference >
 
using main_table = main_table_core< false >
 
template<bool b>
using main_table_core = basic_table_core< b, main_reference >
 
using main_unsafe_function = basic_function< main_reference, false >
 
using main_userdata = basic_userdata< main_reference >
 
typedef meta_function meta_method
 
using metatable = basic_metatable< reference >
 
using nil_t = lua_nil_t
 
using nullopt_t = std::nullopt_t
 A tag type to represent an empty optional. More...
 
using object = basic_object< reference >
 
using protected_function = safe_function
 
using reference = basic_reference< false >
 
typedef returns_self_with returns_self
 
using safe_function = basic_protected_function< reference, false, reference >
 
using safe_function_result = protected_function_result
 
typedef static_stack_dependencies<-1, 1 > self_dependency
 
using stack_aligned_function = stack_aligned_unsafe_function
 
using stack_aligned_protected_function = stack_aligned_safe_function
 
using stack_aligned_safe_function = basic_protected_function< stack_reference, true, reference >
 
using stack_aligned_stack_handler_function = basic_protected_function< stack_reference, true, stack_reference >
 
using stack_aligned_unsafe_function = basic_function< stack_reference, true >
 
using stack_coroutine = basic_coroutine< stack_reference >
 
using stack_environment = basic_environment< stack_reference >
 
using stack_function = stack_unsafe_function
 
using stack_global_table = stack_table_core< true >
 
using stack_lightuserdata = basic_lightuserdata< stack_reference >
 
using stack_lua_table = basic_lua_table< stack_reference >
 
using stack_metatable = basic_metatable< stack_reference >
 
using stack_object = basic_object< stack_reference >
 
using stack_protected_function = stack_safe_function
 
using stack_safe_function = basic_protected_function< stack_reference, false, reference >
 
using stack_table = stack_table_core< false >
 
template<bool b>
using stack_table_core = basic_table_core< b, stack_reference >
 
using stack_thread = basic_thread< stack_reference >
 
using stack_unsafe_function = basic_function< stack_reference, false >
 
using stack_userdata = basic_userdata< stack_reference >
 
template<typename T >
using stack_usertype = basic_usertype< T, stack_reference >
 
typedef std::string_view string_view
 
typedef std::hash< std::string_viewstring_view_hash
 
using table = table_core< false >
 
template<bool b>
using table_core = basic_table_core< b, reference >
 
using thread = basic_thread< reference >
 
typedef std::u16string_view u16string_view
 
typedef std::u32string_view u32string_view
 
using unsafe_function = basic_function< reference, false >
 
using userdata = basic_userdata< reference >
 
template<typename T >
using usertype = basic_usertype< T, reference >
 
typedef std::wstring_view wstring_view
 

Enumerations

enum  call_status : int {
  call_status::ok = LUA_OK, call_status::yielded = LUA_YIELD, call_status::runtime = LUA_ERRRUN, call_status::memory = LUA_ERRMEM,
  call_status::handler = LUA_ERRERR, call_status::gc = LUA_ERRGCMM, call_status::syntax = LUA_ERRSYNTAX, call_status::file = LUA_ERRFILE
}
 
enum  call_syntax { call_syntax::dot = 0, call_syntax::colon = 1 }
 
enum  gc_mode : int { gc_mode::incremental = 0, gc_mode::generational = 1, gc_mode::default_value = incremental }
 
enum  lib : char {
  lib::base, lib::package, lib::coroutine, lib::string,
  lib::os, lib::math, lib::table, lib::debug,
  lib::bit32, lib::io, lib::ffi, lib::jit,
  lib::utf8, lib::count
}
 
enum  load_mode { load_mode::any = 0, load_mode::text = 1, load_mode::binary = 2 }
 
enum  load_status : int {
  load_status::ok = LUA_OK, load_status::syntax = LUA_ERRSYNTAX, load_status::memory = LUA_ERRMEM, load_status::gc = LUA_ERRGCMM,
  load_status::file = LUA_ERRFILE
}
 
enum  meta_function {
  meta_function::construct, meta_function::index, meta_function::new_index, meta_function::mode,
  meta_function::call, meta_function::call_function = call, meta_function::metatable, meta_function::to_string,
  meta_function::length, meta_function::unary_minus, meta_function::addition, meta_function::subtraction,
  meta_function::multiplication, meta_function::division, meta_function::modulus, meta_function::power_of,
  meta_function::involution = power_of, meta_function::concatenation, meta_function::equal_to, meta_function::less_than,
  meta_function::less_than_or_equal_to, meta_function::garbage_collect, meta_function::floor_division, meta_function::bitwise_left_shift,
  meta_function::bitwise_right_shift, meta_function::bitwise_not, meta_function::bitwise_and, meta_function::bitwise_or,
  meta_function::bitwise_xor, meta_function::pairs, meta_function::ipairs, meta_function::next,
  meta_function::type, meta_function::type_info, meta_function::call_construct, meta_function::storage,
  meta_function::gc_names, meta_function::static_index, meta_function::static_new_index
}
 
enum  thread_status : int {
  thread_status::ok = LUA_OK, thread_status::yielded = LUA_YIELD, thread_status::runtime = LUA_ERRRUN, thread_status::memory = LUA_ERRMEM,
  thread_status::gc = LUA_ERRGCMM, thread_status::handler = LUA_ERRERR, thread_status::dead = -1
}
 
enum  type : int {
  type::none = LUA_TNONE, type::lua_nil = LUA_TNIL, type::nil = lua_nil, type::string = LUA_TSTRING,
  type::number = LUA_TNUMBER, type::thread = LUA_TTHREAD, type::boolean = LUA_TBOOLEAN, type::function = LUA_TFUNCTION,
  type::userdata = LUA_TUSERDATA, type::lightuserdata = LUA_TLIGHTUSERDATA, type::table = LUA_TTABLE, type::poly = -0xFFFF
}
 

Functions

template<typename Source >
auto as_args (Source &&source)
 
template<typename T >
auto as_container (T &&value)
 
template<typename Sig = function_sig<>, typename... Args>
auto as_function (Args &&...args)
 
template<typename Sig = function_sig<>, typename... Args>
auto as_function_reference (Args &&...args)
 
template<typename T >
nested< meta::unqualified_t< T > > as_nested (T &&container)
 
template<typename T >
nested< T > as_nested_ref (T &&container)
 
template<typename Source >
auto as_returns (Source &&source)
 
template<typename T >
as_table_t< meta::unqualified_t< T > > as_table (T &&container)
 
template<typename T >
as_table_t< T > as_table_ref (T &&container)
 
std::string associated_type_name (lua_State *L, int index, type t)
 
template<typename Container >
int basic_insert_dump_writer (lua_State *, const void *memory, size_t memory_size, void *userdata)
 
template<typename F , F fx>
int c_call (lua_State *L)
 
template<typename... Fxs>
int c_call (lua_State *L)
 
int default_at_panic (lua_State *L)
 
int default_traceback_error_handler (lua_State *L)
 
template<typename Fx >
auto destructor (Fx &&fx)
 
int dump_panic_on_error (lua_State *L, int result_code, lua_Writer writer_function, void *userdata, bool strip)
 
int dump_pass_on_error (lua_State *L, int result_code, lua_Writer writer_function, void *userdata, bool strip)
 
int dump_throw_on_error (lua_State *L, int result_code, lua_Writer writer_function, void *userdata, bool strip)
 
template<typename... Functions>
auto factories (Functions &&...functions)
 
template<std::size_t I>
stack_proxy get (const unsafe_function_result &fr)
 
template<std::size_t I, typename... Args>
stack_proxy get (types< Args... > t, const unsafe_function_result &fr)
 
template<std::size_t I>
stack_proxy get (const protected_function_result &fr)
 
template<std::size_t I, typename... Args>
stack_proxy get (types< Args... > t, const protected_function_result &fr)
 
template<typename E = reference, typename T >
basic_environment< E > get_environment (const T &target)
 
template<typename... Functions>
auto initializers (Functions &&...functions)
 
bool is_indeterminate_call_failure (call_status c)
 
lua_Statemain_thread (lua_State *L, lua_State *backup_if_unsupported=nullptr)
 
template<typename... Args>
closure< Args... > make_closure (lua_CFunction f, Args &&...args)
 
template<typename T >
auto make_light (T &l)
 
template<typename T >
object make_object (lua_State *L, T &&value)
 
template<typename T , typename... Args>
object make_object (lua_State *L, Args &&...args)
 
template<typename T >
object make_object_userdata (lua_State *L, T &&value)
 
template<typename T , typename... Args>
object make_object_userdata (lua_State *L, Args &&...args)
 
template<class T = detail::i_am_secret, class U , class Ret = detail::conditional_t<std::is_same<T, detail::i_am_secret>::value, detail::decay_t<U>, T>>
constexpr optional< Ret > make_optional (U &&v)
 
template<class T , class... Args>
constexpr optional< T > make_optional (Args &&...args)
 
template<class T , class U , class... Args>
constexpr optional< T > make_optional (std::initializer_list< U > il, Args &&...args)
 
template<typename R = reference, bool should_pop = !is_stack_based_v<R>, typename T >
make_reference (lua_State *L, T &&value)
 
template<typename T , typename R = reference, bool should_pop = !is_stack_based_v<R>, typename... Args>
make_reference (lua_State *L, Args &&...args)
 
template<typename R = reference, bool should_pop = !is_stack_based_v<R>, typename T >
make_reference_userdata (lua_State *L, T &&value)
 
template<typename T , typename R = reference, bool should_pop = !is_stack_based_v<R>, typename... Args>
make_reference_userdata (lua_State *L, Args &&...args)
 
template<typename T >
auto make_user (T &&u)
 
const std::array< std::string, 37 > & meta_function_names ()
 
template<typename T >
auto meta_registry_key (T &&key)
 
int no_panic (lua_State *, int, type, type, const char *=nullptr) noexcept
 
template<class T , class U >
constexpr bool operator!= (const optional< T > &lhs, const optional< U > &rhs)
 relop More...
 
template<class T >
constexpr bool operator!= (const optional< T > &lhs, nullopt_t) noexcept
 relop_nullopt More...
 
template<class T >
constexpr bool operator!= (nullopt_t, const optional< T > &rhs) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator!= (const optional< T > &lhs, const U &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator!= (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
bool operator!= (lua_nil_t, lua_nil_t)
 
bool operator!= (const stack_reference &l, const stack_reference &r)
 
bool operator!= (const stack_reference &lhs, const lua_nil_t &)
 
bool operator!= (const lua_nil_t &, const stack_reference &rhs)
 
template<bool lb, bool rb>
bool operator!= (const basic_reference< lb > &l, const basic_reference< rb > &r)
 
template<bool lb>
bool operator!= (const basic_reference< lb > &l, const stack_reference &r)
 
template<bool rb>
bool operator!= (const stack_reference &l, const basic_reference< rb > &r)
 
template<bool lb>
bool operator!= (const basic_reference< lb > &lhs, const lua_nil_t &)
 
template<bool rb>
bool operator!= (const lua_nil_t &, const basic_reference< rb > &rhs)
 
template<typename Table , typename Key , typename T >
bool operator!= (T &&left, const table_proxy< Table, Key > &right)
 
template<typename Table , typename Key , typename T >
bool operator!= (const table_proxy< Table, Key > &right, T &&left)
 
template<typename Table , typename Key >
bool operator!= (lua_nil_t, const table_proxy< Table, Key > &right)
 
template<typename Table , typename Key >
bool operator!= (const table_proxy< Table, Key > &right, lua_nil_t)
 
template<typename proxy_t , bool is_const>
stack_iterator< proxy_t, is_const > operator+ (typename stack_iterator< proxy_t, is_const >::difference_type n, const stack_iterator< proxy_t, is_const > &r)
 
template<class T , class U >
constexpr bool operator< (const optional< T > &lhs, const optional< U > &rhs)
 relop More...
 
template<class T >
constexpr bool operator< (const optional< T > &, nullopt_t) noexcept
 relop_nullopt More...
 
template<class T >
constexpr bool operator< (nullopt_t, const optional< T > &rhs) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator< (const optional< T > &lhs, const U &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator< (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator<= (const optional< T > &lhs, const optional< U > &rhs)
 relop More...
 
template<class T >
constexpr bool operator<= (const optional< T > &lhs, nullopt_t) noexcept
 relop_nullopt More...
 
template<class T >
constexpr bool operator<= (nullopt_t, const optional< T > &) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator<= (const optional< T > &lhs, const U &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator<= (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator== (const optional< T > &lhs, const optional< U > &rhs)
 Compares two optional objects. More...
 
template<class T >
constexpr bool operator== (const optional< T > &lhs, nullopt_t) noexcept
 Compares an optional to a nullopt More...
 
template<class T >
constexpr bool operator== (nullopt_t, const optional< T > &rhs) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator== (const optional< T > &lhs, const U &rhs)
 Compares the optional with a value. More...
 
template<class T , class U >
constexpr bool operator== (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
bool operator== (lua_nil_t, lua_nil_t)
 
bool operator== (const stack_reference &l, const stack_reference &r)
 
bool operator== (const stack_reference &lhs, const lua_nil_t &)
 
bool operator== (const lua_nil_t &, const stack_reference &rhs)
 
template<bool lb, bool rb>
bool operator== (const basic_reference< lb > &l, const basic_reference< rb > &r)
 
template<bool lb>
bool operator== (const basic_reference< lb > &l, const stack_reference &r)
 
template<bool rb>
bool operator== (const stack_reference &l, const basic_reference< rb > &r)
 
template<bool lb>
bool operator== (const basic_reference< lb > &lhs, const lua_nil_t &)
 
template<bool rb>
bool operator== (const lua_nil_t &, const basic_reference< rb > &rhs)
 
template<typename Table , typename Key , typename T >
bool operator== (T &&left, const table_proxy< Table, Key > &right)
 
template<typename Table , typename Key , typename T >
bool operator== (const table_proxy< Table, Key > &right, T &&left)
 
template<typename Table , typename Key >
bool operator== (lua_nil_t, const table_proxy< Table, Key > &right)
 
template<typename Table , typename Key >
bool operator== (const table_proxy< Table, Key > &right, lua_nil_t)
 
template<class T , class U >
constexpr bool operator> (const optional< T > &lhs, const optional< U > &rhs)
 relop More...
 
template<class T >
constexpr bool operator> (const optional< T > &lhs, nullopt_t) noexcept
 relop_nullopt More...
 
template<class T >
constexpr bool operator> (nullopt_t, const optional< T > &) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator> (const optional< T > &lhs, const U &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator> (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator>= (const optional< T > &lhs, const optional< U > &rhs)
 relop More...
 
template<class T >
constexpr bool operator>= (const optional< T > &, nullopt_t) noexcept
 relop_nullopt More...
 
template<class T >
constexpr bool operator>= (nullopt_t, const optional< T > &rhs) noexcept
 relop_nullopt More...
 
template<class T , class U >
constexpr bool operator>= (const optional< T > &lhs, const U &rhs)
 relop_t More...
 
template<class T , class U >
constexpr bool operator>= (const U &lhs, const optional< T > &rhs)
 relop_t More...
 
template<typename... Args>
decltype(auto) overload (Args &&...args)
 
template<typename F , typename... Args>
auto policies (F &&f, Args &&...args)
 
template<typename F , typename G >
decltype(auto) property (F &&f, G &&g)
 
template<typename F >
decltype(auto) property (F &&f)
 
template<typename T >
auto protect (T &&value)
 
template<typename Fx >
auto push_invoke (Fx &&fx)
 
int push_type_panic_string (lua_State *L, int index, type expected, type actual, string_view message, string_view aux_message) noexcept
 
template<typename R , typename T >
auto readonly (R T::*v)
 
template<typename F >
decltype(auto) readonly_property (F &&f)
 
void register_main_thread (lua_State *L)
 
template<typename... Args, typename R >
constexpr auto resolve (R fun_ptr(Args...)) -> R(*)(Args...)
 
template<typename Sig >
constexpr Sig * resolve (Sig *fun_ptr)
 
template<typename... Args, typename R , typename C >
constexpr auto resolve (R(C::*mem_ptr)(Args...)) -> R(C::*)(Args...)
 
template<typename Sig , typename C >
constexpr Sig C::* resolve (Sig C::*mem_ptr)
 
template<typename... Sig, typename F , meta::disable< std::is_function< meta::unqualified_t< F >>> = meta::enabler>
constexpr auto resolve (F &&f) -> decltype(detail::resolve_i(types< Sig... >(), std::forward< F >(f)))
 
protected_function_result script_default_on_error (lua_State *L, protected_function_result pfr)
 
protected_function_result script_pass_on_error (lua_State *, protected_function_result result)
 
protected_function_result script_throw_on_error (lua_State *L, protected_function_result result)
 
void set_default_exception_handler (lua_State *L, exception_handler_function exf=&detail::default_exception_handler)
 
void set_default_state (lua_State *L, lua_CFunction panic_function=&default_at_panic, lua_CFunction traceback_function=c_call< decltype(&default_traceback_error_handler),&default_traceback_error_handler >, exception_handler_function exf=detail::default_exception_handler)
 
template<typename T , typename E >
void set_environment (const basic_environment< E > &env, const T &target)
 
template<class T , detail::enable_if_t< std::is_move_constructible< T >::value > * = nullptr, detail::enable_if_t< detail::is_swappable< T >::value > * = nullptr>
void swap (optional< T > &lhs, optional< T > &rhs) noexcept(noexcept(lhs.swap(rhs)))
 template <class t>=""> swap(optional<T> &lhs, optional<T> &rhs); More...
 
const std::stringto_string (call_status c)
 
const std::stringto_string (load_status c)
 
const std::stringto_string (load_mode c)
 
const std::stringto_string (meta_function mf)
 
std::size_t total_memory_used (lua_State *L)
 
void type_assert (lua_State *L, int index, type expected, type actual) noexcept(false)
 
void type_assert (lua_State *L, int index, type expected)
 
void type_error (lua_State *L, int expected, int actual) noexcept(false)
 
void type_error (lua_State *L, type expected, type actual) noexcept(false)
 
std::string type_name (lua_State *L, type t)
 
type type_of (lua_State *L, int index)
 
template<typename T >
type type_of ()
 
int type_panic_c_str (lua_State *L, int index, type expected, type actual, const char *message=nullptr) noexcept(false)
 
int type_panic_string (lua_State *L, int index, type expected, type actual, string_view message="") noexcept(false)
 
template<typename V >
auto var (V &&v)
 
template<typename F >
decltype(auto) writeonly_property (F &&f)
 
template<typename F >
yielding_t< std::decay_t< F > > yielding (F &&f)
 

Variables

const auto base_classes = base_classes_tag()
 
constexpr auto bytecode_dump_writer = &basic_insert_dump_writer<bytecode>
 
const auto call_constructor = call_construction{}
 
const new_table create = {}
 
constexpr create_if_nil_t create_if_nil = create_if_nil_t()
 
const auto default_constructor = constructors<types<>>{}
 
const destructor_wrapper< void > default_destructor {}
 
const env_key_t env_key = {}
 
constexpr std::in_place_t in_place {}
 
template<size_t I>
constexpr in_place_index_t< I > in_place_index {}
 
constexpr std::in_place_t in_place_of {}
 
template<typename T >
constexpr std::in_place_type_t< T > in_place_type {}
 
template<typename T >
constexpr bool is_base_rebindable_non_void_v = is_base_rebindable_non_void<T>::value
 
template<typename T >
constexpr bool is_base_rebindable_v = is_base_rebindable<T>::value
 
template<typename T >
constexpr bool is_container_v = is_container<T>::value
 
template<typename T >
constexpr bool is_environment_v = is_environment<T>::value
 
template<typename T >
constexpr bool is_lightuserdata_v = is_lightuserdata<T>::value
 
template<typename T >
constexpr bool is_lua_c_function_v = is_lua_c_function<T>::value
 
template<typename T >
constexpr bool is_lua_primitive_v = is_lua_primitive<T>::value
 
template<typename T >
constexpr bool is_lua_reference_or_proxy_v = is_lua_reference_or_proxy<T>::value
 
template<typename T >
constexpr bool is_lua_reference_v = is_lua_reference<T>::value
 
template<typename T >
constexpr bool is_stack_based_v = is_stack_based<T>::value
 
template<typename T >
constexpr bool is_stack_table_v = is_stack_table<T>::value
 
template<typename T >
constexpr bool is_table_like_v = is_table_like<T>::value
 
template<typename T >
constexpr bool is_table_v = is_table<T>::value
 
template<typename T >
constexpr bool is_transparent_argument_v = is_transparent_argument<T>::value
 
template<typename T >
constexpr bool is_unique_usertype_v = is_unique_usertype<T>::value
 
template<typename T >
constexpr bool is_userdata_v = is_userdata<T>::value
 
constexpr lua_nil_t lua_nil {}
 
template<typename T >
constexpr int lua_size_v = lua_size<T>::value
 
template<typename T >
constexpr type lua_type_of_v = lua_type_of<T>::value
 
const metatable_key_t metatable_key = {}
 
constexpr nested_tag_t nested_tag {}
 
constexpr const nil_tnil = lua_nil
 
const auto no_constructor = no_construction{}
 
const no_metatable_t no_metatable = {}
 
constexpr override_value_t override_value = override_value_t()
 
const type_panic_t type_panic = {}
 
constexpr update_if_empty_t update_if_empty = update_if_empty_t()
 

Typedef Documentation

using sol::array_value = typedef typename lua_value::arr

Definition at line 24820 of file sol.hpp.

Definition at line 8401 of file sol.hpp.

template<typename... Args>
using sol::bases = typedef base_list<Args...>

Definition at line 8399 of file sol.hpp.

template<typename C , typename T = std::char_traits<C>>
using sol::basic_string_view = typedef std::basic_string_view<C, T>

Definition at line 1615 of file sol.hpp.

template<typename base_type >
using sol::basic_table = typedef basic_table_core<false, base_type>

Definition at line 635 of file forward.hpp.

using sol::bytecode = typedef basic_bytecode<>

Definition at line 3831 of file sol.hpp.

Definition at line 6798 of file sol.hpp.

using sol::check_handler_type = typedef int(lua_State*, int, type, type, const char*)

Definition at line 804 of file forward.hpp.

template<typename... Args>
using sol::constructors = typedef constructor_list<Args...>

Definition at line 6291 of file sol.hpp.

Definition at line 721 of file forward.hpp.

Definition at line 662 of file forward.hpp.

using sol::exception_handler_function = typedef int (*)(lua_State*, optional<const std::exception&>, string_view)

Definition at line 7918 of file sol.hpp.

Definition at line 688 of file forward.hpp.

Definition at line 701 of file forward.hpp.

typedef table_core< true > sol::global_table

Definition at line 637 of file forward.hpp.

template<size_t I>
using sol::in_place_index_t = typedef std::in_place_index_t<I>

Definition at line 3928 of file sol.hpp.

using sol::in_place_t = typedef std::in_place_t

Definition at line 3918 of file sol.hpp.

template<typename T >
using sol::in_place_type_t = typedef std::in_place_type_t<T>

Definition at line 3923 of file sol.hpp.

Definition at line 8371 of file sol.hpp.

Definition at line 8386 of file sol.hpp.

template<typename T >
using sol::is_environment = typedef std::integral_constant<bool, is_userdata_v<T> || is_table_v<T> || meta::is_specialization_of_v<T, basic_environment>>

Definition at line 7811 of file sol.hpp.

template<typename T >
using sol::is_lightuserdata = typedef meta::is_specialization_of<T, basic_lightuserdata>

Definition at line 7799 of file sol.hpp.

template<typename T >
using sol::is_lua_c_function = typedef meta::any<std::is_same<lua_CFunction, T>, std::is_same<detail::lua_CFunction_noexcept, T>, std::is_same<lua_CFunction_ref, T>>

Definition at line 7886 of file sol.hpp.

template<typename T >
using sol::is_table_like = typedef std::integral_constant<bool, is_table_v<T> || is_environment_v<T> || is_userdata_v<T>>

Definition at line 7817 of file sol.hpp.

template<typename T >
using sol::is_userdata = typedef meta::is_specialization_of<T, basic_userdata>

Definition at line 7805 of file sol.hpp.

template<typename T >
using sol::is_var_wrapper = typedef meta::is_specialization_of<T, var_wrapper>

Definition at line 17465 of file sol.hpp.

Definition at line 719 of file forward.hpp.

typedef std::remove_pointer_t<lua_CFunction> sol::lua_CFunction_ref

Definition at line 6648 of file sol.hpp.

Definition at line 645 of file forward.hpp.

Definition at line 725 of file forward.hpp.

Definition at line 663 of file forward.hpp.

Definition at line 689 of file forward.hpp.

Definition at line 639 of file forward.hpp.

Definition at line 724 of file forward.hpp.

Definition at line 722 of file forward.hpp.

Definition at line 679 of file forward.hpp.

Definition at line 611 of file forward.hpp.

Definition at line 673 of file forward.hpp.

typedef main_table_core< false > sol::main_table

Definition at line 638 of file forward.hpp.

template<bool b>
using sol::main_table_core = typedef basic_table_core<b, main_reference>

Definition at line 631 of file forward.hpp.

Definition at line 672 of file forward.hpp.

Definition at line 723 of file forward.hpp.

Definition at line 7318 of file sol.hpp.

Definition at line 657 of file forward.hpp.

using sol::nil_t = typedef lua_nil_t

Definition at line 6607 of file sol.hpp.

using sol::nullopt_t = typedef std::nullopt_t

A tag type to represent an empty optional.

Definition at line 4520 of file sol.hpp.

Definition at line 717 of file forward.hpp.

Definition at line 678 of file forward.hpp.

typedef basic_reference< false > sol::reference

Definition at line 610 of file forward.hpp.

Definition at line 6365 of file sol.hpp.

Definition at line 671 of file forward.hpp.

Definition at line 697 of file forward.hpp.

Definition at line 6362 of file sol.hpp.

Definition at line 691 of file forward.hpp.

Definition at line 681 of file forward.hpp.

Definition at line 677 of file forward.hpp.

Definition at line 693 of file forward.hpp.

Definition at line 676 of file forward.hpp.

Definition at line 730 of file forward.hpp.

Definition at line 664 of file forward.hpp.

Definition at line 690 of file forward.hpp.

Definition at line 641 of file forward.hpp.

Definition at line 728 of file forward.hpp.

Definition at line 646 of file forward.hpp.

Definition at line 658 of file forward.hpp.

Definition at line 726 of file forward.hpp.

Definition at line 680 of file forward.hpp.

Definition at line 675 of file forward.hpp.

Definition at line 640 of file forward.hpp.

template<bool b>
using sol::stack_table_core = typedef basic_table_core<b, stack_reference>

Definition at line 633 of file forward.hpp.

Definition at line 729 of file forward.hpp.

Definition at line 674 of file forward.hpp.

Definition at line 727 of file forward.hpp.

template<typename T >
using sol::stack_usertype = typedef basic_usertype<T, stack_reference>

Definition at line 653 of file forward.hpp.

typedef std::string_view sol::string_view

Definition at line 1617 of file sol.hpp.

Definition at line 1621 of file sol.hpp.

typedef table_core< false > sol::table

Definition at line 636 of file forward.hpp.

template<bool b>
using sol::table_core = typedef basic_table_core<b, reference>

Definition at line 629 of file forward.hpp.

Definition at line 720 of file forward.hpp.

typedef std::u16string_view sol::u16string_view

Definition at line 1619 of file sol.hpp.

typedef std::u32string_view sol::u32string_view

Definition at line 1620 of file sol.hpp.

Definition at line 670 of file forward.hpp.

Definition at line 718 of file forward.hpp.

template<typename T >
using sol::usertype = typedef basic_usertype<T, reference>

Definition at line 651 of file forward.hpp.

typedef std::wstring_view sol::wstring_view

Definition at line 1618 of file sol.hpp.

Enumeration Type Documentation

enum sol::call_status : int
strong
Enumerator
ok 
yielded 
runtime 
memory 
handler 
gc 
syntax 
file 

Definition at line 7141 of file sol.hpp.

enum sol::call_syntax
strong
Enumerator
dot 
colon 

Definition at line 7133 of file sol.hpp.

enum sol::gc_mode : int
strong
Enumerator
incremental 
generational 
default_value 

Definition at line 7170 of file sol.hpp.

enum sol::lib : char
strong
Enumerator
base 
package 
coroutine 
string 
os 
math 
table 
debug 
bit32 
io 
ffi 
jit 
utf8 
count 

Definition at line 7102 of file sol.hpp.

enum sol::load_mode
strong
Enumerator
any 
text 
binary 

Definition at line 7135 of file sol.hpp.

enum sol::load_status : int
strong
Enumerator
ok 
syntax 
memory 
gc 
file 

Definition at line 7162 of file sol.hpp.

enum sol::meta_function
strong
Enumerator
construct 
index 
new_index 
mode 
call 
call_function 
metatable 
to_string 
length 
unary_minus 
addition 
subtraction 
multiplication 
division 
modulus 
power_of 
involution 
concatenation 
equal_to 
less_than 
less_than_or_equal_to 
garbage_collect 
floor_division 
bitwise_left_shift 
bitwise_right_shift 
bitwise_not 
bitwise_and 
bitwise_or 
bitwise_xor 
pairs 
ipairs 
next 
type 
type_info 
call_construct 
storage 
gc_names 
static_index 
static_new_index 

Definition at line 7276 of file sol.hpp.

enum sol::thread_status : int
strong
Enumerator
ok 
yielded 
runtime 
memory 
gc 
handler 
dead 

Definition at line 7152 of file sol.hpp.

enum sol::type : int
strong
Enumerator
none 
lua_nil 
nil 
string 
number 
thread 
boolean 
function 
userdata 
lightuserdata 
table 
poly 

Definition at line 7176 of file sol.hpp.

Function Documentation

template<typename Source >
auto sol::as_args ( Source &&  source)

Definition at line 26378 of file sol.hpp.

template<typename T >
auto sol::as_container ( T &&  value)

Definition at line 6976 of file sol.hpp.

template<typename Sig = function_sig<>, typename... Args>
auto sol::as_function ( Args &&...  args)

Definition at line 6814 of file sol.hpp.

template<typename Sig = function_sig<>, typename... Args>
auto sol::as_function_reference ( Args &&...  args)

Definition at line 6819 of file sol.hpp.

template<typename T >
nested<meta::unqualified_t<T> > sol::as_nested ( T &&  container)

Definition at line 6918 of file sol.hpp.

template<typename T >
nested<T> sol::as_nested_ref ( T &&  container)

Definition at line 6913 of file sol.hpp.

template<typename Source >
auto sol::as_returns ( Source &&  source)

Definition at line 26567 of file sol.hpp.

template<typename T >
as_table_t<meta::unqualified_t<T> > sol::as_table ( T &&  container)

Definition at line 6908 of file sol.hpp.

template<typename T >
as_table_t<T> sol::as_table_ref ( T &&  container)

Definition at line 6903 of file sol.hpp.

std::string sol::associated_type_name ( lua_State L,
int  index,
type  t 
)
inline

Definition at line 8594 of file sol.hpp.

template<typename Container >
int sol::basic_insert_dump_writer ( lua_State ,
const void *  memory,
size_t  memory_size,
void *  userdata 
)
inline

Definition at line 3814 of file sol.hpp.

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

Definition at line 17565 of file sol.hpp.

template<typename... Fxs>
int sol::c_call ( lua_State L)
inline

Definition at line 17587 of file sol.hpp.

int sol::default_at_panic ( lua_State L)
inline

Definition at line 24864 of file sol.hpp.

int sol::default_traceback_error_handler ( lua_State L)
inline

Definition at line 24886 of file sol.hpp.

template<typename Fx >
auto sol::destructor ( Fx &&  fx)
inline

Definition at line 6343 of file sol.hpp.

int sol::dump_panic_on_error ( lua_State L,
int  result_code,
lua_Writer  writer_function,
void *  userdata,
bool  strip 
)
inline

Definition at line 18915 of file sol.hpp.

int sol::dump_pass_on_error ( lua_State L,
int  result_code,
lua_Writer  writer_function,
void *  userdata,
bool  strip 
)
inline

Definition at line 18907 of file sol.hpp.

int sol::dump_throw_on_error ( lua_State L,
int  result_code,
lua_Writer  writer_function,
void *  userdata,
bool  strip 
)
inline

Definition at line 18923 of file sol.hpp.

template<typename... Functions>
auto sol::factories ( Functions &&...  functions)
inline

Definition at line 6325 of file sol.hpp.

template<std::size_t I>
stack_proxy sol::get ( const unsafe_function_result fr)

Definition at line 16118 of file sol.hpp.

template<std::size_t I, typename... Args>
stack_proxy sol::get ( types< Args... >  t,
const unsafe_function_result fr 
)

Definition at line 16123 of file sol.hpp.

template<std::size_t I>
stack_proxy sol::get ( const protected_function_result fr)

Definition at line 16128 of file sol.hpp.

template<std::size_t I, typename... Args>
stack_proxy sol::get ( types< Args... >  t,
const protected_function_result fr 
)

Definition at line 16133 of file sol.hpp.

template<typename E = reference, typename T >
basic_environment<E> sol::get_environment ( const T &  target)

Definition at line 24498 of file sol.hpp.

template<typename... Functions>
auto sol::initializers ( Functions &&...  functions)
inline

Definition at line 6311 of file sol.hpp.

bool sol::is_indeterminate_call_failure ( call_status  c)
inline

Definition at line 7229 of file sol.hpp.

lua_State* sol::main_thread ( lua_State L,
lua_State backup_if_unsupported = nullptr 
)
inline

Definition at line 9057 of file sol.hpp.

template<typename... Args>
closure<Args...> sol::make_closure ( lua_CFunction  f,
Args &&...  args 
)

Definition at line 6801 of file sol.hpp.

template<typename T >
auto sol::make_light ( T &  l)

Definition at line 6740 of file sol.hpp.

template<typename T >
object sol::make_object ( lua_State L,
T &&  value 
)

Definition at line 15431 of file sol.hpp.

template<typename T , typename... Args>
object sol::make_object ( lua_State L,
Args &&...  args 
)

Definition at line 15436 of file sol.hpp.

template<typename T >
object sol::make_object_userdata ( lua_State L,
T &&  value 
)

Definition at line 15441 of file sol.hpp.

template<typename T , typename... Args>
object sol::make_object_userdata ( lua_State L,
Args &&...  args 
)

Definition at line 15446 of file sol.hpp.

template<class T = detail::i_am_secret, class U , class Ret = detail::conditional_t<std::is_same<T, detail::i_am_secret>::value, detail::decay_t<U>, T>>
constexpr optional<Ret> sol::make_optional ( U &&  v)
inline

Definition at line 5487 of file sol.hpp.

template<class T , class... Args>
constexpr optional<T> sol::make_optional ( Args &&...  args)
inline

Definition at line 5492 of file sol.hpp.

template<class T , class U , class... Args>
constexpr optional<T> sol::make_optional ( std::initializer_list< U >  il,
Args &&...  args 
)
inline

Definition at line 5496 of file sol.hpp.

template<typename R = reference, bool should_pop = !is_stack_based_v<R>, typename T >
R sol::make_reference ( lua_State L,
T &&  value 
)

Definition at line 15218 of file sol.hpp.

template<typename T , typename R = reference, bool should_pop = !is_stack_based_v<R>, typename... Args>
R sol::make_reference ( lua_State L,
Args &&...  args 
)

Definition at line 15228 of file sol.hpp.

template<typename R = reference, bool should_pop = !is_stack_based_v<R>, typename T >
R sol::make_reference_userdata ( lua_State L,
T &&  value 
)

Definition at line 15238 of file sol.hpp.

template<typename T , typename R = reference, bool should_pop = !is_stack_based_v<R>, typename... Args>
R sol::make_reference_userdata ( lua_State L,
Args &&...  args 
)

Definition at line 15248 of file sol.hpp.

template<typename T >
auto sol::make_user ( T &&  u)

Definition at line 6763 of file sol.hpp.

const std::array<std::string, 37>& sol::meta_function_names ( )
inline

Definition at line 7320 of file sol.hpp.

template<typename T >
auto sol::meta_registry_key ( T &&  key)

Definition at line 6777 of file sol.hpp.

int sol::no_panic ( lua_State ,
int  ,
type  ,
type  ,
const char *  = nullptr 
)
inlinenoexcept

Definition at line 8684 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator!= ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

relop

Definition at line 5324 of file sol.hpp.

template<class T >
constexpr bool sol::operator!= ( const optional< T > &  lhs,
nullopt_t   
)
inlinenoexcept

relop_nullopt

Definition at line 5362 of file sol.hpp.

template<class T >
constexpr bool sol::operator!= ( nullopt_t  ,
const optional< T > &  rhs 
)
inlinenoexcept

relop_nullopt

Definition at line 5367 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator!= ( const optional< T > &  lhs,
const U &  rhs 
)
inline

relop_t

Definition at line 5427 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator!= ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5432 of file sol.hpp.

bool sol::operator!= ( lua_nil_t  ,
lua_nil_t   
)
inline

Definition at line 6603 of file sol.hpp.

bool sol::operator!= ( const stack_reference l,
const stack_reference r 
)
inline

Definition at line 8875 of file sol.hpp.

bool sol::operator!= ( const stack_reference lhs,
const lua_nil_t  
)
inline

Definition at line 8887 of file sol.hpp.

bool sol::operator!= ( const lua_nil_t ,
const stack_reference rhs 
)
inline

Definition at line 8891 of file sol.hpp.

template<bool lb, bool rb>
bool sol::operator!= ( const basic_reference< lb > &  l,
const basic_reference< rb > &  r 
)
inline

Definition at line 9538 of file sol.hpp.

template<bool lb>
bool sol::operator!= ( const basic_reference< lb > &  l,
const stack_reference r 
)
inline

Definition at line 9549 of file sol.hpp.

template<bool rb>
bool sol::operator!= ( const stack_reference l,
const basic_reference< rb > &  r 
)
inline

Definition at line 9560 of file sol.hpp.

template<bool lb>
bool sol::operator!= ( const basic_reference< lb > &  lhs,
const lua_nil_t  
)
inline

Definition at line 9575 of file sol.hpp.

template<bool rb>
bool sol::operator!= ( const lua_nil_t ,
const basic_reference< rb > &  rhs 
)
inline

Definition at line 9580 of file sol.hpp.

template<typename Table , typename Key , typename T >
bool sol::operator!= ( T &&  left,
const table_proxy< Table, Key > &  right 
)
inline

Definition at line 23213 of file sol.hpp.

template<typename Table , typename Key , typename T >
bool sol::operator!= ( const table_proxy< Table, Key > &  right,
T &&  left 
)
inline

Definition at line 23219 of file sol.hpp.

template<typename Table , typename Key >
bool sol::operator!= ( lua_nil_t  ,
const table_proxy< Table, Key > &  right 
)
inline

Definition at line 23235 of file sol.hpp.

template<typename Table , typename Key >
bool sol::operator!= ( const table_proxy< Table, Key > &  right,
lua_nil_t   
)
inline

Definition at line 23240 of file sol.hpp.

template<typename proxy_t , bool is_const>
stack_iterator<proxy_t, is_const> sol::operator+ ( typename stack_iterator< proxy_t, is_const >::difference_type  n,
const stack_iterator< proxy_t, is_const > &  r 
)
inline

Definition at line 15624 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator< ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

relop

Definition at line 5329 of file sol.hpp.

template<class T >
constexpr bool sol::operator< ( const optional< T > &  ,
nullopt_t   
)
inlinenoexcept

relop_nullopt

Definition at line 5372 of file sol.hpp.

template<class T >
constexpr bool sol::operator< ( nullopt_t  ,
const optional< T > &  rhs 
)
inlinenoexcept

relop_nullopt

Definition at line 5377 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator< ( const optional< T > &  lhs,
const U &  rhs 
)
inline

relop_t

Definition at line 5437 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator< ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5442 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator<= ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

relop

Definition at line 5339 of file sol.hpp.

template<class T >
constexpr bool sol::operator<= ( const optional< T > &  lhs,
nullopt_t   
)
inlinenoexcept

relop_nullopt

Definition at line 5382 of file sol.hpp.

template<class T >
constexpr bool sol::operator<= ( nullopt_t  ,
const optional< T > &   
)
inlinenoexcept

relop_nullopt

Definition at line 5387 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator<= ( const optional< T > &  lhs,
const U &  rhs 
)
inline

relop_t

Definition at line 5447 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator<= ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5452 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator== ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

Compares two optional objects.

relop

If both optionals contain a value, they are compared with Ts relational operators. Otherwise lhs and rhs are equal only if they are both empty, and lhs is less than rhs only if rhs is empty and lhs is not.

Definition at line 5319 of file sol.hpp.

template<class T >
constexpr bool sol::operator== ( const optional< T > &  lhs,
nullopt_t   
)
inlinenoexcept

Compares an optional to a nullopt

relop_nullopt

Equivalent to comparing the optional to an empty optional

Definition at line 5352 of file sol.hpp.

template<class T >
constexpr bool sol::operator== ( nullopt_t  ,
const optional< T > &  rhs 
)
inlinenoexcept

relop_nullopt

Definition at line 5357 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator== ( const optional< T > &  lhs,
const U &  rhs 
)
inline

Compares the optional with a value.

relop_t

If the optional has a value, it is compared with the other value using Ts relational operators. Otherwise, the optional is considered less than the value.

Definition at line 5417 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator== ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5422 of file sol.hpp.

bool sol::operator== ( lua_nil_t  ,
lua_nil_t   
)
inline

Definition at line 6600 of file sol.hpp.

bool sol::operator== ( const stack_reference l,
const stack_reference r 
)
inline

Definition at line 8871 of file sol.hpp.

bool sol::operator== ( const stack_reference lhs,
const lua_nil_t  
)
inline

Definition at line 8879 of file sol.hpp.

bool sol::operator== ( const lua_nil_t ,
const stack_reference rhs 
)
inline

Definition at line 8883 of file sol.hpp.

template<bool lb, bool rb>
bool sol::operator== ( const basic_reference< lb > &  l,
const basic_reference< rb > &  r 
)
inline

Definition at line 9531 of file sol.hpp.

template<bool lb>
bool sol::operator== ( const basic_reference< lb > &  l,
const stack_reference r 
)
inline

Definition at line 9543 of file sol.hpp.

template<bool rb>
bool sol::operator== ( const stack_reference l,
const basic_reference< rb > &  r 
)
inline

Definition at line 9554 of file sol.hpp.

template<bool lb>
bool sol::operator== ( const basic_reference< lb > &  lhs,
const lua_nil_t  
)
inline

Definition at line 9565 of file sol.hpp.

template<bool rb>
bool sol::operator== ( const lua_nil_t ,
const basic_reference< rb > &  rhs 
)
inline

Definition at line 9570 of file sol.hpp.

template<typename Table , typename Key , typename T >
bool sol::operator== ( T &&  left,
const table_proxy< Table, Key > &  right 
)
inline

Definition at line 23201 of file sol.hpp.

template<typename Table , typename Key , typename T >
bool sol::operator== ( const table_proxy< Table, Key > &  right,
T &&  left 
)
inline

Definition at line 23207 of file sol.hpp.

template<typename Table , typename Key >
bool sol::operator== ( lua_nil_t  ,
const table_proxy< Table, Key > &  right 
)
inline

Definition at line 23225 of file sol.hpp.

template<typename Table , typename Key >
bool sol::operator== ( const table_proxy< Table, Key > &  right,
lua_nil_t   
)
inline

Definition at line 23230 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator> ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

relop

Definition at line 5334 of file sol.hpp.

template<class T >
constexpr bool sol::operator> ( const optional< T > &  lhs,
nullopt_t   
)
inlinenoexcept

relop_nullopt

Definition at line 5392 of file sol.hpp.

template<class T >
constexpr bool sol::operator> ( nullopt_t  ,
const optional< T > &   
)
inlinenoexcept

relop_nullopt

Definition at line 5397 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator> ( const optional< T > &  lhs,
const U &  rhs 
)
inline

relop_t

Definition at line 5457 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator> ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5462 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator>= ( const optional< T > &  lhs,
const optional< U > &  rhs 
)
inline

relop

Definition at line 5344 of file sol.hpp.

template<class T >
constexpr bool sol::operator>= ( const optional< T > &  ,
nullopt_t   
)
inlinenoexcept

relop_nullopt

Definition at line 5402 of file sol.hpp.

template<class T >
constexpr bool sol::operator>= ( nullopt_t  ,
const optional< T > &  rhs 
)
inlinenoexcept

relop_nullopt

Definition at line 5407 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator>= ( const optional< T > &  lhs,
const U &  rhs 
)
inline

relop_t

Definition at line 5467 of file sol.hpp.

template<class T , class U >
constexpr bool sol::operator>= ( const U &  lhs,
const optional< T > &  rhs 
)
inline

relop_t

Definition at line 5472 of file sol.hpp.

template<typename... Args>
decltype(auto) sol::overload ( Args &&...  args)

Definition at line 11846 of file sol.hpp.

template<typename F , typename... Args>
auto sol::policies ( F &&  f,
Args &&...  args 
)

Definition at line 6409 of file sol.hpp.

template<typename F , typename G >
decltype(auto) sol::property ( F &&  f,
G &&  g 
)
inline

Definition at line 16462 of file sol.hpp.

template<typename F >
decltype(auto) sol::property ( F &&  f)
inline

Definition at line 16474 of file sol.hpp.

template<typename T >
auto sol::protect ( T &&  value)

Definition at line 16568 of file sol.hpp.

template<typename Fx >
auto sol::push_invoke ( Fx &&  fx)

Definition at line 7026 of file sol.hpp.

int sol::push_type_panic_string ( lua_State L,
int  index,
type  expected,
type  actual,
string_view  message,
string_view  aux_message 
)
inlinenoexcept

Definition at line 8619 of file sol.hpp.

template<typename R , typename T >
auto sol::readonly ( R T::*  v)
inline

Definition at line 16512 of file sol.hpp.

template<typename F >
decltype(auto) sol::readonly_property ( F &&  f)
inline

Definition at line 16485 of file sol.hpp.

void sol::register_main_thread ( lua_State L)
inline

Definition at line 24850 of file sol.hpp.

template<typename... Args, typename R >
constexpr auto sol::resolve ( R   fun_ptrArgs...) -> R (*)(Args...)
inline

Definition at line 18086 of file sol.hpp.

template<typename Sig >
constexpr Sig* sol::resolve ( Sig *  fun_ptr)
inline

Definition at line 18091 of file sol.hpp.

template<typename... Args, typename R , typename C >
constexpr auto sol::resolve ( R(C::*)(Args...)  mem_ptr) -> R (C::*)(Args...)
inline

Definition at line 18096 of file sol.hpp.

template<typename Sig , typename C >
constexpr Sig C::* sol::resolve ( Sig C::*  mem_ptr)
inline

Definition at line 18101 of file sol.hpp.

template<typename... Sig, typename F , meta::disable< std::is_function< meta::unqualified_t< F >>> = meta::enabler>
constexpr auto sol::resolve ( F &&  f) -> decltype(detail::resolve_i(types<Sig...>(), std::forward<F>(f)))
inline

Definition at line 18106 of file sol.hpp.

protected_function_result sol::script_default_on_error ( lua_State L,
protected_function_result  pfr 
)
inline

Definition at line 24987 of file sol.hpp.

protected_function_result sol::script_pass_on_error ( lua_State ,
protected_function_result  result 
)
inline

Definition at line 24925 of file sol.hpp.

protected_function_result sol::script_throw_on_error ( lua_State L,
protected_function_result  result 
)
inline

Definition at line 24929 of file sol.hpp.

void sol::set_default_exception_handler ( lua_State L,
exception_handler_function  exf = &detail::default_exception_handler 
)
inline

Definition at line 8077 of file sol.hpp.

void sol::set_default_state ( lua_State L,
lua_CFunction  panic_function = &default_at_panic,
lua_CFunction  traceback_function = c_call<decltype(&default_traceback_error_handler), &default_traceback_error_handler>,
exception_handler_function  exf = detail::default_exception_handler 
)
inline

Definition at line 24907 of file sol.hpp.

template<typename T , typename E >
void sol::set_environment ( const basic_environment< E > &  env,
const T &  target 
)

Definition at line 24493 of file sol.hpp.

template<class T , detail::enable_if_t< std::is_move_constructible< T >::value > * = nullptr, detail::enable_if_t< detail::is_swappable< T >::value > * = nullptr>
void sol::swap ( optional< T > &  lhs,
optional< T > &  rhs 
)
noexcept

template <class t>=""> swap(optional<T> &lhs, optional<T> &rhs);

Definition at line 5478 of file sol.hpp.

const std::string& sol::to_string ( call_status  c)
inline

Definition at line 7193 of file sol.hpp.

const std::string& sol::to_string ( load_status  c)
inline

Definition at line 7244 of file sol.hpp.

const std::string& sol::to_string ( load_mode  c)
inline

Definition at line 7267 of file sol.hpp.

const std::string& sol::to_string ( meta_function  mf)
inline

Definition at line 7364 of file sol.hpp.

std::size_t sol::total_memory_used ( lua_State L)
inline

Definition at line 24918 of file sol.hpp.

void sol::type_assert ( lua_State L,
int  index,
type  expected,
type  actual 
)
inlinenoexcept

Definition at line 8696 of file sol.hpp.

void sol::type_assert ( lua_State L,
int  index,
type  expected 
)
inline

Definition at line 8702 of file sol.hpp.

void sol::type_error ( lua_State L,
int  expected,
int  actual 
)
inlinenoexcept

Definition at line 8688 of file sol.hpp.

void sol::type_error ( lua_State L,
type  expected,
type  actual 
)
inlinenoexcept

Definition at line 8692 of file sol.hpp.

std::string sol::type_name ( lua_State L,
type  t 
)
inline

Definition at line 7372 of file sol.hpp.

type sol::type_of ( lua_State L,
int  index 
)
inline

Definition at line 7368 of file sol.hpp.

template<typename T >
type sol::type_of ( )
inline

Definition at line 7831 of file sol.hpp.

int sol::type_panic_c_str ( lua_State L,
int  index,
type  expected,
type  actual,
const char *  message = nullptr 
)
inlinenoexcept

Definition at line 8636 of file sol.hpp.

int sol::type_panic_string ( lua_State L,
int  index,
type  expected,
type  actual,
string_view  message = "" 
)
inlinenoexcept

Definition at line 8631 of file sol.hpp.

template<typename V >
auto sol::var ( V &&  v)
inline

Definition at line 16526 of file sol.hpp.

template<typename F >
decltype(auto) sol::writeonly_property ( F &&  f)
inline

Definition at line 16490 of file sol.hpp.

template<typename F >
yielding_t<std::decay_t<F> > sol::yielding ( F &&  f)
inline

Definition at line 6644 of file sol.hpp.

Variable Documentation

const auto sol::base_classes = base_classes_tag()

Definition at line 8402 of file sol.hpp.

constexpr auto sol::bytecode_dump_writer = &basic_insert_dump_writer<bytecode>
inline

Definition at line 3833 of file sol.hpp.

const auto sol::call_constructor = call_construction{}

Definition at line 6299 of file sol.hpp.

const new_table sol::create = {}

Definition at line 7100 of file sol.hpp.

constexpr create_if_nil_t sol::create_if_nil = create_if_nil_t()
inline

Definition at line 7035 of file sol.hpp.

const auto sol::default_constructor = constructors<types<>>{}

Definition at line 6293 of file sol.hpp.

const destructor_wrapper<void> sol::default_destructor {}

Definition at line 6340 of file sol.hpp.

const env_key_t sol::env_key = {}

Definition at line 6619 of file sol.hpp.

constexpr std::in_place_t sol::in_place {}

Definition at line 3919 of file sol.hpp.

template<size_t I>
constexpr in_place_index_t<I> sol::in_place_index {}

Definition at line 3930 of file sol.hpp.

constexpr std::in_place_t sol::in_place_of {}

Definition at line 3920 of file sol.hpp.

template<typename T >
constexpr std::in_place_type_t<T> sol::in_place_type {}

Definition at line 3925 of file sol.hpp.

template<typename T >
constexpr bool sol::is_base_rebindable_non_void_v = is_base_rebindable_non_void<T>::value
inline

Definition at line 8389 of file sol.hpp.

template<typename T >
constexpr bool sol::is_base_rebindable_v = is_base_rebindable<T>::value
inline

Definition at line 8374 of file sol.hpp.

template<typename T >
constexpr bool sol::is_container_v = is_container<T>::value
inline

Definition at line 7414 of file sol.hpp.

template<typename T >
constexpr bool sol::is_environment_v = is_environment<T>::value
inline

Definition at line 7814 of file sol.hpp.

template<typename T >
constexpr bool sol::is_lightuserdata_v = is_lightuserdata<T>::value
inline

Definition at line 7802 of file sol.hpp.

template<typename T >
constexpr bool sol::is_lua_c_function_v = is_lua_c_function<T>::value
inline

Definition at line 7889 of file sol.hpp.

template<typename T >
constexpr bool sol::is_lua_primitive_v = is_lua_primitive<T>::value
inline

Definition at line 7691 of file sol.hpp.

template<typename T >
constexpr bool sol::is_lua_reference_or_proxy_v = is_lua_reference_or_proxy<T>::value
inline

Definition at line 7387 of file sol.hpp.

template<typename T >
constexpr bool sol::is_lua_reference_v = is_lua_reference<T>::value
inline

Definition at line 7381 of file sol.hpp.

template<typename T >
constexpr bool sol::is_stack_based_v = is_stack_based<T>::value
inline

Definition at line 7712 of file sol.hpp.

template<typename T >
constexpr bool sol::is_stack_table_v = is_stack_table<T>::value
inline

Definition at line 7789 of file sol.hpp.

template<typename T >
constexpr bool sol::is_table_like_v = is_table_like<T>::value
inline

Definition at line 7820 of file sol.hpp.

template<typename T >
constexpr bool sol::is_table_v = is_table<T>::value
inline

Definition at line 7779 of file sol.hpp.

template<typename T >
constexpr bool sol::is_transparent_argument_v = is_transparent_argument<T>::value
inline

Definition at line 7393 of file sol.hpp.

template<typename T >
constexpr bool sol::is_unique_usertype_v = is_unique_usertype<T>::value
inline

Definition at line 8363 of file sol.hpp.

template<typename T >
constexpr bool sol::is_userdata_v = is_userdata<T>::value
inline

Definition at line 7808 of file sol.hpp.

constexpr lua_nil_t sol::lua_nil {}
inline

Definition at line 6599 of file sol.hpp.

template<typename T >
constexpr int sol::lua_size_v = lua_size<T>::value
inline

Definition at line 7663 of file sol.hpp.

template<typename T >
constexpr type sol::lua_type_of_v = lua_type_of<T>::value
inline

Definition at line 7649 of file sol.hpp.

const metatable_key_t sol::metatable_key = {}

Definition at line 6616 of file sol.hpp.

constexpr nested_tag_t sol::nested_tag {}
inline

Definition at line 6900 of file sol.hpp.

constexpr const nil_t& sol::nil = lua_nil
inline

Definition at line 6608 of file sol.hpp.

const auto sol::no_constructor = no_construction{}

Definition at line 6296 of file sol.hpp.

const no_metatable_t sol::no_metatable = {}

Definition at line 6622 of file sol.hpp.

constexpr override_value_t sol::override_value = override_value_t()
inline

Definition at line 7031 of file sol.hpp.

const type_panic_t sol::type_panic = {}

Definition at line 8650 of file sol.hpp.

constexpr update_if_empty_t sol::update_if_empty = update_if_empty_t()
inline

Definition at line 7033 of file sol.hpp.



plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:52