Hikyuu
Null.h
浏览该文件的文档.
1 /*
2  * Null.h
3  *
4  * Created on: 2012-8-23
5  * Author: fasiondog
6  */
7 
8 #ifndef NULL_H_
9 #define NULL_H_
10 
11 #include <boost/limits.hpp>
12 #include <boost/type_traits.hpp>
13 
14 namespace hku {
15 
21 template <typename T>
22 class Null {
23 public:
24  Null() {}
25  operator T() const {
26  return T();
27  }
28 };
29 
34 template <>
35 class Null<int> {
36 public:
37  Null() {}
38  operator int() {
39  return (std::numeric_limits<int>::max)();
40  }
41 };
42 
47 template <>
48 class Null<unsigned int> {
49 public:
50  Null() {}
51  operator unsigned int() {
52  return (std::numeric_limits<unsigned int>::max)();
53  }
54 };
55 
60 template <>
61 class Null<long long> {
62 public:
63  Null() {}
64  operator long long() {
65  return (std::numeric_limits<long long>::max)();
66  }
67 };
68 
73 template <>
74 class Null<unsigned long long> {
75 public:
76  Null() {}
77  operator unsigned long long() {
78  return (std::numeric_limits<unsigned long long>::max)();
79  }
80 };
81 
82 #if !defined(BOOST_MSVC)
83 
87 template <>
88 class Null<size_t> {
89 public:
90  Null() {}
91  operator unsigned long long() {
92  return (std::numeric_limits<size_t>::max)();
93  }
94 };
95 #endif
96 
101 template <>
102 class Null<double> {
103 public:
104  Null() {}
105  operator double() {
106  return (std::numeric_limits<double>::max)();
107  }
108 };
109 
110 } /* namesapce hku */
111 
112 #endif /* NULL_H_ */
Null()
Definition: Null.h:37
提供指定给定类型的Null值
Definition: Null.h:22
Null()
Definition: Null.h:50
Null()
Definition: Null.h:76
Null()
Definition: Null.h:24
Null()
Definition: Null.h:63
Null()
Definition: Null.h:90
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
Null()
Definition: Null.h:104