6 #ifndef ECHELON_HDF5_TYPE_TRAITS_HPP 7 #define ECHELON_HDF5_TYPE_TRAITS_HPP 9 #include <echelon/hdf5/precursor/object_reference.hpp> 11 #include <boost/mpl/bool.hpp> 20 struct is_predefined_hdf5_type : boost::mpl::false_
25 struct is_predefined_hdf5_type<char> : boost::mpl::true_
30 struct is_predefined_hdf5_type<unsigned char> : boost::mpl::true_
35 struct is_predefined_hdf5_type<short> : boost::mpl::true_
40 struct is_predefined_hdf5_type<unsigned short> : boost::mpl::true_
45 struct is_predefined_hdf5_type<int> : boost::mpl::true_
50 struct is_predefined_hdf5_type<unsigned int> : boost::mpl::true_
55 struct is_predefined_hdf5_type<long> : boost::mpl::true_
60 struct is_predefined_hdf5_type<unsigned long> : boost::mpl::true_
65 struct is_predefined_hdf5_type<long long> : boost::mpl::true_
70 struct is_predefined_hdf5_type<unsigned long long> : boost::mpl::true_
75 struct is_predefined_hdf5_type<float> : boost::mpl::true_
80 struct is_predefined_hdf5_type<double> : boost::mpl::true_
85 struct is_predefined_hdf5_type<bool> : boost::mpl::true_
90 struct is_predefined_hdf5_type<std::string> : boost::mpl::true_
94 template <std::
size_t N>
95 struct is_predefined_hdf5_type<char[N]> : boost::mpl::true_
100 struct is_predefined_hdf5_type<char*> : boost::mpl::true_
105 struct is_predefined_hdf5_type<const char*> : boost::mpl::true_
110 struct is_predefined_hdf5_type<precursor::object_reference> : boost::mpl::true_
114 template <
typename T>
115 struct is_predefined_hdf5_type<T const> : is_predefined_hdf5_type<typename std::remove_cv<T>::type>
119 template <
typename T>
120 struct is_hdf5_type : is_predefined_hdf5_type<T>
124 template <
typename T>
125 struct is_hdf5_type<T const> : is_hdf5_type<typename std::remove_cv<T>::type>
echelon's core namespace
Definition: attribute.cpp:10