Public Member Functions | Private Types | Private Member Functions | Friends | List of all members
sol::basic_usertype< T, base_type > Class Template Reference

#include <forward.hpp>

Inheritance diagram for sol::basic_usertype< T, base_type >:
Inheritance graph
[legend]

Public Member Functions

template<typename Key >
usertype_proxy< basic_usertype &, std::decay_t< Key > > operator[] (Key &&key)
 
template<typename Key >
usertype_proxy< const basic_usertype &, std::decay_t< Key > > operator[] (Key &&key) const
 
template<typename Key , typename Value >
void set (Key &&key, Value &&value)
 

Private Types

using base_t = basic_metatable< base_type >
 
using table_base_t = basic_table< base_type >
 
- Private Types inherited from sol::basic_table_core< top_level, ref_t >
using const_iterator = iterator
 
using iterator = basic_table_iterator< ref_t >
 

Private Member Functions

template<std::size_t... I, typename... Args>
void tuple_set (std::index_sequence< I... >, std::tuple< Args... > &&args)
 
- Private Member Functions inherited from sol::basic_metatable< base_type >
 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 >
void set (Key &&key, Value &&value)
 
void unregister ()
 
 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
 
- Private 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
 
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 >
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_same_v<meta::unqualified_t<Arg>, automagic_enrollments>>>
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)&&
 
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)
 
 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
 
- Private 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_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)
 
 basic_object (detail::no_safety_tag, lua_nil_t n)
 
 basic_object (detail::no_safety_tag, lua_State *L, int index)
 
 basic_object (lua_State *L, detail::global_tag t)
 
 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 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
 

Friends

template<typename >
class basic_metatable
 
template<bool , typename >
class basic_table_core
 

Additional Inherited Members

- Static Private 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 T, typename base_type>
class sol::basic_usertype< T, base_type >

Definition at line 649 of file forward.hpp.

Member Typedef Documentation

template<typename T, typename base_type>
using sol::basic_usertype< T, base_type >::base_t = basic_metatable<base_type>
private

Definition at line 24175 of file sol.hpp.

template<typename T, typename base_type>
using sol::basic_usertype< T, base_type >::table_base_t = basic_table<base_type>
private

Definition at line 24176 of file sol.hpp.

Member Function Documentation

template<typename T, typename base_type>
template<typename Key >
usertype_proxy<basic_usertype&, std::decay_t<Key> > sol::basic_usertype< T, base_type >::operator[] ( Key &&  key)
inline

Definition at line 24224 of file sol.hpp.

template<typename T, typename base_type>
template<typename Key >
usertype_proxy<const basic_usertype&, std::decay_t<Key> > sol::basic_usertype< T, base_type >::operator[] ( Key &&  key) const
inline

Definition at line 24229 of file sol.hpp.

template<typename T, typename base_type>
template<typename Key , typename Value >
void sol::basic_usertype< T, base_type >::set ( Key &&  key,
Value &&  value 
)
inline

Definition at line 24204 of file sol.hpp.

template<typename T, typename base_type>
template<std::size_t... I, typename... Args>
void sol::basic_usertype< T, base_type >::tuple_set ( std::index_sequence< I... >  ,
std::tuple< Args... > &&  args 
)
inlineprivate

Definition at line 24185 of file sol.hpp.

Friends And Related Function Documentation

template<typename T, typename base_type>
template<typename >
friend class basic_metatable
friend

Definition at line 24179 of file sol.hpp.

template<typename T, typename base_type>
template<bool , typename >
friend class basic_table_core
friend

Definition at line 24182 of file sol.hpp.


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


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