rtti.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:1k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: rtti.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 19:41:37  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.8
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #include <ncbi_pch.hpp>
  10. #include <corelib/ncbistd.hpp>
  11. #include <typeinfo>
  12. #include <string>
  13. using namespace std;
  14. int initRTTI(void);
  15. int initRTTI(void)
  16. {
  17.     int r = 0;
  18.     r += typeid(void).name()[0];
  19.     r += typeid(void*).name()[0];
  20.     r += typeid(const void*).name()[0];
  21.     r += typeid(bool).name()[0];
  22.     r += typeid(int).name()[0];
  23.     r += typeid(unsigned).name()[0];
  24.     r += typeid(int*).name()[0];
  25.     r += typeid(const int*).name()[0];
  26.     r += typeid(short).name()[0];
  27.     r += typeid(unsigned short).name()[0];
  28.     r += typeid(long).name()[0];
  29.     r += typeid(unsigned long).name()[0];
  30.     r += typeid(char).name()[0];
  31.     r += typeid(unsigned char).name()[0];
  32. #if SIZEOF_LONG_LONG != 0
  33.     r += typeid(signed long long).name()[0];
  34.     r += typeid(unsigned long long).name()[0];
  35. #endif
  36.     r += typeid(char*).name()[0];
  37.     r += typeid(unsigned char*).name()[0];
  38.     r += typeid(const char*).name()[0];
  39.     r += typeid(const unsigned char*).name()[0];
  40.     r += typeid(float).name()[0];
  41.     r += typeid(double).name()[0];
  42.     return r;
  43. }