26 #include <boost/mpl/pair.hpp>
27 #include <boost/mpl/vector.hpp>
28 #include <boost/mpl/contains.hpp>
29 #include <boost/mpl/map.hpp>
30 #include <boost/mpl/at.hpp>
31 #include "id_type_map.hpp"
43 typedef boost::mpl::map<
45 boost::mpl::pair<uint8,boost::mpl::vector<int8>>,
50 boost::mpl::vector<uint8,int8,int16>
70 boost::mpl::vector<uint8,uint16,uint32,uint64>
76 boost::mpl::vector<uint8,uint16,uint32,uint64,int8>
94 boost::mpl::pair<float32,boost::mpl::vector<>>,
95 boost::mpl::pair<float64,boost::mpl::vector<float32,complex32> >,
102 boost::mpl::pair<complex32,boost::mpl::vector<>>,
105 boost::mpl::vector<complex32>
109 boost::mpl::pair<complex128,boost::mpl::vector<complex32,complex64>>,
111 boost::mpl::pair<string,boost::mpl::vector<>>,
112 boost::mpl::pair<binary,boost::mpl::vector<>>,
113 boost::mpl::pair<bool_t,boost::mpl::vector<>>
134 typedef typename boost::mpl::at<checked_type_vectors,ST>::type
map_element;
136 typedef boost::mpl::contains<map_element,TT>
c;
std::complex< float32 > complex32
32Bit complex floating point type
Definition: types/types.hpp:62
long double float128
128Bit IEEE floating point type
Definition: types/types.hpp:58
float float32
32Bit IEEE floating point type
Definition: types/types.hpp:57
check if a type is unchecked convertible
Definition: checked_convertible.hpp:131
Definition: add_op.hpp:29
boost::mpl::at< checked_type_vectors, ST >::type map_element
select the type vector
Definition: checked_convertible.hpp:134
std::complex< float64 > complex64
64Bit complex floating point type
Definition: types/types.hpp:64
int32_t int32
32Bit signed integer type
Definition: types/types.hpp:50
boost::mpl::map< boost::mpl::pair< uint8, boost::mpl::vector< int8 > >, boost::mpl::pair< uint16, boost::mpl::vector< uint8, int8, int16 > >, boost::mpl::pair< uint32, boost::mpl::vector< uint8, uint16, int8, int16, int32 > >, boost::mpl::pair< uint64, boost::mpl::vector< uint8, uint16, uint32, int8, int16, int32, int64 > >, boost::mpl::pair< int8, boost::mpl::vector< uint8, uint16, uint32, uint64 > >, boost::mpl::pair< int16, boost::mpl::vector< uint8, uint16, uint32, uint64, int8 > >, boost::mpl::pair< int32, boost::mpl::vector< uint8, uint16, uint32, uint64, int8, int16 > >, boost::mpl::pair< int64, boost::mpl::vector< uint8, uint16, uint32, uint64, int8, int16, int32 > >, boost::mpl::pair< float32, boost::mpl::vector<> >, boost::mpl::pair< float64, boost::mpl::vector< float32, complex32 > >, boost::mpl::pair< float128, boost::mpl::vector< float32, float64, complex32, complex64 > >, boost::mpl::pair< complex32, boost::mpl::vector<> >, boost::mpl::pair< complex64, boost::mpl::vector< complex32 > >, boost::mpl::pair< complex128, boost::mpl::vector< complex32, complex64 > >, boost::mpl::pair< string, boost::mpl::vector<> >, boost::mpl::pair< binary, boost::mpl::vector<> >, boost::mpl::pair< bool_t, boost::mpl::vector<> > > checked_type_vectors
unchecked convertible map
Definition: checked_convertible.hpp:115
uint8_t uint8
8Bit unsigned integer type
Definition: types/types.hpp:47
uint16_t uint16
16Bit unsigned integer type
Definition: types/types.hpp:49
uint64_t uint64
64Bit unsigned integer type
Definition: types/types.hpp:53
int64_t int64
64Bit signed integer type
Definition: types/types.hpp:52
double float64
64Bit IEEE floating point type
Definition: types/types.hpp:56
int16_t int16
16Bit signed integer type
Definition: types/types.hpp:48
boost::mpl::contains< map_element, TT > c
type to check if TT is in the map
Definition: checked_convertible.hpp:136
int8_t int8
8Bit signed integer type
Definition: types/types.hpp:46
type erasure for POD data
Definition: value.hpp:46
uint32_t uint32
32Bit unsigned integer type
Definition: types/types.hpp:51