OpenMiner  0.0.1a
Voxel game engine
Public Types | Public Member Functions | Private Attributes | List of all members
sol::variadic_args Struct Reference

#include <sol.hpp>

Public Types

typedef stack_proxy reference_type
 
typedef stack_proxy value_type
 
typedef stack_proxypointer
 
typedef std::ptrdiff_t difference_type
 
typedef std::size_t size_type
 
typedef stack_iterator< stack_proxy, false > iterator
 
typedef stack_iterator< stack_proxy, true > const_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 variadic_args ()=default
 
 variadic_args (lua_State *luastate, int stackindex=-1)
 
 variadic_args (lua_State *luastate, int stackindex, int lastindex)
 
 variadic_args (const variadic_args &)=default
 
variadic_argsoperator= (const variadic_args &)=default
 
 variadic_args (variadic_args &&o)
 
variadic_argsoperator= (variadic_args &&o)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
int push () const
 
int push (lua_State *target) const
 
template<typename T >
decltype(auto) get (difference_type index_offset=0) const
 
type get_type (difference_type index_offset=0) const noexcept
 
stack_proxy operator[] (difference_type index_offset) const
 
lua_State * lua_state () const
 
int stack_index () const
 
int leftover_count () const
 
std::size_t size () const
 
int top () const
 

Private Attributes

lua_State * L
 
int index
 
int stacktop
 

Member Typedef Documentation

§ const_iterator

§ const_reverse_iterator

§ difference_type

typedef std::ptrdiff_t sol::variadic_args::difference_type

§ iterator

§ pointer

§ reference_type

§ reverse_iterator

typedef std::reverse_iterator<iterator> sol::variadic_args::reverse_iterator

§ size_type

typedef std::size_t sol::variadic_args::size_type

§ value_type

Constructor & Destructor Documentation

§ variadic_args() [1/5]

sol::variadic_args::variadic_args ( )
default

§ variadic_args() [2/5]

