21 #ifndef GF_SERIALIZATION_H 22 #define GF_SERIALIZATION_H 27 #include "BinaryFile.h" 28 #include "Portability.h" 31 #ifndef DOXYGEN_SHOULD_SKIP_THIS 64 void writeBoolean(
bool data);
69 void writeSigned(int64_t data);
74 void writeUnsigned(uint64_t data);
79 void writeFloat(
float data);
84 void writeDouble(
double data);
89 void writeString(
const char *data, uint32_t size);
94 void writeBinary(
const uint8_t *data, uint32_t size);
99 void writeArrayHeader(uint32_t size);
104 void writeMapHeader(uint32_t size);
109 void writeExtension(int8_t type,
const uint8_t *data, uint32_t size);
112 void writeBigEndian64(uint64_t data);
113 void writeBigEndian32(uint32_t data);
114 void writeBigEndian16(uint16_t data);
151 bool readBoolean(
bool& data);
158 bool readSigned(int64_t& data);
165 bool readUnsigned(uint64_t& data);
172 bool readFloat(
float& data);
179 bool readDouble(
double& data);
186 bool readStringHeader(uint32_t& size);
193 bool readString(
char *data, uint32_t size);
200 bool readBinaryHeader(uint32_t& size);
207 bool readBinary(uint8_t *data, uint32_t size);
214 bool readArrayHeader(uint32_t& size);
221 bool readMapHeader(uint32_t& size);
228 bool readExtensionHeader(int8_t& type, uint32_t& size);
235 bool readExtension(uint8_t *data, uint32_t size);
246 bool readRawInt8(uint64_t& raw);
247 bool readRawInt16(uint64_t& raw);
248 bool readRawInt32(uint64_t& raw);
249 bool readRawInt64(uint64_t& raw);
251 bool readSize8(uint32_t& size);
252 bool readSize16(uint32_t& size);
253 bool readSize32(uint32_t& size);
257 bool readDataObjectString(
DataObject&
object);
258 bool readDataObjectBinary(
DataObject&
object);
259 bool readDataObjectExtension(
DataObject&
object);
262 bool readBigEndian64(uint64_t& data);
263 bool readBigEndian32(uint32_t& data);
264 bool readBigEndian16(uint16_t& data);
267 uint8_t getByte()
const;
277 #ifndef DOXYGEN_SHOULD_SKIP_THIS 282 #endif // GF_SERIALIZATION_H A deserializer from a binary file.
Definition: Serialization.h:130
A serializer to a binary file.
Definition: Serialization.h:47
The namespace for gf classes.
Definition: Action.h:34
A binary file that can be read or written.
Definition: BinaryFile.h:41
boost::filesystem::path Path
A path in the filesystem.
Definition: Path.h:41
A data object.
Definition: DataObject.h:200