$search
00001 00008 /***************************************************************************** 00009 ** Ifdefs 00010 *****************************************************************************/ 00011 00012 #ifndef ECL_MPL_CONVERTERS_HPP_ 00013 #define ECL_MPL_CONVERTERS_HPP_ 00014 00015 /***************************************************************************** 00016 ** Namespaces 00017 *****************************************************************************/ 00018 00019 namespace ecl { 00020 00021 /***************************************************************************** 00022 ** Signed to Unsigned Template MetaConversions 00023 *****************************************************************************/ 00024 00026 template <typename Signed> struct Unsigned {}; 00027 00029 template <> struct Unsigned<char> { typedef unsigned char type; }; 00031 template <> struct Unsigned<short> { typedef unsigned short type; }; 00033 template <> struct Unsigned<int> { typedef unsigned int type; }; 00035 template <> struct Unsigned<long> { typedef unsigned long type; }; 00037 template <> struct Unsigned<long long> { typedef unsigned long long type; }; 00038 00040 template <> struct Unsigned<unsigned char> { typedef unsigned char type; }; 00042 template <> struct Unsigned<unsigned short> { typedef unsigned short type; }; 00044 template <> struct Unsigned<unsigned int> { typedef unsigned int type; }; 00046 template <> struct Unsigned<unsigned long> { typedef unsigned long type; }; 00048 template <> struct Unsigned<unsigned long long> { typedef unsigned long long type; }; 00049 00050 } // namespace ecl 00051 00052 #endif /* ECL_MPL_CONVERTERS_HPP_ */