sol::variadic_args::variadic_args ( lua_State *  luastate,
int  stackindex = -1 
)
inline
15987  : L(luastate), index(lua_absindex(luastate, stackindex)), stacktop(lua_gettop(luastate)) {
15988  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ variadic_args() [3/5]

sol::variadic_args::variadic_args ( lua_State *  luastate,
int  stackindex,
int  lastindex 
)
inline
15990  : L(luastate), index(lua_absindex(luastate, stackindex)), stacktop(lastindex) {
15991  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ variadic_args() [4/5]

sol::variadic_args::variadic_args ( const variadic_args )
default

§ variadic_args() [5/5]

sol::variadic_args::variadic_args ( variadic_args &&  o)
inline
15995  : L(o.L), index(o.index), stacktop(o.stacktop) {
15996  // Must be manual, otherwise destructor will screw us
15997  // return count being 0 is enough to keep things clean
15998  // but will be thorough
15999  o.L = nullptr;
16000  o.index = 0;
16001  o.stacktop = 0;
16002  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

Member Function Documentation

§ begin() [1/2]

iterator sol::variadic_args::begin ( )
inline
16016  {
16017  return iterator(L, index, stacktop + 1);
16018  }
stack_iterator< stack_proxy, false > iterator
Definition: sol.hpp:15980
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ begin() [2/2]

const_iterator sol::variadic_args::begin ( ) const
inline
16022  {
16023  return const_iterator(L, index, stacktop + 1);
16024  }
stack_iterator< stack_proxy, true > const_iterator
Definition: sol.hpp:15981
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ cbegin()

const_iterator sol::variadic_args::cbegin ( ) const
inline
16028  {
16029  return begin();
16030  }
iterator begin()
Definition: sol.hpp:16016

§ cend()

const_iterator sol::variadic_args::cend ( ) const
inline
16031  {
16032  return end();
16033  }
iterator end()
Definition: sol.hpp:16019

§ crbegin()

const_reverse_iterator sol::variadic_args::crbegin ( ) const
inline
16047  {
16048  return std::reverse_iterator<const_iterator>(cbegin());
16049  }
const_iterator cbegin() const
Definition: sol.hpp:16028

§ crend()

const_reverse_iterator sol::variadic_args::crend ( ) const
inline
16050  {
16051  return std::reverse_iterator<const_iterator>(cend());
16052  }
const_iterator cend() const
Definition: sol.hpp:16031

§ end() [1/2]

iterator sol::variadic_args::end ( )
inline
16019  {
16020  return iterator(L, stacktop + 1, stacktop + 1);
16021  }
stack_iterator< stack_proxy, false > iterator
Definition: sol.hpp:15980
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ end() [2/2]

const_iterator sol::variadic_args::end ( ) const
inline
16025  {
16026  return const_iterator(L, stacktop + 1, stacktop + 1);
16027  }
stack_iterator< stack_proxy, true > const_iterator
Definition: sol.hpp:15981
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ get()

template<typename T >
decltype(auto) sol::variadic_args::get ( difference_type  index_offset = 0) const
inline
16071  {
16072  return stack::get<T>(L, index + static_cast<int>(index_offset));
16073  }
int index
Definition: sol.hpp:15971
lua_State * L
Definition: sol.hpp:15970

§ get_type()

type sol::variadic_args::get_type ( difference_type  index_offset = 0) const
inlinenoexcept
16075  {
16076  return type_of(L, index + static_cast<int>(index_offset));
16077  }
int index
Definition: sol.hpp:15971
type type_of(lua_State *L, int index)
Definition: sol.hpp:5358
lua_State * L
Definition: sol.hpp:15970

§ leftover_count()

int sol::variadic_args::leftover_count ( ) const
inline
16089  {
16090  return stacktop - (index - 1);
16091  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972

§ lua_state()

lua_State* sol::variadic_args::lua_state ( ) const
inline
16083  {
16084  return L;
16085  };
lua_State * L
Definition: sol.hpp:15970

§ operator=() [1/2]

variadic_args& sol::variadic_args::operator= ( const variadic_args )
default

§ operator=() [2/2]

variadic_args& sol::variadic_args::operator= ( variadic_args &&  o)
inline
16003  {
16004  L = o.L;
16005  index = o.index;
16006  stacktop = o.stacktop;
16007  // Must be manual, otherwise destructor will screw us
16008  // return count being 0 is enough to keep things clean
16009  // but will be thorough
16010  o.L = nullptr;
16011  o.index = 0;
16012  o.stacktop = 0;
16013  return *this;
16014  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ operator[]()

stack_proxy sol::variadic_args::operator[] ( difference_type  index_offset) const
inline
16079  {
16080  return stack_proxy(L, index + static_cast<int>(index_offset));
16081  }
int index
Definition: sol.hpp:15971
lua_State * L
Definition: sol.hpp:15970

§ push() [1/2]

int sol::variadic_args::push ( ) const
inline
16054  {
16055  return push(L);
16056  }
int push() const
Definition: sol.hpp:16054
lua_State * L
Definition: sol.hpp:15970

§ push() [2/2]

int sol::variadic_args::push ( lua_State *  target) const
inline
16058  {
16059  int pushcount = 0;
16060  for (int i = index; i <= stacktop; ++i) {
16061  lua_pushvalue(L, i);
16062  pushcount += 1;
16063  }
16064  if (target != L) {
16065  lua_xmove(L, target, pushcount);
16066  }
16067  return pushcount;
16068  }
int index
Definition: sol.hpp:15971
int stacktop
Definition: sol.hpp:15972
lua_State * L
Definition: sol.hpp:15970

§ rbegin() [1/2]

reverse_iterator sol::variadic_args::rbegin ( )
inline
16035  {
16036  return std::reverse_iterator<iterator>(begin());
16037  }
iterator begin()
Definition: sol.hpp:16016

§ rbegin() [2/2]

const_reverse_iterator sol::variadic_args::rbegin ( ) const
inline
16041  {
16042  return std::reverse_iterator<const_iterator>(begin());
16043  }
iterator begin()
Definition: sol.hpp:16016

§ rend() [1/2]

reverse_iterator sol::variadic_args::rend ( )
inline
16038  {
16039  return std::reverse_iterator<iterator>(end());
16040  }
iterator end()
Definition: sol.hpp:16019

§ rend() [2/2]

const_reverse_iterator sol::variadic_args::rend ( ) const
inline
16044  {
16045  return std::reverse_iterator<const_iterator>(end());
16046  }
iterator end()
Definition: sol.hpp:16019

§ size()

std::size_t sol::variadic_args::size ( ) const
inline
16092  {
16093  return static_cast<std::size_t>(leftover_count());
16094  }
int leftover_count() const
Definition: sol.hpp:16089

§ stack_index()

int sol::variadic_args::stack_index ( ) const
inline
16086  {
16087  return index;
16088  };
int index
Definition: sol.hpp:15971

§ top()

int sol::variadic_args::top ( ) const
inline
16095  {
16096  return stacktop;
16097  }
int stacktop
Definition: sol.hpp:15972

Member Data Documentation

§ index

int sol::variadic_args::index
private

§ L

lua_State* sol::variadic_args::L
private

§ stacktop

int sol::variadic_args::stacktop
private

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