aimstil  5.0.5
is_traits.h File Reference
Include dependency graph for is_traits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 

Macros

#define TIL_DECLARE_IS(typeM)   TIL_DECLARE_IS_VALUE_TEMPLATE(typeM, 0, typename T)
 
#define TIL_DECLARE_IS_VALUE(typeM, valueM)   TIL_DECLARE_IS_VALUE_TEMPLATE(typeM, valueM, typename T)
 
#define TIL_DECLARE_IS_TEMPLATE(typeM, tplM)
 
#define TIL_DECLARE_IS_VALUE_TEMPLATE(typeM, valM, tplM)
 
#define TIL_DECLARE_IS_SPEC(typeM, cnameM)   TIL_DECLARE_IS_SPEC_T(typeM, , cnameM)
 
#define TIL_DECLARE_IS_SPEC_T(typeM, templateArgsM, cnameM)
 
#define TIL_COMMA   ,
 

Functions

 til::TIL_DECLARE_IS (3DPoint)
 True if type implements a 3D Point. More...
 
 til::TIL_DECLARE_IS_SPEC_T (3DPoint, typename T, boost::array< T TIL_COMMA 3 >)
 
 til::TIL_DECLARE_IS_VALUE (3DVector, is_3DPoint< T >::value)
 True if type implements a 3D Vector. More...
 
 til::TIL_DECLARE_IS_TEMPLATE (BoostArray_N, typename T TIL_COMMA std::size_t N)
 True if type is boost::array of size N. More...
 
 til::TIL_DECLARE_IS_SPEC_T (BoostArray_N, typename T TIL_COMMA std::size_t N, boost::array< T TIL_COMMA N > TIL_COMMA N)
 
 til::TIL_DECLARE_IS (mesh)
 True if type implements a mesh. More...
 
 til::TIL_DECLARE_IS_SPEC_T (mesh, typename TParam, Mesh< TParam >)
 
 til::TIL_DECLARE_IS (container)
 True if type is a (STL) container. More...
 
 til::TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename A, std::vector< T TIL_COMMA A >)
 
 til::TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename A, std::list< T TIL_COMMA A >)
 
 til::TIL_DECLARE_IS_SPEC_T (container, typename K TIL_COMMA typename P TIL_COMMA typename A, std::set< K TIL_COMMA P TIL_COMMA A >)
 
 til::TIL_DECLARE_IS_SPEC_T (container, typename K TIL_COMMA typename T TIL_COMMA typename P TIL_COMMA typename A, std::map< K TIL_COMMA T TIL_COMMA P TIL_COMMA A >)
 
 til::TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename BaselinePolicy, til::sparse_vector< T TIL_COMMA BaselinePolicy >)
 
 til::TIL_DECLARE_IS (map)
 True if type is a map container. More...
 
 til::TIL_DECLARE_IS_SPEC_T (map, typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename TAlloc, std::map< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >)
 
 til::TIL_DECLARE_IS_SPEC_T (map, typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename TAlloc, std::multimap< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >)
 
 til::TIL_DECLARE_IS_SPEC_T (pointer, typename T, T *)
 
 til::TIL_DECLARE_IS_SPEC_T (pointer, typename T, boost::shared_ptr< T >)
 

Macro Definition Documentation

◆ TIL_COMMA

#define TIL_COMMA   ,

Definition at line 38 of file is_traits.h.

◆ TIL_DECLARE_IS

#define TIL_DECLARE_IS (   typeM)    TIL_DECLARE_IS_VALUE_TEMPLATE(typeM, 0, typename T)

Definition at line 11 of file is_traits.h.

◆ TIL_DECLARE_IS_SPEC

#define TIL_DECLARE_IS_SPEC (   typeM,
  cnameM 
)    TIL_DECLARE_IS_SPEC_T(typeM, , cnameM)

Definition at line 30 of file is_traits.h.

◆ TIL_DECLARE_IS_SPEC_T

#define TIL_DECLARE_IS_SPEC_T (   typeM,
  templateArgsM,
  cnameM 
)
Value:
template < templateArgsM > \
struct is_##typeM < cnameM > \
{ \
enum { value = 1 }; \
};

Definition at line 31 of file is_traits.h.

◆ TIL_DECLARE_IS_TEMPLATE

#define TIL_DECLARE_IS_TEMPLATE (   typeM,
  tplM 
)
Value:
template < tplM > \
struct is_##typeM \
{ \
enum { value = 0 }; \
};

Definition at line 17 of file is_traits.h.

◆ TIL_DECLARE_IS_VALUE

#define TIL_DECLARE_IS_VALUE (   typeM,
  valueM 
)    TIL_DECLARE_IS_VALUE_TEMPLATE(typeM, valueM, typename T)

Definition at line 12 of file is_traits.h.

◆ TIL_DECLARE_IS_VALUE_TEMPLATE

#define TIL_DECLARE_IS_VALUE_TEMPLATE (   typeM,
  valM,
  tplM 
)
Value:
template < tplM > \
struct is_##typeM \
{ \
enum { value = valM }; \
};

Definition at line 23 of file is_traits.h.