OpenMiner  0.0.1a
Voxel game engine
Public Types | Static Public Member Functions | List of all members
sol::container_usertype_metatable< X > Struct Template Reference

#include <sol.hpp>

Public Types

typedef std::remove_pointer_t< meta::unqualified_t< X > > T
 
typedef container_traits< Ttraits
 
typedef container_detail::container_traits_default< Tdefault_traits
 

Static Public Member Functions

static int real_index_get_traits (std::true_type, lua_State *L)
 
static int real_index_get_traits (std::false_type, lua_State *L)
 
static int real_index_call (lua_State *L)
 
static int real_at_traits (std::true_type, lua_State *L)
 
static int real_at_traits (std::false_type, lua_State *L)
 
static int real_at_call (lua_State *L)
 
static int real_get_traits (std::true_type, lua_State *L)
 
static int real_get_traits (std::false_type, lua_State *L)
 
static int real_get_call (lua_State *L)
 
static int real_set_traits (std::true_type, lua_State *L)
 
static int real_set_traits (std::false_type, lua_State *L)
 
static int real_set_call (lua_State *L)
 
static int real_index_set_traits (std::true_type, lua_State *L)
 
static int real_index_set_traits (std::false_type, lua_State *L)
 
static int real_new_index_call (lua_State *L)
 
static int real_pairs_traits (std::true_type, lua_State *L)
 
static int real_pairs_traits (std::false_type, lua_State *L)
 
static int real_pairs_call (lua_State *L)
 
static int real_ipairs_traits (std::true_type, lua_State *L)
 
static int real_ipairs_traits (std::false_type, lua_State *L)
 
static int real_ipairs_call (lua_State *L)
 
static int real_next_traits (std::true_type, lua_State *L)
 
static int real_next_traits (std::false_type, lua_State *L)
 
static int real_next_call (lua_State *L)
 
static int real_size_traits (std::true_type, lua_State *L)
 
static int real_size_traits (std::false_type, lua_State *L)
 
static int real_length_call (lua_State *L)
 
static int real_add_traits (std::true_type, lua_State *L)
 
static int real_add_traits (std::false_type, lua_State *L)
 
static int real_add_call (lua_State *L)
 
static int real_insert_traits (std::true_type, lua_State *L)
 
static int real_insert_traits (std::false_type, lua_State *L)
 
static int real_insert_call (lua_State *L)
 
static int real_clear_traits (std::true_type, lua_State *L)
 
static int real_clear_traits (std::false_type, lua_State *L)
 
static int real_clear_call (lua_State *L)
 
static int real_empty_traits (std::true_type, lua_State *L)
 
static int real_empty_traits (std::false_type, lua_State *L)
 
static int real_empty_call (lua_State *L)
 
static int real_erase_traits (std::true_type, lua_State *L)
 
static int real_erase_traits (std::false_type, lua_State *L)
 
static int real_erase_call (lua_State *L)
 
static int real_find_traits (std::true_type, lua_State *L)
 
static int real_find_traits (std::false_type, lua_State *L)
 
static int real_find_call (lua_State *L)
 
static int add_call (lua_State *L)
 
static int erase_call (lua_State *L)
 
static int insert_call (lua_State *L)
 
static int clear_call (lua_State *L)
 
static int empty_call (lua_State *L)
 
static int find_call (lua_State *L)
 
static int length_call (lua_State *L)
 
static int pairs_call (lua_State *L)
 
static int ipairs_call (lua_State *L)
 
static int next_call (lua_State *L)
 
static int at_call (lua_State *L)
 
static int get_call (lua_State *L)
 
static int set_call (lua_State *L)
 
static int index_call (lua_State *L)
 
static int new_index_call (lua_State *L)
 

Member Typedef Documentation

§ default_traits

§ T

template<typename X >
typedef std::remove_pointer_t<meta::unqualified_t<X> > sol::container_usertype_metatable< X >::T

§ traits

template<typename X >
typedef container_traits<T> sol::container_usertype_metatable< X >::traits

Member Function Documentation

§ add_call()

template<typename X >
static int sol::container_usertype_metatable< X >::add_call ( lua_State *  L)
inlinestatic
17918  {
17919  return detail::typed_static_trampoline<decltype(&real_add_call), (&real_add_call)>(L);
17920  }

§ at_call()

template<typename X >
static int sol::container_usertype_metatable< X >::at_call ( lua_State *  L)
inlinestatic
17958  {
17959  return detail::typed_static_trampoline<decltype(&real_at_call), (&real_at_call)>(L);
17960  }

§ clear_call()

template<typename X >
static int sol::container_usertype_metatable< X >::clear_call ( lua_State *  L)
inlinestatic
17930  {
17931  return detail::typed_static_trampoline<decltype(&real_clear_call), (&real_clear_call)>(L);
17932  }

§ empty_call()

template<typename X >
static int sol::container_usertype_metatable< X >::empty_call ( lua_State *  L)
inlinestatic
17934  {
17935  return detail::typed_static_trampoline<decltype(&real_empty_call), (&real_empty_call)>(L);
17936  }

§ erase_call()

template<typename X >
static int sol::container_usertype_metatable< X >::erase_call ( lua_State *  L)
inlinestatic
17922  {
17923  return detail::typed_static_trampoline<decltype(&real_erase_call), (&real_erase_call)>(L);
17924  }

§ find_call()

template<typename X >
static int sol::container_usertype_metatable< X >::find_call ( lua_State *  L)
inlinestatic
17938  {
17939  return detail::typed_static_trampoline<decltype(&real_find_call), (&real_find_call)>(L);
17940  }

§ get_call()

template<typename X >
static int sol::container_usertype_metatable< X >::get_call ( lua_State *  L)
inlinestatic
17962  {
17963  return detail::typed_static_trampoline<decltype(&real_get_call), (&real_get_call)>(L);
17964  }

§ index_call()

template<typename X >
static int sol::container_usertype_metatable< X >::index_call ( lua_State *  L)
inlinestatic
17970  {
17971  return detail::typed_static_trampoline<decltype(&real_index_call), (&real_index_call)>(L);
17972  }

§ insert_call()

template<typename X >
static int sol::container_usertype_metatable< X >::insert_call ( lua_State *  L)
inlinestatic
17926  {
17927  return detail::typed_static_trampoline<decltype(&real_insert_call), (&real_insert_call)>(L);
17928  }

§ ipairs_call()

template<typename X >
static int sol::container_usertype_metatable< X >::ipairs_call ( lua_State *  L)
inlinestatic
17950  {
17951  return detail::typed_static_trampoline<decltype(&real_ipairs_call), (&real_ipairs_call)>(L);
17952  }

§ length_call()

template<typename X >
static int sol::container_usertype_metatable< X >::length_call ( lua_State *  L)
inlinestatic
17942  {
17943  return detail::typed_static_trampoline<decltype(&real_length_call), (&real_length_call)>(L);
17944  }

§ new_index_call()

template<typename X >
static int sol::container_usertype_metatable< X >::new_index_call ( lua_State *  L)
inlinestatic
17974  {
17975  return detail::typed_static_trampoline<decltype(&real_new_index_call), (&real_new_index_call)>(L);
17976  }

§ next_call()

template<typename X >
static int sol::container_usertype_metatable< X >::next_call ( lua_State *  L)
inlinestatic
17954  {
17955  return detail::typed_static_trampoline<decltype(&real_next_call), (&real_next_call)>(L);
17956  }

§ pairs_call()

template<typename X >
static int sol::container_usertype_metatable< X >::pairs_call ( lua_State *  L)
inlinestatic
17946  {
17947  return detail::typed_static_trampoline<decltype(&real_pairs_call), (&real_pairs_call)>(L);
17948  }

§ real_add_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_add_call ( lua_State *  L)
inlinestatic
17854  {
17855  return real_add_traits(container_detail::has_traits_add<traits>(), L);
17856  }
static int real_add_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17846

§ real_add_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_add_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17846  {
17847  return traits::add(L);
17848  }
static int add(lua_State *L)
Definition: sol.hpp:16724

§ real_add_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_add_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17850  {
17851  return default_traits::add(L);
17852  }
static int add(lua_State *L)
Definition: sol.hpp:16724

§ real_at_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_at_call ( lua_State *  L)
inlinestatic
17758  {
17759  return real_at_traits(container_detail::has_traits_at<traits>(), L);
17760  }
static int real_at_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17750

§ real_at_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_at_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17750  {
17751  return traits::at(L);
17752  }
static int at(lua_State *L)
Definition: sol.hpp:16704

§ real_at_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_at_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17754  {
17755  return default_traits::at(L);
17756  }
static int at(lua_State *L)
Definition: sol.hpp:16704

§ real_clear_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_clear_call ( lua_State *  L)
inlinestatic
17878  {
17879  return real_clear_traits(container_detail::has_traits_clear<traits>(), L);
17880  }
static int real_clear_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17870

§ real_clear_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_clear_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17870  {
17871  return traits::clear(L);
17872  }
static int clear(lua_State *L)
Definition: sol.hpp:16740

§ real_clear_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_clear_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17874  {
17875  return default_traits::clear(L);
17876  }
static int clear(lua_State *L)
Definition: sol.hpp:16740

