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
 
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
 

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()

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

Member Function Documentation

◆ get()

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

◆ key()

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()

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:

◆ make_sub()

template<typename T , typename ... Ks>
auto nngn::lua::table_proxy< T, Ks >::make_sub ( const auto & t) const
private
Here is the call graph for this function:

◆ operator V()

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

◆ operator=()

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

◆ operator[]() [1/2]

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/2]

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()

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_sub()

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

◆ set()

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

◆ state()

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:

◆ table()

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:

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 file: