cereal
A C++11 library for serialization
|
Internal helper functionality. More...
#include <type_traits>
#include <cstdint>
#include <utility>
#include <memory>
#include <unordered_map>
#include <stdexcept>
#include "cereal/macros.hpp"
#include "cereal/details/static_object.hpp"
Go to the source code of this file.
Classes | |
struct | cereal::Exception |
An exception class thrown when things go wrong at runtime. More... | |
struct | cereal::detail::NameValuePairCore |
Traits struct for NVPs. More... | |
struct | cereal::detail::DeferredDataCore |
Traits struct for DeferredData. More... | |
class | cereal::NameValuePair< T > |
For holding name value pairs. More... | |
struct | cereal::BinaryData< T > |
A wrapper around data that can be serialized in a binary fashion. More... | |
class | cereal::DeferredData< T > |
A wrapper around data that should be serialized after all non-deferred data. More... | |
class | cereal::detail::OutputArchiveBase |
class | cereal::detail::InputArchiveBase |
class | cereal::SizeTag< T > |
A wrapper around size metadata. More... | |
struct | cereal::MapItem< Key, Value > |
A wrapper around a key and value for serializing data into maps. More... | |
struct | cereal::detail::Version< T, BindingTag > |
Version information class. More... | |
struct | cereal::detail::Versions |
Holds all registered version information. More... | |
Macros | |
#define | CEREAL_NVP_(name, value) ::cereal::make_nvp<Archive>(name, value) |
Convenience for creating a templated NVP. More... | |
Typedefs | |
using | cereal::size_type = CEREAL_SIZE_TYPE |
The size type used by cereal. More... | |
Functions | |
template<class KeyType , class ValueType > | |
MapItem< KeyType, ValueType > | cereal::make_map_item (KeyType &&key, ValueType &&value) |
Create a MapItem so that human readable archives will group keys and values together. | |
Internal helper functionality.
#define CEREAL_NVP_ | ( | name, | |
value | |||
) | ::cereal::make_nvp<Archive>(name, value) |
Convenience for creating a templated NVP.
For use in internal generic typing functions which have an Archive type declared
using cereal::size_type = typedef CEREAL_SIZE_TYPE |
The size type used by cereal.
To ensure compatability between 32, 64, etc bit machines, we need to use a fixed size type instead of size_t, which may vary from machine to machine.
The default value for CEREAL_SIZE_TYPE is specified in cereal/macros.hpp