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

#include <sol.hpp>

Inheritance diagram for sol::state_view:
sol::state

Public Types

typedef global_table::iterator iterator
 
typedef global_table::const_iterator const_iterator
 

Public Member Functions

 state_view (lua_State *Ls)
 
 state_view (this_state Ls)
 
lua_State * lua_state () const
 
template<typename... Args>
void open_libraries (Args &&... args)
 
object require (const std::string &key, lua_CFunction open_function, bool create_global=true)
 
object require_script (const std::string &key, const string_view &code, bool create_global=true, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
object require_file (const std::string &key, const std::string &filename, bool create_global=true, load_mode mode=load_mode::any)
 
template<typename E >
protected_function_result do_string (const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename E >
protected_function_result do_file (const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
 
protected_function_result do_string (const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
protected_function_result do_file (const std::string &filename, load_mode mode=load_mode::any)
 
template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result safe_script (const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename Fx , typename E >
protected_function_result safe_script (const string_view &code, const basic_environment< E > &env, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename E >
protected_function_result safe_script (const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
protected_function_result safe_script (const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result safe_script_file (const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
 
template<typename Fx , typename E >
protected_function_result safe_script_file (const std::string &filename, const basic_environment< E > &env, Fx &&on_error, load_mode mode=load_mode::any)
 
template<typename E >
protected_function_result safe_script_file (const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
 
protected_function_result safe_script_file (const std::string &filename, load_mode mode=load_mode::any)
 
template<typename E >
unsafe_function_result unsafe_script (const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
unsafe_function_result unsafe_script (const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename E >
unsafe_function_result unsafe_script_file (const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
 
unsafe_function_result unsafe_script_file (const std::string &filename, load_mode mode=load_mode::any)
 
template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result script (const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result script_file (const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
 
template<typename Fx , typename E >
protected_function_result script (const string_view &code, const basic_environment< E > &env, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
template<typename Fx , typename E >
protected_function_result script_file (const std::string &filename, const basic_environment< E > &env, Fx &&on_error, load_mode mode=load_mode::any)
 
protected_function_result script (const string_view &code, const environment &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
protected_function_result script_file (const std::string &filename, const environment &env, load_mode mode=load_mode::any)
 
unsafe_function_result script (const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
unsafe_function_result script_file (const std::string &filename, load_mode mode=load_mode::any)
 
load_result load (const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
load_result load_buffer (const char *buff, size_t size, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
load_result load_file (const std::string &filename, load_mode mode=load_mode::any)
 
load_result load (lua_Reader reader, void *data, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
 
iterator begin () const
 
iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
global_table globals () const
 
table registry () const
 
std::size_t memory_used () const
 
int stack_top () const
 
int stack_clear ()
 
void collect_garbage ()
 
 operator lua_State * () const
 
void set_panic (lua_CFunction panic)
 
void set_exception_handler (exception_handler_function handler)
 
template<typename... Args, typename... Keys>
decltype(auto) get (Keys &&... keys) const
 
template<typename T , typename Key >
decltype(auto) get_or (Key &&key, T &&otherwise) const
 
template<typename T , typename Key , typename D >
decltype(auto) get_or (Key &&key, D &&otherwise) const
 
template<typename... Args>
state_viewset (Args &&... args)
 
template<typename T , typename... Keys>
decltype(auto) traverse_get (Keys &&... keys) const
 
template<typename... Args>
state_viewtraverse_set (Args &&... args)
 
template<typename T >
state_viewset_usertype (usertype< T > &user)
 
template<typename Key , typename T >
state_viewset_usertype (Key &&key, usertype< T > &user)
 
template<typename Class , typename... Args>
state_viewnew_usertype (const std::string &name, Args &&... args)
 
template<typename Class , typename CTor0 , typename... CTor, typename... Args>
state_viewnew_usertype (const std::string &name, Args &&... args)
 
template<typename Class , typename... CArgs, typename... Args>
state_viewnew_usertype (const std::string &name, constructors< CArgs... > ctor, Args &&... args)
 
template<typename Class , typename... Args>
state_viewnew_simple_usertype (const std::string &name, Args &&... args)
 
template<typename Class , typename CTor0 , typename... CTor, typename... Args>
state_viewnew_simple_usertype (const std::string &name, Args &&... args)
 
template<typename Class , typename... CArgs, typename... Args>
state_viewnew_simple_usertype (const std::string &name, constructors< CArgs... > ctor, Args &&... args)
 
template<typename Class , typename... Args>
simple_usertype< Class > create_simple_usertype (Args &&... args)
 
template<typename Class , typename CTor0 , typename... CTor, typename... Args>
simple_usertype< Class > create_simple_usertype (Args &&... args)
 
template<typename Class , typename... CArgs, typename... Args>
simple_usertype< Class > create_simple_usertype (constructors< CArgs... > ctor, Args &&... args)
 
template<bool read_only = true, typename... Args>
state_viewnew_enum (const string_view &name, Args &&... args)
 
template<typename T , bool read_only = true>
state_viewnew_enum (const string_view &name, std::initializer_list< std::pair< string_view, T >> items)
 
template<typename Fx >
void for_each (Fx &&fx)
 
template<typename T >
proxy< global_table &, Toperator[] (T &&key)
 
template<typename T >
proxy< const global_table &, Toperator[] (T &&key) const
 
template<typename Sig , typename... Args, typename Key >
state_viewset_function (Key &&key, Args &&... args)
 
template<typename... Args, typename Key >
state_viewset_function (Key &&key, Args &&... args)
 
template<typename Name >
table create_table (Name &&name, int narr=0, int nrec=0)
 
template<typename Name , typename Key , typename Value , typename... Args>
table create_table (Name &&name, int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename Name , typename... Args>
table create_named_table (Name &&name, Args &&... args)
 
table create_table (int narr=0, int nrec=0)
 
template<typename Key , typename Value , typename... Args>
table create_table (int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename... Args>
table create_table_with (Args &&... args)
 

Static Public Member Functions

static table create_table (lua_State *L, int narr=0, int nrec=0)
 
template<typename Key , typename Value , typename... Args>
static table create_table (lua_State *L, int narr, int nrec, Key &&key, Value &&value, Args &&... args)
 
template<typename... Args>
static table create_table_with (lua_State *L, Args &&... args)
 

Private Member Functions

optional< objectis_loaded_package (const std::string &key)
 
template<typename T >
void ensure_package (const std::string &key, T &&sr)
 
template<typename Fx >
object require_core (const std::string &key, Fx &&action, bool create_global=true)
 

Private Attributes

lua_State * L
 
table reg
 
global_table global
 

Member Typedef Documentation

§ const_iterator

§ iterator

Constructor & Destructor Documentation

§ state_view() [1/2]

sol::state_view::state_view ( lua_State *  Ls)
inline
21119  : L(Ls), reg(Ls, LUA_REGISTRYINDEX), global(Ls, detail::global_) {
21120  }
table reg
Definition: sol.hpp:21058
lua_State * L
Definition: sol.hpp:21057
global_table global
Definition: sol.hpp:21059
struct sol::detail::global_tag global_

§ state_view() [2/2]

sol::state_view::state_view ( this_state  Ls)
inline
21123  : state_view(Ls.L) {
21124  }
state_view(lua_State *Ls)
Definition: sol.hpp:21118

Member Function Documentation

§ begin()

iterator sol::state_view::begin ( ) const
inline
21453  {
21454  return global.begin();
21455  }
iterator begin() const
Definition: sol.hpp:20213
global_table global
Definition: sol.hpp:21059

§ cbegin()

const_iterator sol::state_view::cbegin ( ) const
inline
21461  {
21462  return global.cbegin();
21463  }
const_iterator cbegin() const
Definition: sol.hpp:20221
global_table global
Definition: sol.hpp:21059

§ cend()

const_iterator sol::state_view::cend ( ) const
inline
21465  {
21466  return global.cend();
21467  }
global_table global
Definition: sol.hpp:21059
const_iterator cend() const
Definition: sol.hpp:20225

§ collect_garbage()

void sol::state_view::collect_garbage ( )
inline
21491  {
21492  lua_gc(lua_state(), LUA_GCCOLLECT, 0);
21493  }
lua_State * lua_state() const
Definition: sol.hpp:21126

§ create_named_table()

template<typename Name , typename... Args>
table sol::state_view::create_named_table ( Name &&  name,
Args &&...  args 
)
inline
21651  {
21652  table x = global.create_with(std::forward<Args>(args)...);
21653  global.set(std::forward<Name>(name), x);
21654  return x;
21655  }
basic_table_core & set(Args &&... args)
Definition: sol.hpp:20270
global_table global
Definition: sol.hpp:21059
static table create_with(lua_State *L, Args &&... args)
Definition: sol.hpp:20514

§ create_simple_usertype() [1/3]

template<typename Class , typename... Args>
simple_usertype<Class> sol::state_view::create_simple_usertype ( Args &&...  args)
inline
21587  {
21588  return global.create_simple_usertype<Class>(std::forward<Args>(args)...);
21589  }
simple_usertype< Class > create_simple_usertype(Args &&... args)
Definition: sol.hpp:20372
global_table global
Definition: sol.hpp:21059

§ create_simple_usertype() [2/3]

template<typename Class , typename CTor0 , typename... CTor, typename... Args>
simple_usertype<Class> sol::state_view::create_simple_usertype ( Args &&...  args)
inline
21592  {
21593  return global.create_simple_usertype<Class, CTor0, CTor...>(std::forward<Args>(args)...);
21594  }
simple_usertype< Class > create_simple_usertype(Args &&... args)
Definition: sol.hpp:20372
global_table global
Definition: sol.hpp:21059

§ create_simple_usertype() [3/3]

template<typename Class , typename... CArgs, typename... Args>
simple_usertype<Class> sol::state_view::create_simple_usertype ( constructors< CArgs... >  ctor,
Args &&...  args 
)
inline
21597  {
21598  return global.create_simple_usertype<Class>(ctor, std::forward<Args>(args)...);
21599  }
simple_usertype< Class > create_simple_usertype(Args &&... args)
Definition: sol.hpp:20372
global_table global
Definition: sol.hpp:21059

§ create_table() [1/6]

template<typename Name >
table sol::state_view::create_table ( Name &&  name,
int  narr = 0,
int  nrec = 0 
)
inline
21641  {
21642  return global.create(std::forward<Name>(name), narr, nrec);
21643  }
global_table global
Definition: sol.hpp:21059
static table create(lua_State *L, int narr=0, int nrec=0)
Definition: sol.hpp:20497

§ create_table() [2/6]

template<typename Name , typename Key , typename Value , typename... Args>
table sol::state_view::create_table ( Name &&  name,
int  narr,
int  nrec,
Key &&  key,
Value &&  value,
Args &&...  args 
)
inline
21646  {
21647  return global.create(std::forward<Name>(name), narr, nrec, std::forward<Key>(key), std::forward<Value>(value), std::forward<Args>(args)...);
21648  }
global_table global
Definition: sol.hpp:21059
static table create(lua_State *L, int narr=0, int nrec=0)
Definition: sol.hpp:20497

§ create_table() [3/6]

table sol::state_view::create_table ( int  narr = 0,
int  nrec = 0 
)
inline
21657  {
21658  return create_table(lua_state(), narr, nrec);
21659  }
lua_State * lua_state() const
Definition: sol.hpp:21126
table create_table(Name &&name, int narr=0, int nrec=0)
Definition: sol.hpp:21641

§ create_table() [4/6]

template<typename Key , typename Value , typename... Args>
table sol::state_view::create_table ( int  narr,
int  nrec,
Key &&  key,
Value &&  value,
Args &&...  args 
)
inline
21662  {
21663  return create_table(lua_state(), narr, nrec, std::forward<Key>(key), std::forward<Value>(value), std::forward<Args>(args)...);
21664  }
lua_State * lua_state() const
Definition: sol.hpp:21126
table create_table(Name &&name, int narr=0, int nrec=0)
Definition: sol.hpp:21641

§ create_table() [5/6]

static table sol::state_view::create_table ( lua_State *  L,
int  narr = 0,
int  nrec = 0 
)
inlinestatic
21671  {
21672  return global_table::create(L, narr, nrec);
21673  }
lua_State * L
Definition: sol.hpp:21057
static table create(lua_State *L, int narr=0, int nrec=0)
Definition: sol.hpp:20497

§ create_table() [6/6]

template<typename Key , typename Value , typename... Args>
static table sol::state_view::create_table ( lua_State *  L,
int  narr,
int  nrec,
Key &&  key,
Value &&  value,
Args &&...  args 
)
inlinestatic
21676  {
21677  return global_table::create(L, narr, nrec, std::forward<Key>(key), std::forward<Value>(value), std::forward<Args>(args)...);
21678  }
lua_State * L
Definition: sol.hpp:21057
static table create(lua_State *L, int narr=0, int nrec=0)
Definition: sol.hpp:20497

§ create_table_with() [1/2]

template<typename... Args>
table sol::state_view::create_table_with ( Args &&...  args)
inline
21667  {
21668  return create_table_with(lua_state(), std::forward<Args>(args)...);
21669  }
lua_State * lua_state() const
Definition: sol.hpp:21126
table create_table_with(Args &&... args)
Definition: sol.hpp:21667

§ create_table_with() [2/2]

template<typename... Args>
static table sol::state_view::create_table_with ( lua_State *  L,
Args &&...  args 
)
inlinestatic
21681  {
21682  return global_table::create_with(L, std::forward<Args>(args)...);
21683  }
lua_State * L
Definition: sol.hpp:21057
static table create_with(lua_State *L, Args &&... args)
Definition: sol.hpp:20514

§ do_file() [1/2]

template<typename E >
protected_function_result sol::state_view::do_file ( const std::string filename,
const basic_environment< E > &  env,
load_mode  mode = load_mode::any 
)
inline
21253  {
21254  load_status x = static_cast<load_status>(luaL_loadfilex(L, filename.c_str(), to_string(mode).c_str()));
21255  if (x != load_status::ok) {
21256  return protected_function_result(L, absolute_index(L, -1), 0, 1, static_cast<call_status>(x));
21257  }
21259  set_environment(env, pf);
21260  return pf();
21261  }
load_status
Definition: sol.hpp:5165
lua_State * L
Definition: sol.hpp:21057
stack_aligned_safe_function stack_aligned_protected_function
Definition: sol.hpp:317
void set_environment(const basic_environment< E > &env, const T &target)
Definition: sol.hpp:20691

§ do_file() [2/2]

protected_function_result sol::state_view::do_file ( const std::string filename,
load_mode  mode = load_mode::any 
)
inline
21274  {
21275  load_status x = static_cast<load_status>(luaL_loadfilex(L, filename.c_str(), to_string(mode).c_str()));
21276  if (x != load_status::ok) {
21277  return protected_function_result(L, absolute_index(L, -1), 0, 1, static_cast<call_status>(x));
21278  }
21280  return pf();
21281  }
load_status
Definition: sol.hpp:5165
lua_State * L
Definition: sol.hpp:21057
stack_aligned_safe_function stack_aligned_protected_function
Definition: sol.hpp:317

§ do_string() [1/2]

template<typename E >
protected_function_result sol::state_view::do_string ( const string_view code,
const basic_environment< E > &  env,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21240  {
21241  detail::typical_chunk_name_t basechunkname = {};
21242  const char* chunknametarget = detail::make_chunk_name(code, chunkname, basechunkname);
21243  load_status x = static_cast<load_status>(luaL_loadbufferx(L, code.data(), code.size(), chunknametarget, to_string(mode).c_str()));
21244  if (x != load_status::ok) {
21245  return protected_function_result(L, absolute_index(L, -1), 0, 1, static_cast<call_status>(x));
21246  }
21248  set_environment(env, pf);
21249  return pf();
21250  }
load_status
Definition: sol.hpp:5165
char[32] typical_chunk_name_t
Definition: sol.hpp:11708
lua_State * L
Definition: sol.hpp:21057
stack_aligned_safe_function stack_aligned_protected_function
Definition: sol.hpp:317
void set_environment(const basic_environment< E > &env, const T &target)
Definition: sol.hpp:20691
const char * make_chunk_name(const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
Definition: sol.hpp:11716

§ do_string() [2/2]

protected_function_result sol::state_view::do_string ( const string_view code,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21263  {
21264  detail::typical_chunk_name_t basechunkname = {};
21265  const char* chunknametarget = detail::make_chunk_name(code, chunkname, basechunkname);
21266  load_status x = static_cast<load_status>(luaL_loadbufferx(L, code.data(), code.size(), chunknametarget, to_string(mode).c_str()));
21267  if (x != load_status::ok) {
21268  return protected_function_result(L, absolute_index(L, -1), 0, 1, static_cast<call_status>(x));
21269  }
21271  return pf();
21272  }
load_status
Definition: sol.hpp:5165
char[32] typical_chunk_name_t
Definition: sol.hpp:11708
lua_State * L
Definition: sol.hpp:21057
stack_aligned_safe_function stack_aligned_protected_function
Definition: sol.hpp:317
const char * make_chunk_name(const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
Definition: sol.hpp:11716

§ end()

iterator sol::state_view::end ( ) const
inline
21457  {
21458  return global.end();
21459  }
global_table global
Definition: sol.hpp:21059
iterator end() const
Definition: sol.hpp:20217

§ ensure_package()

template<typename T >
void sol::state_view::ensure_package ( const std::string key,
T &&  sr 
)
inlineprivate
21076  {
21077 #if SOL_LUA_VERSION <= 501
21078  auto pkg = global["package"];
21079  if (!pkg.valid()) {
21080  pkg = create_table_with("loaded", create_table_with(key, sr));
21081  }
21082  else {
21083  auto ld = pkg["loaded"];
21084  if (!ld.valid()) {
21085  ld = create_table_with(key, sr);
21086  }
21087  else {
21088  ld[key] = sr;
21089  }
21090  }
21091 #endif
21092  auto loaded = reg["_LOADED"];
21093  if (!loaded.valid()) {
21094  loaded = create_table_with(key, sr);
21095  }
21096  else {
21097  loaded[key] = sr;
21098  }
21099  }
table reg
Definition: sol.hpp:21058
global_table global
Definition: sol.hpp:21059
table create_table_with(Args &&... args)
Definition: sol.hpp:21667

§ for_each()

template<typename Fx >
void sol::state_view::for_each ( Fx &&  fx)
inline
21614  {
21615  global.for_each(std::forward<Fx>(fx));
21616  }
global_table global
Definition: sol.hpp:21059
void for_each(std::true_type, Fx &&fx) const
Definition: sol.hpp:20024

§ get()

template<typename... Args, typename... Keys>
decltype(auto) sol::state_view::get ( Keys &&...  keys) const
inline
21508  {
21509  return global.get<Args...>(std::forward<Keys>(keys)...);
21510  }
global_table global
Definition: sol.hpp:21059
decltype(auto) get(Keys &&... keys) const
Definition: sol.hpp:20230

§ get_or() [1/2]

template<typename T , typename Key >
decltype(auto) sol::state_view::get_or ( Key &&  key,
T &&  otherwise 
) const
inline
21513  {
21514  return global.get_or(std::forward<Key>(key), std::forward<T>(otherwise));
21515  }
decltype(auto) get_or(Key &&key, T &&otherwise) const
Definition: sol.hpp:20237
global_table global
Definition: sol.hpp:21059

§ get_or() [2/2]

template<typename T , typename Key , typename D >
decltype(auto) sol::state_view::get_or ( Key &&  key,
D &&  otherwise 
) const
inline
21518  {
21519  return global.get_or<T>(std::forward<Key>(key), std::forward<D>(otherwise));
21520  }
decltype(auto) get_or(Key &&key, T &&otherwise) const
Definition: sol.hpp:20237
global_table global
Definition: sol.hpp:21059

§ globals()

global_table sol::state_view::globals ( ) const
inline
21469  {
21470  return global;
21471  }
global_table global
Definition: sol.hpp:21059

§ is_loaded_package()

optional<object> sol::state_view::is_loaded_package ( const std::string key)
inlineprivate
21061  {
21062  auto loaded = reg.traverse_get<optional<object>>("_LOADED", key);
21063  bool is53mod = loaded && !(loaded->is<bool>() && !loaded->as<bool>());
21064  if (is53mod)
21065  return loaded;
21066 #if SOL_LUA_VERSION <= 501
21067  auto loaded51 = global.traverse_get<optional<object>>("package", "loaded", key);
21068  bool is51mod = loaded51 && !(loaded51->is<bool>() && !loaded51->as<bool>());
21069  if (is51mod)
21070  return loaded51;
21071 #endif
21072  return nullopt;
21073  }
table reg
Definition: sol.hpp:21058
global_table global
Definition: sol.hpp:21059
constexpr nullopt_t nullopt
Definition: sol.hpp:3498
decltype(auto) traverse_get(Keys &&... keys) const
Definition: sol.hpp:20256

§ load() [1/2]

load_result sol::state_view::load ( const string_view code,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21430  {
21431  detail::typical_chunk_name_t basechunkname = {};
21432  const char* chunknametarget = detail::make_chunk_name(code, chunkname, basechunkname);
21433  load_status x = static_cast<load_status>(luaL_loadbufferx(L, code.data(), code.size(), chunknametarget, to_string(mode).c_str()));
21434  return load_result(L, absolute_index(L, -1), 1, 1, x);
21435  }
load_status
Definition: sol.hpp:5165
char[32] typical_chunk_name_t
Definition: sol.hpp:11708
lua_State * L
Definition: sol.hpp:21057
const char * make_chunk_name(const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
Definition: sol.hpp:11716

§ load() [2/2]

load_result sol::state_view::load ( lua_Reader  reader,
void *  data,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21446  {
21447  detail::typical_chunk_name_t basechunkname = {};
21448  const char* chunknametarget = detail::make_chunk_name("lua_Reader", chunkname, basechunkname);
21449  load_status x = static_cast<load_status>(lua_load(L, reader, data, chunknametarget, to_string(mode).c_str()));
21450  return load_result(L, absolute_index(L, -1), 1, 1, x);
21451  }
load_status
Definition: sol.hpp:5165
char[32] typical_chunk_name_t
Definition: sol.hpp:11708
lua_State * L
Definition: sol.hpp:21057
const char * make_chunk_name(const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
Definition: sol.hpp:11716

§ load_buffer()

load_result sol::state_view::load_buffer ( const char *  buff,
size_t  size,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21437  {
21438  return load(string_view(buff, size), chunkname, mode);
21439  }
load_result load(const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21430
basic_string_view< char > string_view
Definition: sol.hpp:1186

§ load_file()

load_result sol::state_view::load_file ( const std::string filename,
load_mode  mode = load_mode::any 
)
inline
21441  {
21442  load_status x = static_cast<load_status>(luaL_loadfilex(L, filename.c_str(), to_string(mode).c_str()));
21443  return load_result(L, absolute_index(L, -1), 1, 1, x);
21444  }
load_status
Definition: sol.hpp:5165
lua_State * L
Definition: sol.hpp:21057

§ lua_state()

lua_State* sol::state_view::lua_state ( ) const
inline
21126  {
21127  return L;
21128  }
lua_State * L
Definition: sol.hpp:21057

§ memory_used()

std::size_t sol::state_view::memory_used ( ) const
inline
21477  {
21478  return total_memory_used(lua_state());
21479  }
lua_State * lua_state() const
Definition: sol.hpp:21126
std::size_t total_memory_used(lua_State *L)
Definition: sol.hpp:20973

§ new_enum() [1/2]

template<bool read_only = true, typename... Args>
state_view& sol::state_view::new_enum ( const string_view name,
Args &&...  args 
)
inline
21602  {
21603  global.new_enum<read_only>(name, std::forward<Args>(args)...);
21604  return *this;
21605  }
table new_enum(const string_view &name, Args &&... args)
Definition: sol.hpp:20390
global_table global
Definition: sol.hpp:21059

§ new_enum() [2/2]

template<typename T , bool read_only = true>
state_view& sol::state_view::new_enum ( const string_view name,
std::initializer_list< std::pair< string_view, T >>  items 
)
inline
21608  {
21609  global.new_enum<T, read_only>(name, std::move(items));
21610  return *this;
21611  }
table new_enum(const string_view &name, Args &&... args)
Definition: sol.hpp:20390
global_table global
Definition: sol.hpp:21059

§ new_simple_usertype() [1/3]

template<typename Class , typename... Args>
state_view& sol::state_view::new_simple_usertype ( const std::string name,
Args &&...  args 
)
inline
21569  {
21570  global.new_simple_usertype<Class>(name, std::forward<Args>(args)...);
21571  return *this;
21572  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_simple_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20352

§ new_simple_usertype() [2/3]

template<typename Class , typename CTor0 , typename... CTor, typename... Args>
state_view& sol::state_view::new_simple_usertype ( const std::string name,
Args &&...  args 
)
inline
21575  {
21576  global.new_simple_usertype<Class, CTor0, CTor...>(name, std::forward<Args>(args)...);
21577  return *this;
21578  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_simple_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20352

§ new_simple_usertype() [3/3]

template<typename Class , typename... CArgs, typename... Args>
state_view& sol::state_view::new_simple_usertype ( const std::string name,
constructors< CArgs... >  ctor,
Args &&...  args 
)
inline
21581  {
21582  global.new_simple_usertype<Class>(name, ctor, std::forward<Args>(args)...);
21583  return *this;
21584  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_simple_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20352

§ new_usertype() [1/3]

template<typename Class , typename... Args>
state_view& sol::state_view::new_usertype ( const std::string name,
Args &&...  args 
)
inline
21551  {
21552  global.new_usertype<Class>(name, std::forward<Args>(args)...);
21553  return *this;
21554  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20332

§ new_usertype() [2/3]

template<typename Class , typename CTor0 , typename... CTor, typename... Args>
state_view& sol::state_view::new_usertype ( const std::string name,
Args &&...  args 
)
inline
21557  {
21558  global.new_usertype<Class, CTor0, CTor...>(name, std::forward<Args>(args)...);
21559  return *this;
21560  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20332

§ new_usertype() [3/3]

template<typename Class , typename... CArgs, typename... Args>
state_view& sol::state_view::new_usertype ( const std::string name,
constructors< CArgs... >  ctor,
Args &&...  args 
)
inline
21563  {
21564  global.new_usertype<Class>(name, ctor, std::forward<Args>(args)...);
21565  return *this;
21566  }
global_table global
Definition: sol.hpp:21059
basic_table_core & new_usertype(const std::string &name, Args &&... args)
Definition: sol.hpp:20332

§ open_libraries()

template<typename... Args>
void sol::state_view::open_libraries ( Args &&...  args)
inline
21131  {
21132  static_assert(meta::all_same<lib, Args...>::value, "all types must be libraries");
21133  if (sizeof...(args) == 0) {
21134  luaL_openlibs(L);
21135  return;
21136  }
21137 
21138  lib libraries[1 + sizeof...(args)] = {lib::count, std::forward<Args>(args)...};
21139 
21140  for (auto&& library : libraries) {
21141  switch (library) {
21142 #if SOL_LUA_VERSION <= 501 && defined(SOL_LUAJIT)
21143  case lib::coroutine:
21144 #endif // luajit opens coroutine base stuff
21145  case lib::base:
21146  luaL_requiref(L, "base", luaopen_base, 1);
21147  lua_pop(L, 1);
21148  break;
21149  case lib::package:
21150  luaL_requiref(L, "package", luaopen_package, 1);
21151  lua_pop(L, 1);
21152  break;
21153 #if !defined(SOL_LUAJIT)
21154  case lib::coroutine:
21155 #if SOL_LUA_VERSION > 501
21156  luaL_requiref(L, "coroutine", luaopen_coroutine, 1);
21157  lua_pop(L, 1);
21158 #endif // Lua 5.2+ only
21159  break;
21160 #endif // Not LuaJIT - comes builtin
21161  case lib::string:
21162  luaL_requiref(L, "string", luaopen_string, 1);
21163  lua_pop(L, 1);
21164  break;
21165  case lib::table:
21166  luaL_requiref(L, "table", luaopen_table, 1);
21167  lua_pop(L, 1);
21168  break;
21169  case lib::math:
21170  luaL_requiref(L, "math", luaopen_math, 1);
21171  lua_pop(L, 1);
21172  break;
21173  case lib::bit32:
21174 #ifdef SOL_LUAJIT
21175  luaL_requiref(L, "bit32", luaopen_bit, 1);
21176  lua_pop(L, 1);
21177 #elif (SOL_LUA_VERSION == 502) || defined(LUA_COMPAT_BITLIB) || defined(LUA_COMPAT_5_2)
21178  luaL_requiref(L, "bit32", luaopen_bit32, 1);
21179  lua_pop(L, 1);
21180 #else
21181 #endif // Lua 5.2 only (deprecated in 5.3 (503)) (Can be turned on with Compat flags)
21182  break;
21183  case lib::io:
21184  luaL_requiref(L, "io", luaopen_io, 1);
21185  lua_pop(L, 1);
21186  break;
21187  case lib::os:
21188  luaL_requiref(L, "os", luaopen_os, 1);
21189  lua_pop(L, 1);
21190  break;
21191  case lib::debug:
21192  luaL_requiref(L, "debug", luaopen_debug, 1);
21193  lua_pop(L, 1);
21194  break;
21195  case lib::utf8:
21196 #if SOL_LUA_VERSION > 502 && !defined(SOL_LUAJIT)
21197  luaL_requiref(L, "utf8", luaopen_utf8, 1);
21198  lua_pop(L, 1);
21199 #endif // Lua 5.3+ only
21200  break;
21201  case lib::ffi:
21202 #ifdef SOL_LUAJIT
21203  luaL_requiref(L, "ffi", luaopen_ffi, 1);
21204  lua_pop(L, 1);
21205 #endif // LuaJIT only
21206  break;
21207  case lib::jit:
21208 #ifdef SOL_LUAJIT
21209  luaL_requiref(L, "jit", luaopen_jit, 0);
21210  lua_pop(L, 1);
21211 #endif // LuaJIT Only
21212  break;
21213  case lib::count:
21214  default:
21215  break;
21216  }
21217  }
21218  }
lib
Definition: sol.hpp:5102
lua_State * L
Definition: sol.hpp:21057

§ operator lua_State *()

sol::state_view::operator lua_State * ( ) const
inline
21495  {
21496  return lua_state();
21497  }
lua_State * lua_state() const
Definition: sol.hpp:21126

§ operator[]() [1/2]

template<typename T >
proxy<global_table&, T> sol::state_view::operator[] ( T &&  key)
inline
21619  {
21620  return global[std::forward<T>(key)];
21621  }
global_table global
Definition: sol.hpp:21059

§ operator[]() [2/2]

template<typename T >
proxy<const global_table&, T> sol::state_view::operator[] ( T &&  key) const
inline
21624  {
21625  return global[std::forward<T>(key)];
21626  }
global_table global
Definition: sol.hpp:21059

§ registry()

table sol::state_view::registry ( ) const
inline
21473  {
21474  return reg;
21475  }
table reg
Definition: sol.hpp:21058

§ require()

object sol::state_view::require ( const std::string key,
lua_CFunction  open_function,
bool  create_global = true 
)
inline
21220  {
21221  luaL_requiref(L, key.c_str(), open_function, create_global ? 1 : 0);
21222  return stack::pop<object>(L);
21223  }
lua_State * L
Definition: sol.hpp:21057

§ require_core()

template<typename Fx >
object sol::state_view::require_core ( const std::string key,
Fx &&  action,
bool  create_global = true 
)
inlineprivate
21102  {
21103  optional<object> loaded = is_loaded_package(key);
21104  if (loaded && loaded->valid())
21105  return std::move(*loaded);
21106  action();
21107  stack_reference sr(L, -1);
21108  if (create_global)
21109  set(key, sr);
21110  ensure_package(key, sr);
21111  return stack::pop<object>(L);
21112  }
optional< object > is_loaded_package(const std::string &key)
Definition: sol.hpp:21061
lua_State * L
Definition: sol.hpp:21057
void ensure_package(const std::string &key, T &&sr)
Definition: sol.hpp:21076

§ require_file()

object sol::state_view::require_file ( const std::string key,
const std::string filename,
bool  create_global = true,
load_mode  mode = load_mode::any 
)
inline
21232  {
21233  auto action = [this, &filename, &mode]() {
21234  stack::script_file(L, filename, mode);
21235  };
21236  return require_core(key, action, create_global);
21237  }
void script_file(lua_State *L, const std::string &filename, load_mode mode=load_mode::any)
Definition: sol.hpp:11897
lua_State * L
Definition: sol.hpp:21057
object require_core(const std::string &key, Fx &&action, bool create_global=true)
Definition: sol.hpp:21102

§ require_script()

object sol::state_view::require_script ( const std::string key,
const string_view code,
bool  create_global = true,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21225  {
21226  auto action = [this, &code, &chunkname, &mode]() {
21227  stack::script(L, code, chunkname, mode);
21228  };
21229  return require_core(key, action, create_global);
21230  }
void script(lua_State *L, const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:11889
lua_State * L
Definition: sol.hpp:21057
object require_core(const std::string &key, Fx &&action, bool create_global=true)
Definition: sol.hpp:21102

§ safe_script() [1/4]

template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result sol::state_view::safe_script ( const string_view code,
Fx &&  on_error,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21284  {
21285  protected_function_result pfr = do_string(code, chunkname, mode);
21286  if (!pfr.valid()) {
21287  return on_error(L, std::move(pfr));
21288  }
21289  return pfr;
21290  }
lua_State * L
Definition: sol.hpp:21057
protected_function_result do_string(const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21240

§ safe_script() [2/4]

template<typename Fx , typename E >
protected_function_result sol::state_view::safe_script ( const string_view code,
const basic_environment< E > &  env,
Fx &&  on_error,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21293  {
21294  protected_function_result pfr = do_string(code, env, chunkname, mode);
21295  if (!pfr.valid()) {
21296  return on_error(L, std::move(pfr));
21297  }
21298  return pfr;
21299  }
lua_State * L
Definition: sol.hpp:21057
protected_function_result do_string(const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21240

§ safe_script() [3/4]

template<typename E >
protected_function_result sol::state_view::safe_script ( const string_view code,
const basic_environment< E > &  env,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21302  {
21303  return safe_script(code, env, script_default_on_error, chunkname, mode);
21304  }
protected_function_result safe_script(const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21284
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ safe_script() [4/4]

protected_function_result sol::state_view::safe_script ( const string_view code,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21306  {
21307  return safe_script(code, script_default_on_error, chunkname, mode);
21308  }
protected_function_result safe_script(const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21284
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ safe_script_file() [1/4]

template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result sol::state_view::safe_script_file ( const std::string filename,
Fx &&  on_error,
load_mode  mode = load_mode::any 
)
inline
21311  {
21312  protected_function_result pfr = do_file(filename, mode);
21313  if (!pfr.valid()) {
21314  return on_error(L, std::move(pfr));
21315  }
21316  return pfr;
21317  }
lua_State * L
Definition: sol.hpp:21057
protected_function_result do_file(const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
Definition: sol.hpp:21253

§ safe_script_file() [2/4]

template<typename Fx , typename E >
protected_function_result sol::state_view::safe_script_file ( const std::string filename,
const basic_environment< E > &  env,
Fx &&  on_error,
load_mode  mode = load_mode::any 
)
inline
21320  {
21321  protected_function_result pfr = do_file(filename, env, mode);
21322  if (!pfr.valid()) {
21323  return on_error(L, std::move(pfr));
21324  }
21325  return pfr;
21326  }
lua_State * L
Definition: sol.hpp:21057
protected_function_result do_file(const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
Definition: sol.hpp:21253

§ safe_script_file() [3/4]

template<typename E >
protected_function_result sol::state_view::safe_script_file ( const std::string filename,
const basic_environment< E > &  env,
load_mode  mode = load_mode::any 
)
inline
21329  {
21330  return safe_script_file(filename, env, script_default_on_error, mode);
21331  }
protected_function_result safe_script_file(const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
Definition: sol.hpp:21311
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ safe_script_file() [4/4]

protected_function_result sol::state_view::safe_script_file ( const std::string filename,
load_mode  mode = load_mode::any 
)
inline
21333  {
21334  return safe_script_file(filename, script_default_on_error, mode);
21335  }
protected_function_result safe_script_file(const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
Definition: sol.hpp:21311
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ script() [1/4]

template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result sol::state_view::script ( const string_view code,
Fx &&  on_error,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21386  {
21387  return safe_script(code, std::forward<Fx>(on_error), chunkname, mode);
21388  }
protected_function_result safe_script(const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21284

§ script() [2/4]

template<typename Fx , typename E >
protected_function_result sol::state_view::script ( const string_view code,
const basic_environment< E > &  env,
Fx &&  on_error,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21396  {
21397  return safe_script(code, env, std::forward<Fx>(on_error), chunkname, mode);
21398  }
protected_function_result safe_script(const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21284

§ script() [3/4]

protected_function_result sol::state_view::script ( const string_view code,
const environment env,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21405  {
21406  return safe_script(code, env, script_default_on_error, chunkname, mode);
21407  }
protected_function_result safe_script(const string_view &code, Fx &&on_error, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21284
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ script() [4/4]

unsafe_function_result sol::state_view::script ( const string_view code,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21422  {
21423  return unsafe_script(code, chunkname, mode);
21424  }
unsafe_function_result unsafe_script(const string_view &code, const basic_environment< E > &env, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:21338

§ script_file() [1/4]

template<typename Fx , meta::disable_any< meta::is_string_constructible< meta::unqualified_t< Fx >>, meta::is_specialization_of< meta::unqualified_t< Fx >, basic_environment >> = meta::enabler>
protected_function_result sol::state_view::script_file ( const std::string filename,
Fx &&  on_error,
load_mode  mode = load_mode::any 
)
inline
21391  {
21392  return safe_script_file(filename, std::forward<Fx>(on_error), mode);
21393  }
protected_function_result safe_script_file(const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
Definition: sol.hpp:21311

§ script_file() [2/4]

template<typename Fx , typename E >
protected_function_result sol::state_view::script_file ( const std::string filename,
const basic_environment< E > &  env,
Fx &&  on_error,
load_mode  mode = load_mode::any 
)
inline
21401  {
21402  return safe_script_file(filename, env, std::forward<Fx>(on_error), mode);
21403  }
protected_function_result safe_script_file(const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
Definition: sol.hpp:21311

§ script_file() [3/4]

protected_function_result sol::state_view::script_file ( const std::string filename,
const environment env,
load_mode  mode = load_mode::any 
)
inline
21409  {
21410  return safe_script_file(filename, env, script_default_on_error, mode);
21411  }
protected_function_result safe_script_file(const std::string &filename, Fx &&on_error, load_mode mode=load_mode::any)
Definition: sol.hpp:21311
protected_function_result script_default_on_error(lua_State *L, protected_function_result pfr)
Definition: sol.hpp:21042

§ script_file() [4/4]

unsafe_function_result sol::state_view::script_file ( const std::string filename,
load_mode  mode = load_mode::any 
)
inline
21426  {
21427  return unsafe_script_file(filename, mode);
21428  }
unsafe_function_result unsafe_script_file(const std::string &filename, const basic_environment< E > &env, load_mode mode=load_mode::any)
Definition: sol.hpp:21363

§ set()

template<typename... Args>
state_view& sol::state_view::set ( Args &&...  args)
inline
21523  {
21524  global.set(std::forward<Args>(args)...);
21525  return *this;
21526  }
basic_table_core & set(Args &&... args)
Definition: sol.hpp:20270
global_table global
Definition: sol.hpp:21059

§ set_exception_handler()

void sol::state_view::set_exception_handler ( exception_handler_function  handler)
inline
21503  {
21505  }
lua_State * lua_state() const
Definition: sol.hpp:21126
void set_default_exception_handler(lua_State *L, exception_handler_function exf=&detail::default_exception_handler)
Definition: sol.hpp:5998

§ set_function() [1/2]

template<typename Sig , typename... Args, typename Key >
state_view& sol::state_view::set_function ( Key &&  key,
Args &&...  args 
)
inline
21629  {
21630  global.set_function<Sig>(std::forward<Key>(key), std::forward<Args>(args)...);
21631  return *this;
21632  }
global_table global
Definition: sol.hpp:21059
basic_table_core & set_function(Key &&key, Args &&... args)
Definition: sol.hpp:20456

§ set_function() [2/2]

template<typename... Args, typename Key >
state_view& sol::state_view::set_function ( Key &&  key,
Args &&...  args 
)
inline
21635  {
21636  global.set_function(std::forward<Key>(key), std::forward<Args>(args)...);
21637  return *this;
21638  }
global_table global
Definition: sol.hpp:21059
basic_table_core & set_function(Key &&key, Args &&... args)
Definition: sol.hpp:20456

§ set_panic()

void sol::state_view::set_panic ( lua_CFunction  panic)
inline
21499  {
21500  lua_atpanic(lua_state(), panic);
21501  }
lua_State * lua_state() const
Definition: sol.hpp:21126

§ set_usertype() [1/2]

template<typename T >
state_view& sol::state_view::set_usertype ( usertype< T > &  user)
inline
21540  {
21541  return set_usertype(usertype_traits<T>::name(), user);
21542  }
static const std::string & name()
Definition: sol.hpp:6165
state_view & set_usertype(usertype< T > &user)
Definition: sol.hpp:21540

§ set_usertype() [2/2]

template<typename Key , typename T >
state_view& sol::state_view::set_usertype ( Key &&  key,
usertype< T > &  user 
)
inline
21545  {
21546  global.set_usertype(std::forward<Key>(key), user);
21547  return *this;
21548  }
global_table global
Definition: sol.hpp:21059
basic_table_core & set_usertype(usertype< T > &user)
Definition: sol.hpp:20322

§ stack_clear()

int sol::state_view::stack_clear ( )
inline
21485  {
21486  int s = stack_top();
21487  lua_pop(L, s);
21488  return s;
21489  }
lua_State * L
Definition: sol.hpp:21057
int stack_top() const
Definition: sol.hpp:21481

§ stack_top()

int sol::state_view::stack_top ( ) const
inline
21481  {
21482  return stack::top(L);
21483  }
lua_State * L
Definition: sol.hpp:21057
int top(lua_State *L)
Definition: sol.hpp:7743

§ traverse_get()

template<typename T , typename... Keys>
decltype(auto) sol::state_view::traverse_get ( Keys &&...  keys) const
inline
21529  {
21530  return global.traverse_get<T>(std::forward<Keys>(keys)...);
21531  }
global_table global
Definition: sol.hpp:21059
decltype(auto) traverse_get(Keys &&... keys) const
Definition: sol.hpp:20256

§ traverse_set()

template<typename... Args>
state_view& sol::state_view::traverse_set ( Args &&...  args)
inline
21534  {
21535  global.traverse_set(std::forward<Args>(args)...);
21536  return *this;
21537  }
global_table global
Definition: sol.hpp:21059
basic_table_core & traverse_set(Keys &&... keys)
Definition: sol.hpp:20262

§ unsafe_script() [1/2]

template<typename E >
unsafe_function_result sol::state_view::unsafe_script ( const string_view code,
const basic_environment< E > &  env,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21338  {
21339  detail::typical_chunk_name_t basechunkname = {};
21340  const char* chunknametarget = detail::make_chunk_name(code, chunkname, basechunkname);
21341  int index = lua_gettop(L);
21342  if (luaL_loadbufferx(L, code.data(), code.size(), chunknametarget, to_string(mode).c_str())) {
21343  lua_error(L);
21344  }
21345  set_environment(env, stack_reference(L, raw_index(index + 1)));
21346  if (lua_pcall(L, 0, LUA_MULTRET, 0)) {
21347  lua_error(L);
21348  }
21349  int postindex = lua_gettop(L);
21350  int returns = postindex - index;
21351  return unsafe_function_result(L, (std::max)(postindex - (returns - 1), 1), returns);
21352  }
char[32] typical_chunk_name_t
Definition: sol.hpp:11708
lua_State * L
Definition: sol.hpp:21057
void set_environment(const basic_environment< E > &env, const T &target)
Definition: sol.hpp:20691
const char * make_chunk_name(const string_view &code, const std::string &chunkname, char(&basechunkname)[N])
Definition: sol.hpp:11716

§ unsafe_script() [2/2]

unsafe_function_result sol::state_view::unsafe_script ( const string_view code,
const std::string chunkname = detail::default_chunk_name(),
load_mode  mode = load_mode::any 
)
inline
21354  {
21355  int index = lua_gettop(L);
21356  stack::script(L, code, chunkname, mode);
21357  int postindex = lua_gettop(L);
21358  int returns = postindex - index;
21359  return unsafe_function_result(L, (std::max)(postindex - (returns - 1), 1), returns);
21360  }
void script(lua_State *L, const string_view &code, const std::string &chunkname=detail::default_chunk_name(), load_mode mode=load_mode::any)
Definition: sol.hpp:11889
lua_State * L
Definition: sol.hpp:21057

§ unsafe_script_file() [1/2]

template<typename E >
unsafe_function_result sol::state_view::unsafe_script_file ( const std::string filename,
const basic_environment< E > &  env,
load_mode  mode = load_mode::any 
)
inline
21363  {
21364  int index = lua_gettop(L);
21365  if (luaL_loadfilex(L, filename.c_str(), to_string(mode).c_str())) {
21366  lua_error(L);
21367  }
21368  set_environment(env, stack_reference(L, raw_index(index + 1)));
21369  if (lua_pcall(L, 0, LUA_MULTRET, 0)) {
21370  lua_error(L);
21371  }
21372  int postindex = lua_gettop(L);
21373  int returns = postindex - index;
21374  return unsafe_function_result(L, (std::max)(postindex - (returns - 1), 1), returns);
21375  }
lua_State * L
Definition: sol.hpp:21057
void set_environment(const basic_environment< E > &env, const T &target)
Definition: sol.hpp:20691

§ unsafe_script_file() [2/2]

unsafe_function_result sol::state_view::unsafe_script_file ( const std::string filename,
load_mode  mode = load_mode::any 
)
inline
21377  {
21378  int index = lua_gettop(L);
21379  stack::script_file(L, filename, mode);
21380  int postindex = lua_gettop(L);
21381  int returns = postindex - index;
21382  return unsafe_function_result(L, (std::max)(postindex - (returns - 1), 1), returns);
21383  }
void script_file(lua_State *L, const std::string &filename, load_mode mode=load_mode::any)
Definition: sol.hpp:11897
lua_State * L
Definition: sol.hpp:21057

Member Data Documentation

§ global

global_table sol::state_view::global
private

§ L

lua_State* sol::state_view::L
private

§ reg

table sol::state_view::reg
private

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