Core Library  1.7.0.0
Library containing core utilities and tools for threading, networking, logging, INI and CSV file management etc.
SerializeToVector.h File Reference

File containing utilities to serialize objects to byte vectors. More...

#include "CoreLibraryDllGlobal.h"
#include "SerializationIncludes.h"
#include <vector>
#include <utility>
#include <sstream>
#include <iterator>
#include <type_traits>
#include <algorithm>
#include <cereal/types/vector.hpp>
#include <boost/throw_exception.hpp>

Go to the source code of this file.

Classes

struct  core_lib::serialize::raw_iarchive
 In archive placeholder struct for serializing POD objects. More...
 
struct  core_lib::serialize::raw_oarchive
 Out archive placeholder struct for serializing POD objects. More...
 
struct  core_lib::serialize::protobuf_iarchive
 In archive placeholder struct for serializing Google protocol buffers. More...
 
struct  core_lib::serialize::protobuf_oarchive
 Out archive placeholder struct for serializing Google protocol buffers. More...
 
struct  core_lib::serialize::impl::ToCharVectorImpl< T, A >
 Serialization to char vector implementation. More...
 
struct  core_lib::serialize::impl::ToCharVectorImpl< T, archives::out_raw_t >
 Serialization to char vector implementation, specialization for POD. More...
 
struct  core_lib::serialize::impl::ToCharVectorImpl< T, archives::out_protobuf_t >
 Serialization to char vector implementation, specialization for Google protocol bufs. More...
 
struct  core_lib::serialize::impl::ToObjectImpl< T, A >
 Deserialization to object implementation. More...
 
struct  core_lib::serialize::impl::ToObjectImpl< T, archives::in_raw_t >
 Deserialization to object implementation, specialization for POD. More...
 
struct  core_lib::serialize::impl::ToObjectImpl< T, archives::in_protobuf_t >
 Deserialization to object implementation, specialization for Google protocol buffers. More...
 

Namespaces

 core_lib
 The core_lib namespace.
 
 core_lib::serialize
 The serialize namespace.
 
 core_lib::serialize::archives
 The archives namespace.
 
 core_lib::serialize::impl
 The implementation namespace.
 

Typedefs

using core_lib::serialize::char_vector_t = std::vector< char >
 Typedef for char vector.
 
using core_lib::serialize::archives::out_port_bin_t = cereal::PortableBinaryOutputArchive
 Typedef to output portable binary archive.
 
using core_lib::serialize::archives::out_bin_t = cereal::BinaryOutputArchive
 Typedef to output binary archive.
 
using core_lib::serialize::archives::out_xml_t = cereal::XMLOutputArchive
 Typedef to output xml archive.
 
using core_lib::serialize::archives::out_json_t = cereal::JSONOutputArchive
 Typedef to output json archive.
 
using core_lib::serialize::archives::out_raw_t = raw_oarchive
 Typedef to output raw archive.
 
using core_lib::serialize::archives::out_protobuf_t = protobuf_oarchive
 Typedef to output using Google protocol buffers.
 
using core_lib::serialize::archives::in_port_bin_t = cereal::PortableBinaryInputArchive
 Typedef to input portable binary archive.
 
using core_lib::serialize::archives::in_bin_t = cereal::BinaryInputArchive
 Typedef to input binary archive.
 
using core_lib::serialize::archives::in_xml_t = cereal::XMLInputArchive
 Typedef to input xml archive.
 
using core_lib::serialize::archives::in_json_t = cereal::JSONInputArchive
 Typedef to input json archive.
 
using core_lib::serialize::archives::in_raw_t = raw_iarchive
 Typedef to input raw archive.
 
using core_lib::serialize::archives::in_protobuf_t = protobuf_iarchive
 Typedef to input using Google protocol buffers.
 

Functions

template<typename T , typename OA = archives::out_port_bin_t>
char_vector_t core_lib::serialize::ToCharVector (const T &object)
 Serialize an object into a char vector. More...
 
template<typename T , typename OA = archives::out_port_bin_t>
void core_lib::serialize::ToCharVector (const T &object, char_vector_t &result)
 Serialize an object into a char vector. More...
 
template<typename T , typename IA = archives::in_port_bin_t>
core_lib::serialize::ToObject (const char_vector_t &charVector)
 Deserialize a char vector into a corresponding object. More...
 

Detailed Description

File containing utilities to serialize objects to byte vectors.