nngn
Loading...
Searching...
No Matches
nngn::lua::table_proxy< T, Ks > Class Template Reference

Expression template for table assignemnts. More...

#include <table.h>

Inheritance diagram for nngn::lua::table_proxy< T, Ks >:
Collaboration diagram for nngn::lua::table_proxy< T, Ks >:

Public Member Functions

 table_proxy (const T &t, auto &&k)
 
template<typename V >
table_proxyoperator= (V &&v)
 
template<typename V >
 operator V (void) const
 
template<typename K >
table_proxy< T, Ks..., std::decay_t< K > > operator[] (K &&k) const
 
const Ttable (void) const
 
const std::tuple< Ks... > & keys (void) const
 
state_view state (void) const
 
template<typename V >
get (V &&def=V{}) const
 
void set (auto &&v) const
 
int push (void) const
 
 table_proxy (const T &t, auto &&k)
 
template<typename V >
table_proxyoperator= (V &&v)
 
template<typename V >
 operator V (void) const
 
template<typename K >
table_proxy< T, Ks..., std::decay_t< K > > operator[] (K &&k) const
 
const Ttable (void) const
 
const std::tuple< Ks... > & keys (void) const
 
state_view state (void) const
 
template<typename V >
get (V &&def=V{}) const
 
void set (auto &&v) const
 
int push (void) const
 
template<typename K >
auto operator[] (K &&k) const -> table_proxy< T, Ks..., std::decay_t< K > >
 

Private Member Functions

auto key (void) const
 
auto push_sub (void) const
 
auto make_sub (const auto &t) const
 
auto key (void) const
 
auto push_sub (void) const
 
auto make_sub (const auto &t) const
 

Private Attributes

const Tm_table
 
std::tuple< Ks... > m_keys
 

Detailed Description

template<typename T, typename ... Ks>
class nngn::lua::table_proxy< T, Ks >

Expression template for table assignemnts.

Constructor & Destructor Documentation

◆ table_proxy() [1/2]

template<typename T , typename ... Ks>
nngn::lua::table_proxy< T, Ks >::table_proxy ( const T t,
auto &&  k 
)
inline

◆ table_proxy() [2/2]

template<typename T , typename ... Ks>
nngn::lua::table_proxy< T, Ks >::table_proxy ( const T t,
auto &&  k 
)
inline

Member Function Documentation

◆ get() [1/2]

template<typename T , typename ... Ks>
template<typename V >
V nngn::lua::table_proxy< T, Ks >::get ( V &&  def = V{}) const

◆ get() [2/2]

template<typename T , typename ... Ks>
template<typename V >
V nngn::lua::table_proxy< T, Ks >::get ( V &&  def = V{}) const

◆ key() [1/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::key ( void  ) const
inlineprivate
Here is the call graph for this function:

◆ key() [2/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::key ( void  ) const
inlineprivate
Here is the call graph for this function:

◆ keys() [1/2]

template<typename T , typename ... Ks>
const std::tuple< Ks... > & nngn::lua::table_proxy< T, Ks >::keys ( void  ) const
inline
Here is the caller graph for this function:

◆ keys() [2/2]

template<typename T , typename ... Ks>
const std::tuple< Ks... > & nngn::lua::table_proxy< T, Ks >::keys ( void  ) const
inline

◆ make_sub() [1/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::make_sub ( const auto &  t) const
private

◆ make_sub() [2/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::make_sub ( const auto &  t) const
private

◆ operator V() [1/2]

template<typename T , typename ... Ks>
template<typename V >
nngn::lua::table_proxy< T, Ks >::operator V ( void  ) const
inline

◆ operator V() [2/2]

template<typename T , typename ... Ks>
template<typename V >
nngn::lua::table_proxy< T, Ks >::operator V ( void  ) const
inline

◆ operator=() [1/2]

template<typename T , typename ... Ks>
template<typename V >
table_proxy & nngn::lua::table_proxy< T, Ks >::operator= ( V &&  v)
inline

◆ operator=() [2/2]

template<typename T , typename ... Ks>
template<typename V >
table_proxy & nngn::lua::table_proxy< T, Ks >::operator= ( V &&  v)
inline

◆ operator[]() [1/3]

template<typename T , typename ... Ks>
template<typename K >
table_proxy< T, Ks..., std::decay_t< K > > nngn::lua::table_proxy< T, Ks >::operator[] ( K &&  k) const

◆ operator[]() [2/3]

template<typename T , typename ... Ks>
template<typename K >
table_proxy< T, Ks..., std::decay_t< K > > nngn::lua::table_proxy< T, Ks >::operator[] ( K &&  k) const

◆ operator[]() [3/3]

template<typename T , typename ... Ks>
template<typename K >
auto nngn::lua::table_proxy< T, Ks >::operator[] ( K &&  k) const -> table_proxy<T, Ks..., std::decay_t<K>>

◆ push() [1/2]

template<typename T , typename ... Ks>
int nngn::lua::table_proxy< T, Ks >::push ( void  ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ push() [2/2]

template<typename T , typename ... Ks>
int nngn::lua::table_proxy< T, Ks >::push ( void  ) const
inline
Here is the call graph for this function:

◆ push_sub() [1/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::push_sub ( void  ) const
private

◆ push_sub() [2/2]

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::push_sub ( void  ) const
private

◆ set() [1/2]

template<typename T , typename ... Ks>
void nngn::lua::table_proxy< T, Ks >::set ( auto &&  v) const

◆ set() [2/2]

template<typename T , typename ... Ks>
void nngn::lua::table_proxy< T, Ks >::set ( auto &&  v) const

◆ state() [1/2]

template<typename T , typename ... Ks>
state_view nngn::lua::table_proxy< T, Ks >::state ( void  ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ state() [2/2]

template<typename T , typename ... Ks>
state_view nngn::lua::table_proxy< T, Ks >::state ( void  ) const
inline
Here is the call graph for this function:

◆ table() [1/2]

template<typename T , typename ... Ks>
const T & nngn::lua::table_proxy< T, Ks >::table ( void  ) const
inline
Here is the caller graph for this function:

◆ table() [2/2]

template<typename T , typename ... Ks>
const T & nngn::lua::table_proxy< T, Ks >::table ( void  ) const
inline

Member Data Documentation

◆ m_keys

template<typename T , typename ... Ks>
std::tuple< Ks... > nngn::lua::table_proxy< T, Ks >::m_keys
private

◆ m_table

template<typename T , typename ... Ks>
const T & nngn::lua::table_proxy< T, Ks >::m_table
private

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