Misc::TypeTr< T > Class Template Reference

#include <Misc.H>

List of all members.


Detailed Description

template<typename T>
class Misc::TypeTr< T >

Test for class type.

Use the SFINAE principle as described in 15.2.2 "Determining Class Types" in Vandevoorde and Josuttis "C++ Templates" book to see if T is class type. E.g., TypeTr<int>::IsClass == false TypeTr<Box>::IsClass == true

Public Types

enum  { IsClass = sizeof(TypeTr<T>::template test<T>(0)) == 1 }
enum  { IsClass = sizeof(TypeTr<T>::template test<T>(0)) == 1 }

Private Types

typedef char One
typedef char One

Static Private Member Functions

template<typename C>
static One test (int C::*)
template<typename C>
static Two test (...)
template<typename C>
static One test (int C::*)
template<typename C>
static Two test (...)

Classes

struct  Two


Member Typedef Documentation

template<typename T>
typedef char Misc::TypeTr< T >::One [private]

template<typename T>
typedef char Misc::TypeTr< T >::One [private]


Member Enumeration Documentation

template<typename T>
anonymous enum

Enumerator:
IsClass 

template<typename T>
anonymous enum

Enumerator:
IsClass 


Member Function Documentation

template<typename T>
template<typename C>
static One Misc::TypeTr< T >::test ( int C::*   )  [inline, static, private]

template<typename T>
template<typename C>
static Two Misc::TypeTr< T >::test (   ...  )  [inline, static, private]

template<typename T>
template<typename C>
static One Misc::TypeTr< T >::test ( int C::*   )  [inline, static, private]

template<typename T>
template<typename C>
static Two Misc::TypeTr< T >::test (   ...  )  [inline, static, private]


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

Generated on Sat Sep 23 03:28:08 2017 for Chombo + EB + MF by  doxygen 1.5.5