classhelpers.h File Reference

详细描述

Class helper macros and templates

Classes

class   NonEmptyDerived< B1, B2 >
class   NonEmptyDerived< B1, EmptyClass >
class   NonEmptyDerived< EmptyClass, B2 >
class   NonEmptyDerived< EmptyClass, EmptyClass >
struct   NonEmptyBasesHelper< BASES >
struct   NonEmptyBasesHelper< T1, REST... >
struct   NonEmptyBasesHelper<>
struct   TemplateInstantiation< TEMPLATE, ARGS >
struct   SubstituteType< T, MAP, typename >
struct   SubstituteType< T &, MAP, void >
struct   SubstituteType< T *, MAP, void >
struct   SubstituteType< const T, MAP, void >
struct   SubstituteType< T, MAP, typename SFINAEHelper< void, typename T::Instantiation >::type >

Namespaces

  maxon
  maxon::details

Macros

#define  MAXON_SWITCH_FALLTHROUGH
#define  MAXON_DISALLOW_COPY_AND_ASSIGN (TypeName)
#define  MAXON_OPERATOR_MOVE_ASSIGNMENT (TypeName)
#define  MAXON_OPERATOR_COPY_ASSIGNMENT (TypeName)
#define  MAXON_OPERATOR_INEQUALITY (TypeName)
#define  MAXON_OPERATOR_COMPARISON (TypeName)
#define  PRIVATE_MAXON_MOVE_MEMBERS (x, i, a)
#define  MAXON_MOVE_MEMBERS (...)
#define  PRIVATE_MAXON_COPY_MEMBERS (x, i, a)
#define  MAXON_COPY_MEMBERS (...)
#define  PRIVATE_MAXON_COPYFROM_MEMBERS (x, i, a)
#define  MAXON_COPYFROM_MEMBERS (...)
#define  MAXON_OPERATOR_COPYFROM (T, ...)
#define  MAXON_HASHCODE (...)
#define  PRIVATE_MAXON_EQUALITY_OPERATORS (x, i, a)
#define  MAXON_OPERATOR_EQUALITY (T, ...)
#define  MAXON_OPERATOR_EQUALITY_HASHCODE (T, ...)
#define  PRIVATE_MAXON_STRUCT_MEMBER_TOSTRING (x, i, a)
#define  PRIVATE_MAXON_STRUCT_MEMBER_TYPE (x, i, a)
#define  PRIVATE_MAXON_STRUCT_MEMBER_COPY (x, i, a)
#define  MAXON_OPERATOR_STRUCT (T, ...)
#define  MAXON_STRUCT_TUPLE (T, ...)
#define  MAXON_NONCONST_COUNTERPART (...)
#define  PRIVATE_MAXON_MEMBER_ACCESSORS_PARAMS (x, i, a)
#define  PRIVATE_MAXON_MEMBER_ACCESSORS_ARGS (x, i, a)
#define  MAXON_MEMBER_ACCESSORS (T, M, ...)
#define  MAXON_DECLARE_CONDITIONAL_COPY_CONSTRUCTOR (cls, cond)
#define  MAXON_DECLARE_CONDITIONAL_MOVE_CONSTRUCTOR (cls, cond)
#define  MAXON_DECLARE_CONDITIONAL_COPY_ASSIGNMENT (cls, cond)
#define  MAXON_DECLARE_CONDITIONAL_MOVE_ASSIGNMENT (cls, cond)

Typedefs

template<typename... BASES>
using  NonEmptyBases = typename maxon::details::NonEmptyBasesHelper < typename std::conditional< STD_IS_REPLACEMENT (empty, BASES), EmptyClass, BASES >::type... >::type