Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:44:52

0001 #ifndef GENERS_IOISNUMBER_HH_
0002 #define GENERS_IOISNUMBER_HH_
0003 
0004 namespace gs {
0005   template <class T>
0006   struct IOIsNumber {
0007     enum { value = 0 };
0008   };
0009 }  // namespace gs
0010 
0011 #define gs_declare_type_as_number(T) /**/ \
0012   namespace gs {                          \
0013     template <>                           \
0014     struct IOIsNumber<T> {                \
0015       enum { value = 1 };                 \
0016     };                                    \
0017     template <>                           \
0018     struct IOIsNumber<T const> {          \
0019       enum { value = 1 };                 \
0020     };                                    \
0021     template <>                           \
0022     struct IOIsNumber<T volatile> {       \
0023       enum { value = 1 };                 \
0024     };                                    \
0025     template <>                           \
0026     struct IOIsNumber<T const volatile> { \
0027       enum { value = 1 };                 \
0028     };                                    \
0029   }
0030 
0031 gs_declare_type_as_number(float) gs_declare_type_as_number(double) gs_declare_type_as_number(long double)
0032     gs_declare_type_as_number(int) gs_declare_type_as_number(unsigned) gs_declare_type_as_number(long)
0033         gs_declare_type_as_number(long long) gs_declare_type_as_number(unsigned long)
0034             gs_declare_type_as_number(unsigned long long) gs_declare_type_as_number(short)
0035                 gs_declare_type_as_number(unsigned short) gs_declare_type_as_number(char)
0036                     gs_declare_type_as_number(unsigned char) gs_declare_type_as_number(signed char)
0037 
0038 #endif  // GENERS_IOISNUMBER_HH_