Gamedev Framework (gf)  0.8.0
A C++14 framework for 2D games
Public Member Functions | Related Functions | List of all members
gf::Serializer Class Reference

A serializer to a binary file. More...

#include <gf/Serialization.h>

Public Member Functions

 Serializer (const Path &filename)
 Constructor. More...
 
void writeNil ()
 Write a null object. More...
 
void writeBoolean (bool data)
 Write a boolean object. More...
 
void writeSigned (int64_t data)
 Write a signed integer object. More...
 
void writeUnsigned (uint64_t data)
 Write an unsigned object. More...
 
void writeFloat (float data)
 Write a single precison float object. More...
 
void writeDouble (double data)
 Write a double precison float object. More...
 
void writeString (const char *data, uint32_t size)
 Write a string object. More...
 
void writeBinary (const uint8_t *data, uint32_t size)
 Write a binary object. More...
 
void writeArrayHeader (uint32_t size)
 Write an array header. More...
 
void writeMapHeader (uint32_t size)
 Write a map header. More...
 
void writeExtension (int8_t type, const uint8_t *data, uint32_t size)
 Write an extension object. More...
 

Related Functions

(Note that these are not member functions.)

Serializeroperator| (Serializer &ar, SerialArrayHeader header)
 Serialize an array header with its size. More...
 
Serializeroperator| (Serializer &ar, SerialMapHeader header)
 Serialize a map header with its size. More...
 
Serializeroperator| (Serializer &ar, std::nullptr_t)
 Serialize a null object. More...
 
Serializeroperator| (Serializer &ar, bool data)
 Serialize a boolean object. More...
 
Serializeroperator| (Serializer &ar, uint8_t data)
 Serialize an unsigned integer object. More...
 
Serializeroperator| (Serializer &ar, uint16_t data)
 Serialize an unsigned integer object. More...
 
Serializeroperator| (Serializer &ar, uint32_t data)
 Serialize an unsigned integer object. More...
 
Serializeroperator| (Serializer &ar, uint64_t data)
 Serialize an unsigned integer object. More...
 
Serializeroperator| (Serializer &ar, int8_t data)
 Serialize a signed integer object. More...
 
Serializeroperator| (Serializer &ar, int16_t data)
 Serialize a signed integer object. More...
 
Serializeroperator| (Serializer &ar, int32_t data)
 Serialize a signed integer object. More...
 
Serializeroperator| (Serializer &ar, int64_t data)
 Serialize a signed integer object. More...
 
Serializeroperator| (Serializer &ar, float data)
 Serialize a single precision float object. More...
 
Serializeroperator| (Serializer &ar, double data)
 Serialize a double precision float object. More...
 
Serializeroperator| (Serializer &ar, const char *str)
 Serialize a string object. More...
 
Serializeroperator| (Serializer &ar, const std::string &str)
 Serialize a string object. More...
 
template<std::size_t N>
Serializeroperator| (Serializer &ar, const uint8_t(&bin)[N])
 Serialize a binary object. More...
 
Serializeroperator| (Serializer &ar, const std::vector< uint8_t > &bin)
 Serialize a binary object. More...
 
template<std::size_t N>
Serializeroperator| (Serializer &ar, const std::array< uint8_t, N > &bin)
 Serialize a binary object. More...
 
template<typename T , std::size_t N>
Serializeroperator| (Serializer &ar, const T(&array)[N])
 Serialize an array object. More...
 
template<typename T >
Serializeroperator| (Serializer &ar, const std::vector< T > &array)
 Serialize an array object. More...
 
template<typename T , std::size_t N>
Serializeroperator| (Serializer &ar, const std::array< T, N > &array)
 Serialize an array object. More...
 
template<typename K , typename V >
Serializeroperator| (Serializer &ar, const std::map< K, V > &map)
 Serialize a map object. More...
 
template<typename K , typename V >
Serializeroperator| (Serializer &ar, const std::unordered_map< K, V > &map)
 Serialize a map object. More...
 
Serializeroperator| (Serializer &ar, const DataObject &object)
 Serialize a data object. More...
 

Detailed Description

A serializer to a binary file.

The format used to serialize is MessagePack.

You should not use the methods in this class. Prefer using and overloading operator |.

See also
gf::Deserializer

Constructor & Destructor Documentation

◆ Serializer()

gf::Serializer::Serializer ( const Path filename)

Constructor.

Parameters
filenameThe name of the binary file

Member Function Documentation

◆ writeArrayHeader()

void gf::Serializer::writeArrayHeader ( uint32_t  size)

Write an array header.

◆ writeBinary()

void gf::Serializer::writeBinary ( const uint8_t *  data,
uint32_t  size 
)

Write a binary object.

◆ writeBoolean()

void gf::Serializer::writeBoolean ( bool  data)

