Hikyuu
TimeLineRecord_serialization.h
浏览该文件的文档.
1 /*
2  * TimeLineRecord_serialization.h
3  *
4  * Created on: 2019-2-8
5  * Author: fasiondog
6  */
7 
8 #ifndef TIMELINERECORD_SERIALIZATION_H_
9 #define TIMELINERECORD_SERIALIZATION_H_
10 
11 #include "../config.h"
12 #include "../TimeLineRecord.h"
13 
14 #if HKU_SUPPORT_SERIALIZATION
15 #include <boost/serialization/nvp.hpp>
16 #include <boost/serialization/split_free.hpp>
17 #include <boost/serialization/vector.hpp>
18 
19 namespace boost {
20 namespace serialization {
21 template<class Archive>
22 void save(Archive & ar, const hku::TimeLineRecord& record, unsigned int version) {
23  hku::hku_uint64 datetime = record.datetime.number();
24  ar & BOOST_SERIALIZATION_NVP(datetime);
25  ar & make_nvp("price", record.price);
26  ar & make_nvp("vol", record.vol);
27 }
28 
29 template<class Archive>
30 void load(Archive & ar, hku::TimeLineRecord& record, unsigned int version) {
31  hku::hku_uint64 datetime;
32  ar & BOOST_SERIALIZATION_NVP(datetime);
33  record.datetime = hku::Datetime(datetime);
34  ar & make_nvp("price", record.price);
35  ar & make_nvp("vol", record.vol);
36 }
37 }} /* namespace boost::serailization */
38 
39 BOOST_SERIALIZATION_SPLIT_FREE(hku::TimeLineRecord)
40 
41 #endif /* HKU_SUPPORT_SERIALIZATION */
42 
43 #endif /* TIMELINERECORD_SERIALIZATION_H_ */
unsigned long long number() const
返回如YYYYMMDDhhmmss格式的数字,方便比较操作, Null<Datetime>()对应的 number 为 Null<unsigned long lo...
Definition: Datetime.cpp:71
Definition: Block_serialization.h:17
日期类型
Definition: Datetime.h:33
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
void save(Archive &ar, const hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:20
price_t vol
Definition: TimeLineRecord.h:23
price_t price
Definition: TimeLineRecord.h:22
unsigned long long hku_uint64
Definition: DataType.h:46
Datetime datetime
Definition: TimeLineRecord.h:21
分时线记录
Definition: TimeLineRecord.h:19