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

A deserializer from a binary file. More...

#include <gf/Serialization.h>

Public Member Functions

 Deserializer (const Path &filename)
 Constructor. More...
 
bool readNil ()
 Read a null object. More...
 
bool readBoolean (bool &data)
 Read a boolean object. More...
 
bool readSigned (int64_t &data)
 Read a signed integer object. More...
 
bool readUnsigned (uint64_t &data)
 Read an unsigned integer object. More...
 
bool readFloat (float &data)
 Read a single precison float object. More...
 
bool readDouble (double &data)
 Read a double precison float object. More...
 
bool readStringHeader (uint32_t &size)
 Read a string header. More...
 
bool readString (char *data, uint32_t size)
 Read a string body. More...
 
bool readBinaryHeader (uint32_t &size)
 Read a binary header. More...
 
bool readBinary (uint8_t *data, uint32_t size)
 Read a binary body. More...
 
bool readArrayHeader (uint32_t &size)
 Read an array header. More...
 
bool readMapHeader (uint32_t &size)
 Read a map header. More...
 
bool readExtensionHeader (int8_t &type, uint32_t &size)
 Read an extension header. More...
 
bool readExtension (uint8_t *data, uint32_t size)
 Read an extension body. More...
 
bool readDataObject (DataObject &object)
 Read a data object. More...
 

Related Functions

(Note that these are not member functions.)

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

Detailed Description

A deserializer from a binary file.

The format used to deserialize is MessagePack.

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

See also
gf::Serializer

Constructor & Destructor Documentation

◆ Deserializer()

gf::Deserializer::Deserializer ( const Path filename)

Constructor.

Parameters
filenameThe name of the binary file

Member Function Documentation

◆ readArrayHeader()

bool gf::Deserializer::readArrayHeader ( uint32_t &  size)

Read an array header.

Returns
True if there was no error while reading

◆ readBinary()

bool gf::Deserializer::readBinary ( uint8_t *  data,
uint32_t  size 
)

Read a binary body.

Returns
True if there was no error while reading

◆ readBinaryHeader()

bool gf::Deserializer::readBinaryHeader ( uint32_t &  size)

Read a binary header.

Returns
True if there was no error while reading

◆ readBoolean()

bool gf::Deserializer::readBoolean ( bool &  data)

Read a boolean object.

Returns
True if there was no error while reading

◆ readDataObject()

bool gf::Deserializer::readDataObject ( DataObject object)

Read a data object.

Returns
True if there was no error while reading

◆ readDouble()

bool gf::Deserializer::readDouble ( double &  data)

Read a double precison float object.

Returns
True if there was no error while reading

◆ readExtension()

bool gf::Deserializer::readExtension ( uint8_t *  data,
uint32_t  size 
)

Read an extension body.

Returns
True if there was no error while reading

◆ readExtensionHeader()

bool gf::Deserializer::readExtensionHeader ( int8_t &  type,
uint32_t &  size 
)

Read an extension header.

Returns
True if there was no error while reading

◆ readFloat()

bool gf::Deserializer::readFloat ( float &  data)

Read a single precison float object.

Returns
True if there was no error while reading

◆ readMapHeader()

bool gf::Deserializer::readMapHeader ( uint32_t &  size)

Read a map header.

Returns
True if there was no error while reading

◆ readNil()

bool gf::Deserializer::readNil ( )

Read a null object.

Returns
True if there was no error while reading

◆ readSigned()

bool gf::Deserializer::readSigned ( int64_t &  data)

Read a signed integer object.

Returns
True if there was no error while reading

◆ readString()

bool gf::Deserializer::readString ( char *  data,
uint32_t  size 
)

Read a string body.

Returns
True if there was no error while reading

◆ readStringHeader()

bool gf::Deserializer::readStringHeader ( uint32_t &  size)

Read a string header.

Returns
True if there was no error while reading

◆ readUnsigned()

bool gf::Deserializer::readUnsigned ( uint64_t &  data)

Read an unsigned integer object.

Returns
True if there was no error while reading

Friends And Related Function Documentation

◆ operator|() [1/25]

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

Deserialize an array header.

◆ operator|() [2/25]

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

Deserialize a map header.

◆ operator|() [3/25]

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

Deserialize a null object.

◆ operator|() [4/25]

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

Deserialize a bool object.

◆ operator|() [5/25]

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

Deserialize an unsigned integer object.

◆ operator|() [6/25]

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

Deserialize an unsigned integer object.

◆ operator|() [7/25]

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

Deserialize an unsigned integer object.

◆ operator|() [8/25]

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

Deserialize an unsigned integer object.

◆ operator|() [9/25]

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

Deserialize a signed integer object.

◆ operator|() [10/25]

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

Deserialize a signed integer object.

◆ operator|() [11/25]

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

Deserialize a signed integer object.

◆ operator|() [12/25]

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

Deserialize a signed integer object.

◆ operator|() [13/25]

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

Deserialize a single precision float object.

◆ operator|() [14/25]

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

Deserialize a double precision float object.

◆ operator|() [15/25]

Deserializer & operator| ( Deserializer ar,
BufferRef< char >  str 
)
related

Deserialize a string object.

◆ operator|() [16/25]

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

Deserialize a string object.

◆ operator|() [17/25]

Deserializer & operator| ( Deserializer ar,
BufferRef< uint8_t >  bin 
)
related

Deserialize a binary object.

◆ operator|() [18/25]

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

Deserialize a binary object.

◆ operator|() [19/25]

template<typename T >
Deserializer & operator| ( Deserializer ar,
BufferRef< T array 
)
related

Deserialize an array object.

◆ operator|() [20/25]

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

Deserialize an array object.

◆ operator|() [21/25]

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

Deserialize an array object.

◆ operator|() [22/25]

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

Deserialize an array object.

◆ operator|() [23/25]

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

Deserialize a map object.

◆ operator|() [24/25]

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

Deserialize a map object.

◆ operator|() [25/25]

Deserializer & operator| ( Deserializer ar,
DataObject object 
)
related

Deserialize a data object.