FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SerializerExample2.h
Go to the documentation of this file.
1 #ifndef BASICSERIALIZEREXAMPLE2_H
2 #define BASICSERIALIZEREXAMPLE2_H
3 
4 #include <FairMQMessage.h>
5 
6 namespace boost {
7 namespace serialization {
8 class access;
9 }
10 } // namespace boost
11 
12 struct Ex2Header
13 {
14  int EventNumber = 0;
15  int DetectorId = 0;
16 };
17 
18 namespace boost {
19 namespace serialization {
20 
21 template<class Archive>
22 void serialize(Archive& ar, Ex2Header& header, const unsigned int /*version*/)
23 {
24  ar& header.EventNumber;
25  ar& header.DetectorId;
26 }
27 
28 } // namespace serialization
29 } // namespace boost
30 
32 {
33  void Serialize(FairMQMessage& msg, Ex2Header* header)
34  {
35  msg.Rebuild(header, sizeof(header), [](void* ptr, void* /*hint*/) { delete static_cast<Ex2Header*>(ptr); });
36  }
37 
38  void Deserialize(FairMQMessage& msg, Ex2Header*& header) { header = static_cast<Ex2Header*>(msg.GetData()); }
39 };
40 
41 #endif
DetectorId
void serialize(Archive &ar, Ex2Header &header, const unsigned int)
void Serialize(FairMQMessage &msg, Ex2Header *header)
void Deserialize(FairMQMessage &msg, Ex2Header *&header)