§ real_empty_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_empty_call ( lua_State *  L)
inlinestatic
17890  {
17891  return real_empty_traits(container_detail::has_traits_empty<traits>(), L);
17892  }
static int real_empty_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17882

§ real_empty_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_empty_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17882  {
17883  return traits::empty(L);
17884  }
static int empty(lua_State *L)
Definition: sol.hpp:16744

§ real_empty_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_empty_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17886  {
17887  return default_traits::empty(L);
17888  }
static int empty(lua_State *L)
Definition: sol.hpp:16744

§ real_erase_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_erase_call ( lua_State *  L)
inlinestatic
17902  {
17903  return real_erase_traits(container_detail::has_traits_erase<traits>(), L);
17904  }
static int real_erase_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17894

§ real_erase_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_erase_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17894  {
17895  return traits::erase(L);
17896  }
static int erase(lua_State *L)
Definition: sol.hpp:16748

§ real_erase_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_erase_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17898  {
17899  return default_traits::erase(L);
17900  }
static int erase(lua_State *L)
Definition: sol.hpp:16748

§ real_find_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_find_call ( lua_State *  L)
inlinestatic
17914  {
17915  return real_find_traits(container_detail::has_traits_find<traits>(), L);
17916  }
static int real_find_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17906

§ real_find_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_find_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17906  {
17907  return traits::find(L);
17908  }
static int find(lua_State *L)
Definition: sol.hpp:16732

§ real_find_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_find_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17910  {
17911  return default_traits::find(L);
17912  }
static int find(lua_State *L)
Definition: sol.hpp:16732

§ real_get_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_get_call ( lua_State *  L)
inlinestatic
17770  {
17771  return real_get_traits(container_detail::has_traits_get<traits>(), L);
17772  }
static int real_get_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17762

§ real_get_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_get_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17762  {
17763  return traits::get(L);
17764  }
static int get(lua_State *L)
Definition: sol.hpp:16708

§ real_get_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_get_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17766  {
17767  return default_traits::get(L);
17768  }
static int get(lua_State *L)
Definition: sol.hpp:16708

§ real_index_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_index_call ( lua_State *  L)
inlinestatic
17718  {
17719  typedef usertype_detail::map_t<std::string, lua_CFunction> call_map;
17720  static const call_map calls{
17721  { "at", &at_call },
17722  { "get", &real_get_call },
17723  { "set", &real_set_call },
17724  { "size", &real_length_call },
17725  { "add", &real_add_call },
17726  { "empty", &real_empty_call },
17727  { "insert", &real_insert_call },
17728  { "clear", &real_clear_call },
17729  { "find", &real_find_call },
17730  { "erase", &real_erase_call },
17731  { "pairs", &pairs_call },
17732  { "next", &next_call },
17733  };
17734  auto maybenameview = stack::unqualified_check_get<string_view>(L, 2);
17735  if (maybenameview) {
17736  const string_view& nameview = *maybenameview;
17737 #if defined(SOL_UNORDERED_MAP_COMPATIBLE_HASH) && SOL_UNORDERED_MAP_COMPATIBLE_HASH
17738  auto it = calls.find(nameview, string_view_hash(), std::equal_to<string_view>());
17739 #else
17740  std::string name(nameview.data(), nameview.size());
17741  auto it = calls.find(name);
17742 #endif
17743  if (it != calls.cend()) {
17744  return stack::push(L, it->second);
17745  }
17746  }
17747  return real_index_get_traits(container_detail::has_traits_index_get<traits>(), L);
17748  }
static int real_empty_call(lua_State *L)
Definition: sol.hpp:17890
std::hash< string_view > string_view_hash
Definition: sol.hpp:1190
static int real_index_get_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17710
static int pairs_call(lua_State *L)
Definition: sol.hpp:17946
int push(lua_State *L, T &&t, Args &&... args)
Definition: sol.hpp:7770
static int next_call(lua_State *L)
Definition: sol.hpp:17954
static int real_insert_call(lua_State *L)
Definition: sol.hpp:17866
static int real_set_call(lua_State *L)
Definition: sol.hpp:17782
static int real_length_call(lua_State *L)
Definition: sol.hpp:17842
static int real_find_call(lua_State *L)
Definition: sol.hpp:17914
static int real_erase_call(lua_State *L)
Definition: sol.hpp:17902
static int real_clear_call(lua_State *L)
Definition: sol.hpp:17878
static int at_call(lua_State *L)
Definition: sol.hpp:17958
basic_string_view< char > string_view
Definition: sol.hpp:1186
static int real_add_call(lua_State *L)
Definition: sol.hpp:17854
static int real_get_call(lua_State *L)
Definition: sol.hpp:17770

