Public Member Functions | Protected Member Functions | Private Types | Friends | List of all members
sol::basic_metatable< base_type > Class Template Reference

#include <forward.hpp>

Inheritance diagram for sol::basic_metatable< base_type >:
Inheritance graph
[legend]

Public Member Functions

 basic_metatable () noexcept=default
 
 basic_metatable (const basic_metatable &)=default
 
 basic_metatable (basic_metatable &&)=default
 
 basic_metatable (const stack_reference &r)
 
 basic_metatable (stack_reference &&r)
 
template<typename T , meta::enable_any< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_metatable (lua_State *L, T &&r)
 
 basic_metatable (lua_State *L, int index=-1)
 
 basic_metatable (lua_State *L, ref_index index)
 
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_metatable >>, meta::neg< std::is_same< base_type, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_metatable (T &&r) noexcept
 
 basic_metatable (lua_nil_t r) noexcept
 
basic_metatableoperator= (const basic_metatable &)=default
 
basic_metatableoperator= (basic_metatable &&)=default
 
template<typename Key , typename Value >
basic_metatable< base_type > & set (Key &&key, Value &&value)
 
template<typename Sig , typename Key , typename... Args>
basic_metatableset_function (Key &&key, Args &&... args)
 
template<typename Key , typename... Args>
basic_metatableset_function (Key &&key, Args &&... args)
 
void unregister ()
 
- Public Member Functions inherited from sol::basic_table_core< top_level, ref_t >
template<typename... Args>
basic_table_coreadd (Args &&... args)
 
 basic_table_core () noexcept=default
 
 basic_table_core (const basic_table_core &)=default
 
 basic_table_core (basic_table_core &&)=default
 
 basic_table_core (const stack_reference &r)
 
 basic_table_core (stack_reference &&r)
 
template<typename T , meta::enable_any< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_table_core (lua_State *L, T &&r)
 
 basic_table_core (lua_State *L, const new_table &nt)
 
 basic_table_core (lua_State *L, int index=-1)
 
 basic_table_core (lua_State *L, ref_index index)
 
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_table_core >>, meta::neg< std::is_same< ref_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_table_core (T &&r) noexcept
 
 basic_table_core (lua_nil_t r) noexcept
 
 basic_table_core (lua_State *L, global_tag_t t) noexcept
 
iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
void clear ()
 
table create (int narr=0, int nrec=0)
 
