OpenMiner  0.0.1a
Voxel game engine
Public Member Functions | Private Types | Private Member Functions | List of all members
sol::basic_object< base_type > Class Template Reference

#include <sol.hpp>

Inheritance diagram for sol::basic_object< base_type >:
sol::basic_object_base< base_type >

Public Member Functions

 basic_object () noexcept=default
 
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_object >>, meta::neg< std::is_same< base_type, stack_reference >>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 basic_object (T &&r)
 
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
 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
 
template<typename Super >
 basic_object (const proxy_base< Super > &r) noexcept
 
template<typename Super >
 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
 
template<typename T , typename... Args>
 basic_object (lua_State *L, in_place_type_t< T >, Args &&... args) noexcept
 
template<typename T , typename... Args>
 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 base_type &b)
 
basic_objectoperator= (base_type &&b)
 
template<typename Super >
basic_objectoperator= (const proxy_base< Super > &r)
 
template<typename Super >
basic_objectoperator= (proxy_base< Super > &&r)
 
- Public Member Functions inherited from sol::basic_object_base< base_type >
 basic_object_base () noexcept=default
 
 basic_object_base (const basic_object_base &)=default
 
 basic_object_base (basic_object_base &&)=default
 
 basic_object_base (T &&arg, Args &&... args)
 
basic_object_baseoperator= (const basic_object_base &)=default
 
basic_object_baseoperator= (basic_object_base &&)=default
 
decltype(auto) as () const
 
bool is () const
 

Private Types

typedef basic_object_base< base_type > base_t
 

Private Member Functions

template<bool invert_and_pop = false>
 basic_object (std::integral_constant< bool, invert_and_pop >, lua_State *L, int index=-1) noexcept
 

Member Typedef Documentation

§ base_t

template<typename base_type>
typedef basic_object_base<base_type> sol::basic_object< base_type >::base_t
private

Constructor & Destructor Documentation

§ basic_object() [1/18]

template<typename base_type>
template<bool invert_and_pop = false>
sol::basic_object< base_type >::basic_object ( std::integral_constant< bool, invert_and_pop >  ,
lua_State *  L,
int  index = -1 
)
inlineprivatenoexcept
16149  : base_t(L, index) {
16150  if (invert_and_pop) {
16151  lua_pop(L, -index);
16152  }
16153  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [2/18]

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

§ basic_object() [3/18]

template<typename base_type>
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_object >>, meta::neg< std::is_same< base_type, stack_reference >>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_object< base_type >::basic_object ( T &&  r)
inline
16159  : base_t(std::forward<T>(r)) {
16160  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [4/18]

template<typename base_type>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
T &&  r 
)
inline
16163  : base_t(L, std::forward<T>(r)) {
16164  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [5/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_nil_t  r)
inline
16166  : base_t(r) {
16167  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [6/18]

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

§ basic_object() [7/18]

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

§ basic_object() [8/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( const stack_reference r)
inlinenoexcept
16171  : basic_object(r.lua_state(), r.stack_index()) {
16172  }
basic_object() noexcept=default

§ basic_object() [9/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( stack_reference &&  r)
inlinenoexcept
16174  : basic_object(r.lua_state(), r.stack_index()) {
16175  }
basic_object() noexcept=default

§ basic_object() [10/18]

template<typename base_type>
template<typename Super >
sol::basic_object< base_type >::basic_object ( const proxy_base< Super > &  r)
inlinenoexcept
16178  : basic_object(r.operator basic_object()) {
16179  }
basic_object() noexcept=default

§ basic_object() [11/18]

template<typename base_type>
template<typename Super >
sol::basic_object< base_type >::basic_object ( proxy_base< Super > &&  r)
inlinenoexcept
16182  : basic_object(r.operator basic_object()) {
16183  }
basic_object() noexcept=default

§ basic_object() [12/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
lua_nil_t  r 
)
inlinenoexcept
16185  : base_t(L, r) {
16186  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [13/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
int  index = -1 
)
inlinenoexcept
16188  : base_t(L, index) {
16189  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [14/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
absolute_index  index 
)
inlinenoexcept
16191  : base_t(L, index) {
16192  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [15/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
raw_index  index 
)
inlinenoexcept
16194  : base_t(L, index) {
16195  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [16/18]

template<typename base_type>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
ref_index  index 
)
inlinenoexcept
16197  : base_t(L, index) {
16198  }
basic_object_base< base_type > base_t
Definition: sol.hpp:16145

§ basic_object() [17/18]

template<typename base_type>
template<typename T , typename... Args>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
in_place_type_t< T ,
Args &&...  args 
)
inlinenoexcept
16201  : basic_object(std::integral_constant<bool, !is_stack_based<base_t>::value>(), L, -stack::push<T>(L, std::forward<Args>(args)...)) {
16202  }
basic_object() noexcept=default

§ basic_object() [18/18]

template<typename base_type>
template<typename T , typename... Args>
sol::basic_object< base_type >::basic_object ( lua_State *  L,
in_place_t  ,
T &&  arg,
Args &&...  args 
)
inlinenoexcept
16205  : basic_object(L, in_place_type<T>, std::forward<T>(arg), std::forward<Args>(args)...) {
16206  }
basic_object() noexcept=default

Member Function Documentation

§ operator=() [1/6]

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

§ operator=() [2/6]

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

§ operator=() [3/6]

template<typename base_type>
basic_object& sol::basic_object< base_type >::operator= ( const base_type &  b)
inline
16209  {
16210  base_t::operator=(b);
16211  return *this;
16212  }
basic_object_base & operator=(const basic_object_base &)=default

§ operator=() [4/6]

template<typename base_type>
basic_object& sol::basic_object< base_type >::operator= ( base_type &&  b)
inline
16213  {
16214  base_t::operator=(std::move(b));
16215  return *this;
16216  }
basic_object_base & operator=(const basic_object_base &)=default

§ operator=() [5/6]

template<typename base_type>
template<typename Super >
basic_object& sol::basic_object< base_type >::operator= ( const proxy_base< Super > &  r)
inline
16218  {
16219  this->operator=(r.operator basic_object());
16220  return *this;
16221  }
basic_object() noexcept=default
basic_object & operator=(const basic_object &)=default

§ operator=() [6/6]

template<typename base_type>
template<typename Super >
basic_object& sol::basic_object< base_type >::operator= ( proxy_base< Super > &&  r)
inline
16223  {
16224  this->operator=(r.operator basic_object());
16225  return *this;
16226  }
basic_object() noexcept=default
basic_object & operator=(const basic_object &)=default

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