Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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