Write a boolean object.

◆ writeDouble()

void gf::Serializer::writeDouble ( double  data)

Write a double precison float object.

◆ writeExtension()

void gf::Serializer::writeExtension ( int8_t  type,
const uint8_t *  data,
uint32_t  size 
)

Write an extension object.

◆ writeFloat()

void gf::Serializer::writeFloat ( float  data)

Write a single precison float object.

◆ writeMapHeader()

void gf::Serializer::writeMapHeader ( uint32_t  size)

Write a map header.

◆ writeNil()

void gf::Serializer::writeNil ( )

Write a null object.

◆ writeSigned()

void gf::Serializer::writeSigned ( int64_t  data)

Write a signed integer object.

◆ writeString()

void gf::Serializer::writeString ( const char *  data,
uint32_t  size 
)

Write a string object.

◆ writeUnsigned()

void gf::Serializer::writeUnsigned ( uint64_t  data)

Write an unsigned object.

Friends And Related Function Documentation

◆ operator|() [1/25]

Serializer & operator| ( Serializer ar,
SerialArrayHeader  header 
)
related

Serialize an array header with its size.

◆ operator|() [2/25]

Serializer & operator| ( Serializer ar,
std::nullptr_t   
)
related

Serialize a null object.

◆ operator|() [3/25]

Serializer & operator| ( Serializer ar,
bool  data 
)
related

Serialize a boolean object.

◆ operator|() [4/25]

Serializer & operator| ( Serializer ar,
uint8_t  data 
)
related

Serialize an unsigned integer object.

◆ operator|() [5/25]

Serializer & operator| ( Serializer ar,
uint16_t  data 
)
related

Serialize an unsigned integer object.

◆ operator|() [6/25]

Serializer & operator| ( Serializer ar,
SerialMapHeader  header 
)
related

Serialize a map header with its size.

◆ operator|() [7/25]

Serializer & operator| ( Serializer ar,
uint32_t  data 
)
related

Serialize an unsigned integer object.

◆ operator|() [8/25]

Serializer & operator| ( Serializer ar,
uint64_t  data 
)
related

Serialize an unsigned integer object.

◆ operator|() [9/25]

Serializer & operator| ( Serializer ar,
int8_t  data 
)
related

Serialize a signed integer object.

◆ operator|() [10/25]

Serializer & operator| ( Serializer ar,
int16_t  data 
)
related

Serialize a signed integer object.

◆ operator|() [11/25]

Serializer & operator| ( Serializer ar,
int32_t  data 
)
related

Serialize a signed integer object.

◆ operator|() [12/25]

Serializer & operator| ( Serializer ar,
int64_t  data 
)
related

Serialize a signed integer object.

◆ operator|() [13/25]

Serializer & operator| ( Serializer ar,
float  data 
)
related

Serialize a single precision float object.

◆ operator|() [14/25]

Serializer & operator| ( Serializer ar,
double  data 
)
related

Serialize a double precision float object.

◆ operator|() [15/25]

Serializer & operator| ( Serializer ar,
const char *  str 
)
related

Serialize a string object.

◆ operator|() [16/25]

Serializer & operator| ( Serializer ar,
const std::string &  str 
)
related

Serialize a string object.

◆ operator|() [17/25]

template<std::size_t N>
Serializer & operator| ( Serializer ar,
const uint8_t(&)  bin[N] 
)
related

Serialize a binary object.

◆ operator|() [18/25]

Serializer & operator| ( Serializer ar,
const std::vector< uint8_t > &  bin 
)
related

Serialize a binary object.

◆ operator|() [19/25]

template<std::size_t N>
Serializer & operator| ( Serializer ar,
const std::array< uint8_t, N > &  bin 
)
related

Serialize a binary object.

◆ operator|() [20/25]

template<typename T , std::size_t N>
Serializer & operator| ( Serializer ar,
const T(&)  array[N] 
)
related

Serialize an array object.

◆ operator|() [21/25]

template<typename T >
Serializer & operator| ( Serializer ar,
const std::vector< T > &  array 
)
related

Serialize an array object.

◆ operator|() [22/25]

template<typename T , std::size_t N>
Serializer & operator| ( Serializer ar,
const std::array< T, N > &  array 
)
related

Serialize an array object.

◆ operator|() [23/25]

template<typename K , typename V >
Serializer & operator| ( Serializer ar,
const std::map< K, V > &  map 
)
related

Serialize a map object.

◆ operator|() [24/25]

template<typename K , typename V >
Serializer & operator| ( Serializer ar,
const std::unordered_map< K, V > &  map 
)
related

Serialize a map object.

◆ operator|() [25/25]

Serializer & operator| ( Serializer ar,
const DataObject object 
)
related

Serialize a data object.