#ifndef __TYPE_UTIL_HPP__ #define __TYPE_UTIL_HPP__ #include namespace xmlioserver { namespace tree { class CDomain ; class CDomainGroup; class CField; class CFieldGroup; class CGrid; class CGridGroup; class CAxis; class CAxisGroup; class CFile; class CFileGroup; class CContext; } /* typedef tree::CDomain CDomain; typedef tree::CDomainGroup CDomainGroup; typedef tree::CField CField; typedef tree::CFieldGroup CFieldGroup; typedef tree::CGrid CGrid; typedef tree::CGridGroup CGridGroup; typedef tree::CAxis CAxis; typedef tree::CAxisGroup CAxisGroup; typedef tree::CFile CFile; typedef tree::CFileGroup CFileGroup; typedef tree::CContext CContext; */ template inline string getStrType(void) ; #define macro(T) template <> inline string getStrType(void) { return std::string(#T) ; } macro(short) macro(unsigned short) macro(int) macro(unsigned int) macro(long) macro(unsigned long) macro(float) macro(double) macro(long double) macro(char) macro(unsigned char) macro(wchar_t) macro(bool) #undef macro #define macro(T) template <> inline string getStrType(void) { return std::string(#T) ; } macro(CDomain) macro(CDomainGroup) macro(CField) macro(CFieldGroup) macro(CGrid) macro(CGridGroup) macro(CAxis) macro(CAxisGroup) macro(CFile) macro(CFileGroup) macro(CContext) #undef macro } #endif