mpl::eval_if< is_base_and_derived< boost::serialization::basic_traits, const T >, traits_class_level< const T >, typename mpl::eval_if< is_fundamental< const T >, mpl::int_< primitive_type >, typename mpl::eval_if< is_class< const T >, mpl::int_< object_class_info >, typename mpl::eval_if< is_array< const T >, mpl::int_< object_serializable >, typename mpl::eval_if< is_enum< const T >, mpl::int_< primitive_type >, mpl::int_< not_serializable > > > > > >::type type