4 #ifndef DUNE_TYPETREE_TYPETRAITS_HH
5 #define DUNE_TYPETREE_TYPETRAITS_HH
7 #include <dune/common/typetraits.hh>
14 #if defined HAVE_TYPE_TRAITS
17 using std::is_base_of;
19 #elif defined HAVE_TR1_TYPE_TRAITS
22 using std::tr1::is_base_of;
27 #error Your compiler supports neither C++11 nor TR1!
28 #error TypeTree requires at least TR1 support in your compiler to work, bailing out...
45 #define DUNE_DECLTYPE decltype
46 #elif HAVE_GCC___TYPEOF__
47 #define DUNE_DECLTYPE __typeof__
49 #error The TypeTree library requires support for
50 #error C++11 decltype or a compatible fallback in your compiler.
51 #error Neither of those was found, aborting!!!!
82 typedef typename F::type
type;
96 typedef typename conditional<
106 #endif // DUNE_TYPETREE_TYPETRAITS_HH
F::type type
Definition: typetraits.hh:82
Marker tag declaring a meta function.
Definition: typetraits.hh:76
Meta function that evaluates its argument iff it inherits from meta_function.
Definition: typetraits.hh:94
Identity function.
Definition: typetraits.hh:87
conditional< is_base_of< meta_function, F >::value, lazy_evaluate< F >, lazy_identity< F > >::type::type type
Definition: typetraits.hh:100
Helper meta function to delay evaluation of F.
Definition: typetraits.hh:80
F type
Definition: typetraits.hh:89
void type
Definition: typetraits.hh:37
static const std::size_t value
Definition: compositenode.hh:38
T * declptr()
Helper function for generating a pointer to a value of type T in an unevaluated operand setting...
Definition: typetraits.hh:35