3 // author: Walter Brown
5 // ----------------------------------------------------------------------
12 /// internal namespace
17 // ----------------------------------------------------------------------
20 /// undefined and therefore non-arithmetic
24 static bool const value = false;
27 /// character is arithmetic
29 struct is_arithmetic<char>
30 { static bool const value = true; };
32 /// unsigned character is arithmetic
34 struct is_arithmetic<unsigned char>
35 { static bool const value = true; };
37 /// signed character is arithmetic
39 struct is_arithmetic<signed char>
40 { static bool const value = true; };
42 /// short is arithmetic
44 struct is_arithmetic<short>
45 { static bool const value = true; };
47 /// unsigned short is arithmetic
49 struct is_arithmetic<unsigned short>
50 { static bool const value = true; };
54 struct is_arithmetic<int>
55 { static bool const value = true; };
57 /// unsigned int is arithmetic
59 struct is_arithmetic<unsigned int>
60 { static bool const value = true; };
62 /// long is arithmetic
64 struct is_arithmetic<long>
65 { static bool const value = true; };
67 /// unsigned long is arithmetic
69 struct is_arithmetic<unsigned long>
70 { static bool const value = true; };
72 /// float is arithmetic
74 struct is_arithmetic<float>
75 { static bool const value = true; };
77 /// double is arithmetic
79 struct is_arithmetic<double>
80 { static bool const value = true; };
82 /// long double is arithmetic
84 struct is_arithmetic<long double>
85 { static bool const value = true; };
88 // ----------------------------------------------------------------------
94 #endif // IS_ARITHMETIC