Ardour  8.7-15-gadf511264b
StackHelper< C, byContainer, isEnum > Struct Template Reference

#include <Userdata.h>

Public Types

typedef TypeTraits::removeConst< typename ContainerTraits< C >::Type >::Type T
 

Static Public Member Functions

static void push (lua_State *L, C const &c)
 
static C get (lua_State *L, int index)
 

Detailed Description

template<class C, bool byContainer, bool isEnum>
struct StackHelper< C, byContainer, isEnum >

Pass by container.

The container controls the object lifetime. Typically this will be a lifetime shared by C++ and Lua using a reference count. Because of type erasure, containers like std::shared_ptr will not work. Containers must either be of the intrusive variety, or in the style of the RefCountedPtr type provided by LuaBridge (that uses a global hash table).

Definition at line 652 of file Userdata.h.

Member Typedef Documentation

◆ T

template<class C , bool byContainer, bool isEnum>
typedef TypeTraits::removeConst< typename ContainerTraits <C>::Type>::Type StackHelper< C, byContainer, isEnum >::T

Definition at line 661 of file Userdata.h.

Member Function Documentation

◆ get()

template<class C , bool byContainer, bool isEnum>
static C StackHelper< C, byContainer, isEnum >::get ( lua_State L,
int  index 
)
inlinestatic

Definition at line 663 of file Userdata.h.

◆ push()

template<class C , bool byContainer, bool isEnum>
static void StackHelper< C, byContainer, isEnum >::push ( lua_State L,
C const &  c 
)
inlinestatic

Definition at line 654 of file Userdata.h.


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