Ardour  8.7-15-gadf511264b
Namespace::WSPtrClass< T > Class Template Reference
Inheritance diagram for Namespace::WSPtrClass< T >:
[legend]

Public Member Functions

 WSPtrClass (char const *name, Namespace const *parent)
 
 WSPtrClass (char const *name, Namespace const *parent, void const *const sharedkey, void const *const sharedconstkey, void const *const weakkey)
 
template<class MemFn >
WSPtrClass< T > & addFunction (char const *name, MemFn mf)
 
template<class MemFn >
WSPtrClass< T > & addRefFunction (char const *name, MemFn mf)
 
template<class MemFn >
WSPtrClass< T > & addConstructor ()
 
WSPtrClass< T > & addVoidConstructor ()
 
template<class FP >
WSPtrClass< T > & addStaticFunction (char const *name, FP const fp)
 
WSPtrClass< T > & addNilPtrConstructor ()
 
WSPtrClass< T > & addExtCFunction (char const *name, int(*const fp)(lua_State *))
 
template<class U >
WSPtrClass< T > & addCast (char const *name)
 
WSPtrClass< T > & addNullCheck ()
 
WSPtrClass< T > & addEqualCheck ()
 
template<class U >
WSPtrClass< T > & addData (char const *name, const U T::*mp, bool isWritable=true)
 
Namespace endClass ()
 
- Public Member Functions inherited from Namespace::ClassBase
 ClassBase (lua_State *L_)
 
 ClassBase (ClassBase const &other)
 
 ~ClassBase ()
 

Private Member Functions

void set_weak_class ()
 
void set_shared_class ()
 
void set_const_shared_class ()
 

Private Attributes

Class< std::shared_ptr< T > > shared
 
Class< std::shared_ptr< T const > > shared_const
 
Class< std::weak_ptr< T > > weak
 

Additional Inherited Members

- Protected Member Functions inherited from Namespace::ClassBase
void createConstTable (char const *name)
 
void createClassTable (char const *name)
 
void createStaticTable (char const *name)
 
void pop (int n) const
 
- Static Protected Member Functions inherited from Namespace::ClassBase
static int indexMetaMethod (lua_State *L)
 
static int newindexMetaMethod (lua_State *L)
 
template<class Params , class C >
static int ctorContainerProxy (lua_State *L)
 
template<class Params , class T >
static int ctorPlacementProxy (lua_State *L)
 
template<class Params , class T , class C >
static int ctorPtrPlacementProxy (lua_State *L)
 
template<class T >
static int ctorNilPtrPlacementProxy (lua_State *L)
 
- Protected Attributes inherited from Namespace::ClassBase
lua_State *const L
 
int m_stackSize
 

Detailed Description

template<class T>
class Namespace::WSPtrClass< T >

Boost Weak & Shared Pointer Class Wrapper

Definition at line 1273 of file Namespace.h.

Constructor & Destructor Documentation

◆ WSPtrClass() [1/2]

template<class T >
Namespace::WSPtrClass< T >::WSPtrClass ( char const *  name,
Namespace const *  parent 
)
inline

Definition at line 1276 of file Namespace.h.

◆ WSPtrClass() [2/2]

template<class T >
Namespace::WSPtrClass< T >::WSPtrClass ( char const *  name,
Namespace const *  parent,
void const *const  sharedkey,
void const *const  sharedconstkey,
void const *const  weakkey 
)
inline

Definition at line 1294 of file Namespace.h.

Member Function Documentation

◆ addCast()

template<class T >
template<class U >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addCast ( char const *  name)
inline

Definition at line 1439 of file Namespace.h.

◆ addConstructor()

template<class T >
template<class MemFn >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addConstructor ( )
inline

Definition at line 1340 of file Namespace.h.

◆ addData()

template<class T >
template<class U >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addData ( char const *  name,
const U T::*  mp,
bool  isWritable = true 
)
inline

Definition at line 1501 of file Namespace.h.

◆ addEqualCheck()

template<class T >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addEqualCheck ( )
inline

Definition at line 1480 of file Namespace.h.

◆ addExtCFunction()

template<class T >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addExtCFunction ( char const *  name,
int(*)(lua_State *)  fp 
)
inline

Definition at line 1411 of file Namespace.h.

◆ addFunction()

template<class T >
template<class MemFn >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addFunction ( char const *  name,
MemFn  mf 
)
inline

Definition at line 1310 of file Namespace.h.

◆ addNilPtrConstructor()

template<class T >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addNilPtrConstructor ( )
inline

Definition at line 1388 of file Namespace.h.

◆ addNullCheck()

template<class T >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addNullCheck ( )
inline

Definition at line 1459 of file Namespace.h.

◆ addRefFunction()

template<class T >
template<class MemFn >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addRefFunction ( char const *  name,
MemFn  mf 
)
inline

Definition at line 1325 of file Namespace.h.

◆ addStaticFunction()

template<class T >
template<class FP >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addStaticFunction ( char const *  name,
FP const  fp 
)
inline

Definition at line 1368 of file Namespace.h.

◆ addVoidConstructor()

template<class T >
WSPtrClass<T>& Namespace::WSPtrClass< T >::addVoidConstructor ( )
inline

Definition at line 1362 of file Namespace.h.

◆ endClass()

template<class T >
Namespace Namespace::WSPtrClass< T >::endClass ( )
inline

Definition at line 1574 of file Namespace.h.

◆ set_const_shared_class()

template<class T >
void Namespace::WSPtrClass< T >::set_const_shared_class ( )
inlineprivate

Definition at line 1596 of file Namespace.h.

◆ set_shared_class()

template<class T >
void Namespace::WSPtrClass< T >::set_shared_class ( )
inlineprivate

Definition at line 1588 of file Namespace.h.

◆ set_weak_class()

template<class T >
void Namespace::WSPtrClass< T >::set_weak_class ( )
inlineprivate

Definition at line 1580 of file Namespace.h.

Member Data Documentation

◆ shared

template<class T >
Class<std::shared_ptr<T> > Namespace::WSPtrClass< T >::shared
private

Definition at line 1605 of file Namespace.h.

◆ shared_const

template<class T >
Class<std::shared_ptr<T const> > Namespace::WSPtrClass< T >::shared_const
private

Definition at line 1606 of file Namespace.h.

◆ weak

template<class T >
Class<std::weak_ptr<T> > Namespace::WSPtrClass< T >::weak
private

Definition at line 1607 of file Namespace.h.


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