Etterna 0.74.4
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
Luna< Type > Class Template Reference

Allow the binding of Lua to various classes. More...

#include <LuaBinding.h>

Inheritance diagram for Luna< Type >:
Inheritance graph
[legend]
Collaboration diagram for Luna< Type >:
Collaboration graph
[legend]

Classes

struct  RegType
 

Public Member Functions

auto GetClassName () const -> const std::string &override
 
auto GetBaseClassName () const -> const std::string &override
 
- Public Member Functions inherited from LuaBinding
void Register (lua_State *L)
 
auto IsDerivedClass () const -> bool
 

Static Public Member Functions

static auto check (lua_State *L, int narg, bool bIsSelf=false) -> T *
 
static auto get (lua_State *L, int narg) -> T *
 
static void PushObject (Lua *L, const std::string &sDerivedClassName, T *p)
 
- Static Public Member Functions inherited from LuaBinding
static void RegisterTypes (lua_State *L)
 
static void ApplyDerivedType (Lua *L, const std::string &sClassname, void *pSelf)
 
static auto CheckLuaObjectType (lua_State *L, int narg, std::string const &szType) -> bool
 

Static Public Attributes

static std::string m_sClassName
 
static std::string m_sBaseClassName
 

Protected Types

using T = Type
 
using binding_t = int(T *, lua_State *)
 

Protected Member Functions

void Register (Lua *L, int iMethods, int iMetatable) override
 
void AddMethod (std::string const &regName, int(*pFunc)(T *p, lua_State *L))
 

Additional Inherited Members

- Static Protected Member Functions inherited from LuaBinding
static void CreateMethodsTable (lua_State *L, const std::string &szName)
 
static auto GetPointerFromStack (Lua *L, const std::string &sType, int iArg) -> void *
 
static auto Equal (lua_State *L) -> bool
 
static auto PushEqual (lua_State *L) -> int
 

Detailed Description

template<typename Type>
class Luna< Type >

Allow the binding of Lua to various classes.

Member Function Documentation

◆ GetBaseClassName()

template<typename Type >
auto Luna< Type >::GetBaseClassName ( ) const -> const std::string&
inlineoverridevirtual

Implements LuaBinding.

◆ GetClassName()

template<typename Type >
auto Luna< Type >::GetClassName ( ) const -> const std::string&
inlineoverridevirtual

Implements LuaBinding.

◆ Register()

template<typename Type >
void Luna< Type >::Register ( Lua *  L,
int  iMethods,
int  iMetatable 
)
inlineoverrideprotectedvirtual

Implements LuaBinding.


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