internal/builtin_typeof.h

00001 template<int N> struct Enumerate{char i[N];};
00002 Enumerate<0> enumerate(const unsigned char&);
00003 Enumerate<1> enumerate(const char&);
00004 Enumerate<2> enumerate(const int&);
00005 Enumerate<3> enumerate(const unsigned int&);
00006 Enumerate<4> enumerate(const float&);
00007 Enumerate<5> enumerate(const double&);
00008 Enumerate<6> enumerate(const std::complex<float>&);
00009 Enumerate<7> enumerate(const std::complex<double>&);
00010 template<int N> struct DeEnumerate{};
00011 template<> struct DeEnumerate<0>{typedef unsigned char type;};
00012 template<> struct DeEnumerate<1>{typedef char type;};
00013 template<> struct DeEnumerate<2>{typedef int type;};
00014 template<> struct DeEnumerate<3>{typedef unsigned int type;};
00015 template<> struct DeEnumerate<4>{typedef float type;};
00016 template<> struct DeEnumerate<5>{typedef double type;};
00017 template<> struct DeEnumerate<6>{typedef std::complex<float> type;};
00018 template<> struct DeEnumerate<7>{typedef std::complex<double> type;};

Generated on Thu May 7 20:28:40 2009 for TooN by  doxygen 1.5.3