00001 // MCF_Code.h 00002 ////////////////////////////////////////////////////////////////////// 00003 // (c) Copyright 2002 Brown Deer Technology, LLC. 00004 // All rights reserved. 00005 ////////////////////////////////////////////////////////////////////// 00006 00007 #ifndef MCFCODE_H 00008 #define MCFCODE_H 00009 00010 #define MCF_CODE_UNKNOWN 0x00 00011 #define MCF_CODE_BOOL 0x01 00012 #define MCF_CODE_CHAR 0x02 00013 #define MCF_CODE_INT 0x03 00014 #define MCF_CODE_FLOAT 0x04 00015 #define MCF_CODE_DOUBLE 0x05 00016 00017 template<typename Data_t> 00018 class DataType_Code 00019 { public: static const int eval() { return MCF_CODE_UNKNOWN; } }; 00020 00021 template<> 00022 class DataType_Code<bool> 00023 { public: static const int eval() { return MCF_CODE_BOOL; } }; 00024 00025 template<> 00026 class DataType_Code<char> 00027 { public: static const int eval() { return MCF_CODE_CHAR; } }; 00028 00029 template<> 00030 class DataType_Code<int> 00031 { public: static const int eval() { return MCF_CODE_INT; } }; 00032 00033 template<> 00034 class DataType_Code<float> 00035 { public: static const int eval() { return MCF_CODE_FLOAT; } }; 00036 00037 template<> 00038 class DataType_Code<double> 00039 { public: static const int eval() { return MCF_CODE_DOUBLE; } }; 00040 00041 #endif 00042
1.3.6