.TH "cereal.hpp" 3 "Mon Oct 26 2026 02:55:37" "cereal" \" -*- nroff -*- .ad l .nh .SH NAME cereal.hpp \- Main cereal functionality\&. .SH SYNOPSIS .br .PP \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include 'cereal/macros\&.hpp'\fP .br \fR#include 'cereal/details/traits\&.hpp'\fP .br \fR#include 'cereal/details/helpers\&.hpp'\fP .br \fR#include 'cereal/types/base_class\&.hpp'\fP .br \fR#include 'cereal/types/common\&.hpp'\fP .br .SS "Classes" .in +1c .ti -1c .RI "class \fBcereal::OutputArchive< ArchiveType, Flags >\fP" .br .RI "The base output archive class\&. " .ti -1c .RI "class \fBcereal::InputArchive< ArchiveType, Flags >\fP" .br .RI "The base input archive class\&. " .in -1c .SS "Macros" .in +1c .ti -1c .RI "#define \fBCEREAL_NVP\fP(T)" .br .RI "Creates a name value pair for the variable T with the same name as the variable\&. " .ti -1c .RI "#define \fBCEREAL_REGISTER_ARCHIVE\fP(Archive)" .br .RI "Registers a specific Archive type with cereal\&. " .ti -1c .RI "#define \fBCEREAL_UNUSED_FUNCTION\fP static void unused() { (void)version; }" .br .RI "Helper macro to omit unused warning\&. " .ti -1c .RI "#define \fBCEREAL_CLASS_VERSION\fP(TYPE, VERSION_NUMBER)" .br .RI "Defines a class version for some type\&. " .ti -1c .RI "#define \fBPROCESS_IF\fP(name)" .br .RI "Helper macro that expands the requirements for activating an overload\&. " .ti -1c .RI "#define \fBPROCESS_IF\fP(name)" .br .RI "Helper macro that expands the requirements for activating an overload\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBcereal::Flags\fP { \fBAllowEmptyClassElision\fP = 1 }" .br .RI "Special flags for archives\&. " .in -1c .SS "Functions" .in +1c .ti -1c .RI "template void \fBcereal::prologue\fP (Archive &, T const &)" .br .ti -1c .RI "template void \fBcereal::epilogue\fP (Archive &, T const &)" .br .in -1c .SH "Detailed Description" .PP Main cereal functionality\&. .SH "Macro Definition Documentation" .PP .SS "#define PROCESS_IF( name)" \fBValue:\fP .nf traits::EnableIf::value, \\ !traits::has_invalid_input_versioning::value, \\ (traits::is_input_serializable::value && \\ (traits::is_specialized_##name::value || \\ !traits::is_specialized::value))> = traits::sfinae .PP .fi .PP 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 .PP 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 .SS "#define PROCESS_IF( name)" \fBValue:\fP .nf traits::EnableIf::value, \\ !traits::has_invalid_output_versioning::value, \\ (traits::is_output_serializable::value && \\ (traits::is_specialized_##name::value || \\ !traits::is_specialized::value))> = traits::sfinae .PP .fi .PP 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 .PP 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 .SH "Author" .PP Generated automatically by Doxygen for cereal from the source code\&.