00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HxClassName_h
00013 #define HxClassName_h
00014
00015 #include "HxString.h"
00016
00017 template <class Type>
00018 struct HxClassName
00019 {
00020 operator HxString();
00021 };
00022
00023 template <class Type>
00024 inline
00025 HxClassName<Type>::operator HxString()
00026 {
00027 return Type::className();
00028 }
00029
00030 template<>
00031 struct HxClassName<short> {
00032 operator HxString() {
00033 HxString name("short");
00034 return name;
00035 }
00036 };
00037
00038 template<>
00039 struct HxClassName<int> {
00040 operator HxString() {
00041 HxString name("int");
00042 return name;
00043 }
00044 };
00045
00046 template<>
00047 struct HxClassName<float> {
00048 operator HxString() {
00049 HxString name("float");
00050 return name;
00051 }
00052 };
00053
00054 template<>
00055 struct HxClassName<double> {
00056 operator HxString() {
00057 HxString name("double");
00058 return name;
00059 }
00060 };
00061
00062 #endif