OSDN Git Service

unixtime.hpp
[roast/roast.git] / roast / include / roast / lexical / variable / numeric.hpp
1 //      Roast+ License
2 /*
3 */
4 #ifndef __SFJP_ROAST__lexical__variable__numeric_HPP__
5 #define __SFJP_ROAST__lexical__variable__numeric_HPP__
6
7 namespace roast
8 {
9         namespace lexical
10         {
11                 namespace variable
12                 {
13                         //////////////////////////////////////////////////////
14                         
15                         template <typename T>
16                         struct numeric_ : public _basic_type<T>
17                         {
18                                 numeric_():_basic_type<T>(0){}
19                                 numeric_(T v):_basic_type<T>(v){}
20                         };
21                         
22                         /////
23                         struct char_ : public numeric_<char>
24                         {
25                                 char_(){}
26                                 char_(char v):numeric_<char>(v){}
27                         };
28
29                         struct short_ : public numeric_<short>
30                         {
31                                 short_(){}
32                                 short_(short v):numeric_<short>(v){}
33                         };
34
35                         struct int_ : public numeric_<int>
36                         {
37                                 int_(){}
38                                 int_(int v):numeric_<int>(v){}
39                         };
40
41                         struct long_ : public numeric_<long>
42                         {
43                                 long_(){}
44                                 long_(long v):numeric_<long>(v){}
45                         };
46                         
47                         ///////
48                         
49                         struct uchar_ : public numeric_<unsigned char>
50                         {
51                                 uchar_(){}
52                                 uchar_(unsigned char v):numeric_<unsigned char>(v){}
53                         };
54
55                         struct ushort_ : public numeric_<unsigned short>
56                         {
57                                 ushort_(){}
58                                 ushort_(unsigned short v):numeric_<unsigned short>(v){}
59                         };
60
61                         struct uint_ : public numeric_<unsigned int>
62                         {
63                                 uint_(){}
64                                 uint_(unsigned int v):numeric_<unsigned int>(v){}
65                         };
66
67                         struct ulong_ : public numeric_<unsigned long>
68                         {
69                                 ulong_(){}
70                                 ulong_(unsigned long v):numeric_<unsigned long>(v){}
71                         };
72
73                         //////////////////////////////////////////////////////
74                 }
75         }
76 }
77
78 #endif//__SFJP_ROAST__lexical__variable__numeric_HPP__