MIRA
Public Types | List of all members
RecursiveMemberReflectorBase< Derived >::ChooseReflect< T > Struct Template Reference

Detect the members type (A1,A2,A3,B1,B2,C) and choose the appropriate struct ReflectAtomic, etc. More...

#include <serialization/RecursiveMemberReflector.h>

Public Types

typedef std::remove_cv< T >::type Type
 
typedef boost::mpl::eval_if< std::is_pointer< Type >, boost::mpl::identity< ReflectPointer >, boost::mpl::eval_if< IsAtomicSerializable< Type >, boost::mpl::identity< ReflectAtomic >, boost::mpl::eval_if< std::is_class< Type >, boost::mpl::eval_if< IsCollection< Type >, boost::mpl::identity< ReflectCollection >, boost::mpl::identity< ReflectComplex > >, boost::mpl::eval_if< std::is_enum< Type >, boost::mpl::identity< ReflectEnumeration >, boost::mpl::eval_if< std::is_array< Type >, boost::mpl::identity< ReflectArray >, boost::mpl::identity< ReflectUnknown > > > > > >::type type
 

Detailed Description

template<typename Derived>
template<typename T>
struct mira::RecursiveMemberReflectorBase< Derived >::ChooseReflect< T >

Detect the members type (A1,A2,A3,B1,B2,C) and choose the appropriate struct ReflectAtomic, etc.

that handles that type.

Member Typedef Documentation

◆ Type

typedef std::remove_cv<T>::type Type

◆ type

typedef boost::mpl::eval_if<std::is_pointer<Type>, boost::mpl::identity<ReflectPointer>, boost::mpl::eval_if<IsAtomicSerializable<Type>, boost::mpl::identity<ReflectAtomic>, boost::mpl::eval_if<std::is_class<Type>, boost::mpl::eval_if<IsCollection<Type>, boost::mpl::identity<ReflectCollection>, boost::mpl::identity<ReflectComplex> >, boost::mpl::eval_if<std::is_enum<Type>, boost::mpl::identity<ReflectEnumeration>, boost::mpl::eval_if<std::is_array<Type>, boost::mpl::identity<ReflectArray>, boost::mpl::identity<ReflectUnknown> > > > > >::type type

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