template<typename Key , typename Value , typename... Args>
table create (int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename Name >
table create (Name &&name, int narr=0, int nrec=0)
 
template<typename Name , typename Key , typename Value , typename... Args>
table create (Name &&name, int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename Name , typename... Args>
table create_named (Name &&name, Args &&... args)
 
template<typename... Args>
table create_with (Args &&... args)
 
bool empty () const
 
iterator end () const
 
template<typename Key = object, typename Value = object, typename Fx >
void for_each (Fx &&fx) const
 
template<typename... Ret, typename... Keys>
decltype(auto) get (Keys &&... keys) const
 
template<typename T , typename Key >
decltype(auto) get_or (Key &&key, T &&otherwise) const
 
template<typename T , typename Key , typename D >
decltype(auto) get_or (Key &&key, D &&otherwise) const
 
template<bool read_only = true, typename... Args>
table new_enum (const string_view &name, Args &&... args)
 
template<typename T , bool read_only = true>
table new_enum (const string_view &name, std::initializer_list< std::pair< string_view, T >> items)
 
template<typename Class , typename Key >
usertype< Class > new_usertype (Key &&key)
 
template<typename Class , typename Key , automagic_flags enrollment_flags>
usertype< Class > new_usertype (Key &&key, constant_automagic_enrollments< enrollment_flags > enrollment)
 
template<typename Class , typename Key >
usertype< Class > new_usertype (Key &&key, automagic_enrollments enrollment)
 
template<typename Class , typename Key , typename Arg , typename... Args, typename = std::enable_if_t<!std::is_base_of_v<automagic_enrollments, meta::unqualified_t<Arg>>>>
usertype< Class > new_usertype (Key &&key, Arg &&arg, Args &&... args)
 
basic_table_coreoperator= (const basic_table_core &)=default
 
basic_table_coreoperator= (basic_table_core &&)=default
 
template<typename T >
auto operator[] (T &&key) &
 
template<typename T >
auto operator[] (T &&key) const &
 
template<typename T >
auto operator[] (T &&key) &&
 
basic_pairs_range< basic_table_corepairs () noexcept
 
basic_pairs_range< const basic_table_corepairs () const noexcept
 
template<typename... Ret, typename... Keys>
decltype(auto) raw_get (Keys &&... keys) const
 
template<typename T , typename Key >
decltype(auto) raw_get_or (Key &&key, T &&otherwise) const
 
template<typename T , typename Key , typename D >
decltype(auto) raw_get_or (Key &&key, D &&otherwise) const
 
template<typename... Args>
basic_table_coreraw_set (Args &&... args)
 
template<typename... Args>
basic_table_coreset (Args &&... args)
 
template<typename Sig , typename Key , typename... Args>
basic_table_coreset_function (Key &&key, Args &&... args)
 
template<typename Key , typename... Args>
basic_table_coreset_function (Key &&key, Args &&... args)
 
size_t size () const
 
template<typename T , typename... Keys>
decltype(auto) traverse_get (Keys &&... keys) const
 
template<typename T , typename... Keys>
decltype(auto) traverse_raw_get (Keys &&... keys) const
 
template<typename... Keys>
basic_table_coretraverse_raw_set (Keys &&... keys)
 
template<typename... Keys>
basic_table_coretraverse_set (Keys &&... keys)
 
- Public Member Functions inherited from sol::basic_object< ref_t >
 basic_object () noexcept=default
 
 basic_object (T &&r)
 
 basic_object (lua_State *L_, T &&r)
 
 basic_object (lua_State *L_, global_tag_t t)
 
 basic_object (lua_nil_t r)
 
 basic_object (const basic_object &)=default
 
 basic_object (basic_object &&)=default
 
 basic_object (const stack_reference &r) noexcept
 
 basic_object (stack_reference &&r) noexcept
 
 basic_object (const proxy_base< Super > &r) noexcept
 
 basic_object (proxy_base< Super > &&r) noexcept
 
 basic_object (lua_State *L_, lua_nil_t r) noexcept
 
 basic_object (lua_State *L_, int index_=-1) noexcept
 
 basic_object (lua_State *L_, absolute_index index_) noexcept
 
 basic_object (lua_State *L_, raw_index index_) noexcept
 
 basic_object (lua_State *L_, ref_index index_) noexcept
 
 basic_object (lua_State *L_, in_place_type_t< T >, Args &&... args) noexcept
 
 basic_object (lua_State *L_, in_place_t, T &&arg, Args &&... args) noexcept
 
basic_objectoperator= (const basic_object &)=default
 
basic_objectoperator= (basic_object &&)=default
 
basic_objectoperator= (const ref_t &b)
 
basic_objectoperator= (ref_t &&b)
 
basic_objectoperator= (const proxy_base< Super > &r)
 
basic_objectoperator= (proxy_base< Super > &&r)
 
- Public Member Functions inherited from sol::basic_object_base< ref_t >
template<typename T >
decltype(auto) as () const
 
 basic_object_base () noexcept=default
 
 basic_object_base (const basic_object_base &)=default
 
 basic_object_base (basic_object_base &&)=default
 
template<typename T , typename... Args, meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_object_base >>> = meta::enabler>
 basic_object_base (T &&arg, Args &&... args)
 
template<typename T >
bool is () const
 
basic_object_baseoperator= (const basic_object_base &)=default
 
basic_object_baseoperator= (basic_object_base &&)=default
 

Protected Member Functions

 basic_metatable (detail::no_safety_tag, lua_nil_t n)
 
 basic_metatable (detail::no_safety_tag, lua_State *L, int index)
 
 basic_metatable (detail::no_safety_tag, lua_State *L, ref_index index)
 
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_metatable >>, meta::neg< std::is_same< base_type, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_metatable (detail::no_safety_tag, T &&r) noexcept
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_metatable (detail::no_safety_tag, lua_State *L, T &&r) noexcept
 
template<typename R , typename... Args, typename Fx , typename Key , typename = std::invoke_result_t<Fx, Args...>>
void set_fx (types< R(Args...)>, Key &&key, Fx &&fx)
 
template<typename Fx , typename Key , meta::enable< meta::is_specialization_of< meta::unqualified_t< Fx >, overload_set >> = meta::enabler>
void set_fx (types<>, Key &&key, Fx &&fx)
 
template<typename Fx , typename Key , typename... Args, meta::disable< meta::is_specialization_of< meta::unqualified_t< Fx >, overload_set >> = meta::enabler>
void set_fx (types<>, Key &&key, Fx &&fx, Args &&... args)
 
template<typename... Sig, typename... Args, typename Key >
void set_resolved_function (Key &&key, Args &&... args)
 
- Protected Member Functions inherited from sol::basic_table_core< top_level, ref_t >
 basic_table_core (detail::no_safety_tag, lua_nil_t n)
 
 basic_table_core (detail::no_safety_tag, lua_State *L, int index)
 
 basic_table_core (detail::no_safety_tag, lua_State *L, ref_index index)
 
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_table_core >>, meta::neg< std::is_same< ref_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_table_core (detail::no_safety_tag, T &&r) noexcept
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_table_core (detail::no_safety_tag, lua_State *L, T &&r) noexcept
 
- Protected Member Functions inherited from sol::basic_object< ref_t >
 basic_object (detail::no_safety_tag, lua_nil_t n)
 
 basic_object (detail::no_safety_tag, lua_State *L_, int index_)
 
 basic_object (detail::no_safety_tag, lua_State *L_, ref_index index_)
 
 basic_object (detail::no_safety_tag, T &&r) noexcept
 
 basic_object (detail::no_safety_tag, lua_State *L_, T &&r) noexcept
 

Private Types

typedef basic_table< base_type > base_t
 

Friends

class state
 
class state_view
 

Additional Inherited Members

- Public Types inherited from sol::basic_table_core< top_level, ref_t >
using const_iterator = iterator
 
using iterator = basic_table_iterator< ref_t >
 
- Static Public Member Functions inherited from sol::basic_table_core< top_level, ref_t >
static table create (lua_State *L, int narr=0, int nrec=0)
 
template<typename Key , typename Value , typename... Args>
static table create (lua_State *L, int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename... Args>
static table create_with (lua_State *L, Args &&... args)
 

Detailed Description

template<typename base_type>
class sol::basic_metatable< base_type >

Definition at line 1146 of file forward.hpp.

Member Typedef Documentation

◆ base_t

template<typename base_type>
typedef basic_table<base_type> sol::basic_metatable< base_type >::base_t
private

Definition at line 26134 of file sol.hpp.

Constructor & Destructor Documentation

◆ basic_metatable() [1/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( detail::no_safety_tag  ,
lua_nil_t  n 
)
inlineprotected

Definition at line 26139 of file sol.hpp.

◆ basic_metatable() [2/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( detail::no_safety_tag  ,
lua_State L,
int  index 
)
inlineprotected

Definition at line 26141 of file sol.hpp.

◆ basic_metatable() [3/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( detail::no_safety_tag  ,
lua_State L,
ref_index  index 
)
inlineprotected

Definition at line 26143 of file sol.hpp.

◆ basic_metatable() [4/15]

template<typename base_type>
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_metatable >>, meta::neg< std::is_same< base_type, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_metatable< base_type >::basic_metatable ( detail::no_safety_tag  ,
T &&  r 
)
inlineprotectednoexcept

Definition at line 26148 of file sol.hpp.

◆ basic_metatable() [5/15]

template<typename base_type>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_metatable< base_type >::basic_metatable ( detail::no_safety_tag  ,
lua_State L,
T &&  r 
)
inlineprotectednoexcept

Definition at line 26151 of file sol.hpp.

◆ basic_metatable() [6/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( )
defaultnoexcept

◆ basic_metatable() [7/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( const basic_metatable< base_type > &  )
default

◆ basic_metatable() [8/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( basic_metatable< base_type > &&  )
default

◆ basic_metatable() [9/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( const stack_reference r)
inline

Definition at line 26183 of file sol.hpp.

◆ basic_metatable() [10/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( stack_reference &&  r)
inline

Definition at line 26185 of file sol.hpp.

◆ basic_metatable() [11/15]

template<typename base_type>
template<typename T , meta::enable_any< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_metatable< base_type >::basic_metatable ( lua_State L,
T &&  r 
)
inline

Definition at line 26188 of file sol.hpp.

◆ basic_metatable() [12/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( lua_State L,
int  index = -1 
)
inline

Definition at line 26195 of file sol.hpp.

◆ basic_metatable() [13/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( lua_State L,
ref_index  index 
)
inline

Definition at line 26201 of file sol.hpp.

◆ basic_metatable() [14/15]

template<typename base_type>
template<typename T , meta::enable< meta::neg< meta::any_same< meta::unqualified_t< T >, basic_metatable >>, meta::neg< std::is_same< base_type, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_metatable< base_type >::basic_metatable ( T &&  r)
inlinenoexcept

Definition at line 26211 of file sol.hpp.

◆ basic_metatable() [15/15]

template<typename base_type>
sol::basic_metatable< base_type >::basic_metatable ( lua_nil_t  r)
inlinenoexcept

Definition at line 26220 of file sol.hpp.

Member Function Documentation

◆ operator=() [1/2]

template<typename base_type>
basic_metatable& sol::basic_metatable< base_type >::operator= ( const basic_metatable< base_type > &  )
default

◆ operator=() [2/2]

template<typename base_type>
basic_metatable& sol::basic_metatable< base_type >::operator= ( basic_metatable< base_type > &&  )
default

◆ set()

template<typename base_type >
template<typename Key , typename Value >
basic_metatable< base_type > & sol::basic_metatable< base_type >::set ( Key &&  key,
Value &&  value 
)

Definition at line 26531 of file sol.hpp.

◆ set_function() [1/2]

template<typename base_type>
template<typename Sig , typename Key , typename... Args>
basic_metatable& sol::basic_metatable< base_type >::set_function ( Key &&  key,
Args &&...  args 
)
inline

Definition at line 26227 of file sol.hpp.

◆ set_function() [2/2]

template<typename base_type>
template<typename Key , typename... Args>
basic_metatable& sol::basic_metatable< base_type >::set_function ( Key &&  key,
Args &&...  args 
)
inline

Definition at line 26233 of file sol.hpp.

◆ set_fx() [1/3]

template<typename base_type>
template<typename R , typename... Args, typename Fx , typename Key , typename = std::invoke_result_t<Fx, Args...>>
void sol::basic_metatable< base_type >::set_fx ( types< R(Args...)>  ,
Key &&  key,
Fx &&  fx 
)
inlineprotected

Definition at line 26155 of file sol.hpp.

◆ set_fx() [2/3]

template<typename base_type>
template<typename Fx , typename Key , meta::enable< meta::is_specialization_of< meta::unqualified_t< Fx >, overload_set >> = meta::enabler>
void sol::basic_metatable< base_type >::set_fx ( types<>  ,
Key &&  key,
Fx &&  fx 
)
inlineprotected

Definition at line 26160 of file sol.hpp.

◆ set_fx() [3/3]

template<typename base_type>
template<typename Fx , typename Key , typename... Args, meta::disable< meta::is_specialization_of< meta::unqualified_t< Fx >, overload_set >> = meta::enabler>
void sol::basic_metatable< base_type >::set_fx ( types<>  ,
Key &&  key,
Fx &&  fx,
Args &&...  args 
)
inlineprotected

Definition at line 26166 of file sol.hpp.

◆ set_resolved_function()

template<typename base_type>
template<typename... Sig, typename... Args, typename Key >
void sol::basic_metatable< base_type >::set_resolved_function ( Key &&  key,
Args &&...  args 
)
inlineprotected

Definition at line 26171 of file sol.hpp.

◆ unregister()

template<typename base_type>
void sol::basic_metatable< base_type >::unregister ( )
inline

Definition at line 26238 of file sol.hpp.

Friends And Related Function Documentation

◆ state

template<typename base_type>
friend class state
friend

Definition at line 26135 of file sol.hpp.

◆ state_view

template<typename base_type>
friend class state_view
friend

Definition at line 26136 of file sol.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:12:57