IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BinaryOArchive.h
1 // BinaryOArchive.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKSERIALIZATION_BINARYOARCHIVE_H__
16 #define __IPSDKSERIALIZATION_BINARYOARCHIVE_H__
17 
18 #include <IPSDKSerialization/Archive/BaseOArchive.h>
19 #include <iosfwd>
20 
21 namespace ipsdk {
22 
25 
27 {
28 public:
31  BinaryOArchive(std::ostream& stream);
32  ~BinaryOArchive();
34 
35 // methods
36 public:
38  std::ostream& getStream() const;
39 
44  void archiveHeader();
45  void archiveFooter();
47 
52  void writeBaseType(const SerializationOItem<ipBool>& item);
53  void writeBaseType(const SerializationOItem<ipInt8>& item);
54  void writeBaseType(const SerializationOItem<ipUInt8>& item);
55  void writeBaseType(const SerializationOItem<ipInt16>& item);
56  void writeBaseType(const SerializationOItem<ipUInt16>& item);
57  void writeBaseType(const SerializationOItem<ipInt32>& item);
58  void writeBaseType(const SerializationOItem<ipUInt32>& item);
59  void writeBaseType(const SerializationOItem<ipInt64>& item);
60  void writeBaseType(const SerializationOItem<ipUInt64>& item);
61  void writeBaseType(const SerializationOItem<ipReal32>& item);
62  void writeBaseType(const SerializationOItem<ipReal64>& item);
63  void writeBaseType(const SerializationOItem<std::string>& item);
65 
71  void write(const void* ptr, ipUInt_t size);
72 
73 protected:
75  void writeBinary(const void* ptr, ipUInt_t size);
76 
77 // attributes
78 protected:
80  std::ostream& _stream;
81 };
82 
85 
86 } // end of namespace ipsdk
87 
88 #endif // __IPSDKSERIALIZATION_BINARYOARCHIVE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Class for output part of binary serialisation.
Definition: BinaryOArchive.h:26
Item used to format outputs during serialization.
Definition: DataItemNodeHdrMacrosDetails.h:37
Base class for serialization output archives.
Definition: BaseOArchive.h:35
std::ostream & _stream
underlying serialization stream
Definition: BinaryOArchive.h:80
#define IPSDKSERIALIZATION_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKSerializationExports.h:27