§ real_index_get_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_index_get_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17710  {
17711  return traits::index_get(L);
17712  }
static int index_get(lua_State *L)
Definition: sol.hpp:16712

§ real_index_get_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_index_get_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17714  {
17715  return default_traits::index_get(L);
17716  }
static int index_get(lua_State *L)
Definition: sol.hpp:16712

§ real_index_set_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_index_set_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17786  {
17787  return traits::index_set(L);
17788  }
static int index_set(lua_State *L)
Definition: sol.hpp:16720

§ real_index_set_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_index_set_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17790  {
17791  return default_traits::index_set(L);
17792  }
static int index_set(lua_State *L)
Definition: sol.hpp:16720

§ real_insert_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_insert_call ( lua_State *  L)
inlinestatic
17866  {
17867  return real_insert_traits(container_detail::has_traits_insert<traits>(), L);
17868  }
static int real_insert_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17858

§ real_insert_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_insert_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17858  {
17859  return traits::insert(L);
17860  }
static int insert(lua_State *L)
Definition: sol.hpp:16728

§ real_insert_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_insert_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17862  {
17863  return default_traits::insert(L);
17864  }
static int insert(lua_State *L)
Definition: sol.hpp:16728

§ real_ipairs_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_ipairs_call ( lua_State *  L)
inlinestatic
17818  {
17819  return real_ipairs_traits(container_detail::has_traits_ipairs<traits>(), L);
17820  }
static int real_ipairs_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17810

§ real_ipairs_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_ipairs_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17810  {
17811  return traits::ipairs(L);
17812  }
static int ipairs(lua_State *L)
Definition: sol.hpp:16760

§ real_ipairs_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_ipairs_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17814  {
17815  return default_traits::ipairs(L);
17816  }
static int ipairs(lua_State *L)
Definition: sol.hpp:16760

§ real_length_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_length_call ( lua_State *  L)
inlinestatic
17842  {
17843  return real_size_traits(container_detail::has_traits_size<traits>(), L);
17844  }
static int real_size_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17834

§ real_new_index_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_new_index_call ( lua_State *  L)
inlinestatic
17794  {
17795  return real_index_set_traits(container_detail::has_traits_index_set<traits>(), L);
17796  }
static int real_index_set_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17786

§ real_next_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_next_call ( lua_State *  L)
inlinestatic
17830  {
17831  return real_next_traits(container_detail::has_traits_next<traits>(), L);
17832  }
static int real_next_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17822

§ real_next_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_next_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17822  {
17823  return traits::next(L);
17824  }
static int next(lua_State *L)
Definition: sol.hpp:16752

§ real_next_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_next_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17826  {
17827  return default_traits::next(L);
17828  }
static int next(lua_State *L)
Definition: sol.hpp:16752

§ real_pairs_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_pairs_call ( lua_State *  L)
inlinestatic
17806  {
17807  return real_pairs_traits(container_detail::has_traits_pairs<traits>(), L);
17808  }
static int real_pairs_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17798

§ real_pairs_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_pairs_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17798  {
17799  return traits::pairs(L);
17800  }
static int pairs(lua_State *L)
Definition: sol.hpp:16756

§ real_pairs_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_pairs_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17802  {
17803  return default_traits::pairs(L);
17804  }
static int pairs(lua_State *L)
Definition: sol.hpp:16756

§ real_set_call()

template<typename X >
static int sol::container_usertype_metatable< X >::real_set_call ( lua_State *  L)
inlinestatic
17782  {
17783  return real_set_traits(container_detail::has_traits_set<traits>(), L);
17784  }
static int real_set_traits(std::true_type, lua_State *L)
Definition: sol.hpp:17774

§ real_set_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_set_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17774  {
17775  return traits::set(L);
17776  }
static int set(lua_State *L)
Definition: sol.hpp:16716

§ real_set_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_set_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17778  {
17779  return default_traits::set(L);
17780  }
static int set(lua_State *L)
Definition: sol.hpp:16716

§ real_size_traits() [1/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_size_traits ( std::true_type  ,
lua_State *  L 
)
inlinestatic
17834  {
17835  return traits::size(L);
17836  }
static int size(lua_State *L)
Definition: sol.hpp:16736

§ real_size_traits() [2/2]

template<typename X >
static int sol::container_usertype_metatable< X >::real_size_traits ( std::false_type  ,
lua_State *  L 
)
inlinestatic
17838  {
17839  return default_traits::size(L);
17840  }
static int size(lua_State *L)
Definition: sol.hpp:16736

§ set_call()

template<typename X >
static int sol::container_usertype_metatable< X >::set_call ( lua_State *  L)
inlinestatic
17966  {
17967  return detail::typed_static_trampoline<decltype(&real_set_call), (&real_set_call)>(L);
17968  }

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