Ardour  9.0-pre0-582-g084a23a80d
UserdataPtr Class Reference

#include <Userdata.h>

Inheritance diagram for UserdataPtr:
[legend]

Static Public Member Functions

template<class T >
static void push (lua_State *const L, T *const p)
 
template<class T >
static void push (lua_State *const L, T const *const p)
 
- Static Public Member Functions inherited from Userdata
static void * get_ptr (lua_State *L, int index)
 
template<class T >
static UserdatagetExact (lua_State *L, int index)
 
template<class T >
static T * get (lua_State *L, int index, bool canBeConst)
 
template<class T >
static T * try_get (lua_State *L, int index, bool canBeConst)
 

Private Member Functions

 UserdataPtr (UserdataPtr const &)
 
UserdataPtr operator= (UserdataPtr const &)
 
 UserdataPtr (void *const p)
 

Static Private Member Functions

static void push (lua_State *L, void *const p, void const *const key)
 
static void push (lua_State *L, void const *const p, void const *const key)
 
static void push_raw (lua_State *const L, void *p, const void *classkey)
 

Friends

class LuaRef
 

Additional Inherited Members

- Public Member Functions inherited from Userdata
virtual ~Userdata ()
 
- Protected Member Functions inherited from Userdata
void * getPointer () const
 
- Protected Attributes inherited from Userdata
void * m_p
 

Detailed Description

Wraps a pointer to a class object inside a Lua userdata.

The lifetime of the object is managed by C++.

Definition at line 425 of file Userdata.h.

Constructor & Destructor Documentation

◆ UserdataPtr() [1/2]

UserdataPtr::UserdataPtr ( UserdataPtr const &  )
private

◆ UserdataPtr() [2/2]

UserdataPtr::UserdataPtr ( void *const  p)
inlineexplicitprivate

Definition at line 469 of file Userdata.h.

Member Function Documentation

◆ operator=()

UserdataPtr UserdataPtr::operator= ( UserdataPtr const &  )
private

◆ push() [1/4]

template<class T >
static void UserdataPtr::push ( lua_State *const  L,
T *const  p 
)
inlinestatic

Push non-const pointer to object.

Definition at line 491 of file Userdata.h.

◆ push() [2/4]

template<class T >
static void UserdataPtr::push ( lua_State *const  L,
T const *const  p 
)
inlinestatic

Push const pointer to object.

Definition at line 502 of file Userdata.h.

◆ push() [3/4]

static void UserdataPtr::push ( lua_State L,
void *const  p,
void const *const  key 
)
inlinestaticprivate

Push non-const pointer to object using metatable key.

Definition at line 434 of file Userdata.h.

◆ push() [4/4]

static void UserdataPtr::push ( lua_State L,
void const *const  p,
void const *const  key 
)
inlinestaticprivate

Push const pointer to object using metatable key.

Definition at line 452 of file Userdata.h.

◆ push_raw()

static void UserdataPtr::push_raw ( lua_State *const  L,
void *  p,
const void *  classkey 
)
inlinestaticprivate

Definition at line 479 of file Userdata.h.

Friends And Related Function Documentation

◆ LuaRef

friend class LuaRef
friend

Definition at line 478 of file Userdata.h.


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