Ardour  9.0-pre0-582-g084a23a80d
TypeTraits::isContainer< T > Class Template Reference

#include <TypeTraits.h>

Static Public Attributes

static const bool value = sizeof (test <ContainerTraits <T> >(0)) == sizeof (yes)
 

Private Types

typedef char yes[1]
 
typedef char no[2]
 

Static Private Member Functions

template<typename C >
static notest (typename C::isNotContainer *)
 
template<typename >
static yestest (...)
 

Detailed Description

template<typename T>
class TypeTraits::isContainer< T >

Determine if type T is a container.

To be considered a container, there must be a specialization of ContainerTraits with the required fields.

Definition at line 76 of file TypeTraits.h.

Member Typedef Documentation

◆ no

template<typename T >
typedef char TypeTraits::isContainer< T >::no[2]
private

Definition at line 80 of file TypeTraits.h.

◆ yes

template<typename T >
typedef char TypeTraits::isContainer< T >::yes[1]
private

Definition at line 79 of file TypeTraits.h.

Member Function Documentation

◆ test() [1/2]

template<typename T >
template<typename >
static yes& TypeTraits::isContainer< T >::test (   ...)
staticprivate

◆ test() [2/2]

template<typename T >
template<typename C >
static no& TypeTraits::isContainer< T >::test ( typename C::isNotContainer *  )
staticprivate

Member Data Documentation

◆ value

template<typename T >
const bool TypeTraits::isContainer< T >::value = sizeof (test <ContainerTraits <T> >(0)) == sizeof (yes)
static

Definition at line 89 of file TypeTraits.h.


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