cereal
A C++11 library for serialization
Loading...
Searching...
No Matches
helpers.hpp File Reference

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)
 Convenience for creating a templated NVP.

Typedefs

using cereal::size_type = CEREAL_SIZE_TYPE
 The size type used by cereal.

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.

Detailed Description

Internal helper functionality.

Macro Definition Documentation

◆ CEREAL_NVP_

#define CEREAL_NVP_ ( name,
value )
Value:
NameValuePair< T > make_nvp(std::string const &name, T &&value)
Creates a name value pair.
Definition cereal.hpp:55

Convenience for creating a templated NVP.

For use in internal generic typing functions which have an Archive type declared

Typedef Documentation

◆ 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