OS Manuals

cereal.hpp(3)

cereal.hpp - Main cereal functionality.

cereal.hpp(3) Library Functions Manual cereal.hpp(3)

cereal.hpp - Main cereal functionality.

#include <type_traits>
#include <string>
#include <memory>
#include <functional>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <cstddef>
#include <cstdint>
#include 'cereal/macros.hpp'
#include 'cereal/details/traits.hpp'
#include 'cereal/details/helpers.hpp'
#include 'cereal/types/base_class.hpp'
#include 'cereal/types/common.hpp'


class cereal::OutputArchive< ArchiveType, Flags >
The base output archive class. class cereal::InputArchive< ArchiveType, Flags >
The base input archive class.


#define CEREAL_NVP(T)
Creates a name value pair for the variable T with the same name as the variable. #define CEREAL_REGISTER_ARCHIVE(Archive)
Registers a specific Archive type with cereal. #define CEREAL_UNUSED_FUNCTION static void unused() { (void)version; }
Helper macro to omit unused warning. #define CEREAL_CLASS_VERSION(TYPE, VERSION_NUMBER)
Defines a class version for some type. #define PROCESS_IF(name)
Helper macro that expands the requirements for activating an overload. #define PROCESS_IF(name)
Helper macro that expands the requirements for activating an overload.


enum cereal::Flags { AllowEmptyClassElision = 1 }
Special flags for archives.


template<class Archive, class T> void cereal::prologue (Archive &, T const &)
template<class Archive, class T> void cereal::epilogue (Archive &, T const &)

Main cereal functionality.

#define PROCESS_IF( name)

Value:

traits::EnableIf<traits::has_##name<T, ArchiveType>::value,                           \

!traits::has_invalid_input_versioning<T, ArchiveType>::value, \
(traits::is_input_serializable<T, ArchiveType>::value && \
(traits::is_specialized_##name<T, ArchiveType>::value || \
!traits::is_specialized<T, ArchiveType>::value))> = traits::sfinae

Helper macro that expands the requirements for activating an overload. Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is output serializable AND is specialized for this type of function OR has no specialization at all

Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is input serializable AND is specialized for this type of function OR has no specialization at all

#define PROCESS_IF( name)

Value:

traits::EnableIf<traits::has_##name<T, ArchiveType>::value,                          \

!traits::has_invalid_output_versioning<T, ArchiveType>::value, \
(traits::is_output_serializable<T, ArchiveType>::value && \
(traits::is_specialized_##name<T, ArchiveType>::value || \
!traits::is_specialized<T, ArchiveType>::value))> = traits::sfinae

Helper macro that expands the requirements for activating an overload. Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is output serializable AND is specialized for this type of function OR has no specialization at all

Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is input serializable AND is specialized for this type of function OR has no specialization at all

Generated automatically by Doxygen for cereal from the source code.

Mon Oct 26 2026 20:39:03 cereal

cereal 1.3.2-r8 · enterprise-packages · ingested 2026-10-27