Ardour  8.7-15-gadf511264b
UserdataShared< C > Class Template Reference

#include <Userdata.h>

Inheritance diagram for UserdataShared< C >:
[legend]

Public Member Functions

template<class U >
 UserdataShared (U const &u)
 
template<class U >
 UserdataShared (U *u)
 
- Public Member Functions inherited from Userdata
virtual ~Userdata ()
 

Private Types

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

Private Member Functions

 UserdataShared (UserdataShared< C > const &)
 
UserdataShared< C > & operator= (UserdataShared< C > const &)
 
 ~UserdataShared ()
 

Private Attributes

m_c
 

Additional Inherited Members

- 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)
 
- Protected Member Functions inherited from Userdata
void * getPointer () const
 
- Protected Attributes inherited from Userdata
void * m_p
 

Detailed Description

template<class C>
class UserdataShared< C >

Wraps a container thet references a class object.

The template argument C is the container type, ContainerTraits must be specialized on C or else a compile error will result.

Definition at line 519 of file Userdata.h.

Member Typedef Documentation

◆ T

template<class C >
typedef TypeTraits::removeConst< typename ContainerTraits <C>::Type>::Type UserdataShared< C >::T
private

Definition at line 526 of file Userdata.h.

Constructor & Destructor Documentation

◆ UserdataShared() [1/3]

template<class C >
UserdataShared< C >::UserdataShared ( UserdataShared< C > const &  )
private

◆ ~UserdataShared()

template<class C >
UserdataShared< C >::~UserdataShared ( )
inlineprivate

Definition at line 531 of file Userdata.h.

◆ UserdataShared() [2/3]

template<class C >
template<class U >
UserdataShared< C >::UserdataShared ( U const &  u)
inlineexplicit

Construct from a container to the class or a derived class.

Definition at line 540 of file Userdata.h.

◆ UserdataShared() [3/3]

template<class C >
template<class U >
UserdataShared< C >::UserdataShared ( U *  u)
inlineexplicit

Construct from a pointer to the class or a derived class.

Definition at line 550 of file Userdata.h.

Member Function Documentation

◆ operator=()

template<class C >
UserdataShared<C>& UserdataShared< C >::operator= ( UserdataShared< C > const &  )
private

Member Data Documentation

◆ m_c

template<class C >
C UserdataShared< C >::m_c
private

Definition at line 528 of file Userdata.h.


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