.TH "Internal" 3 "Sat Aug 29 2026 00:42:30" "cereal" \" -*- nroff -*- .ad l .nh .SH NAME Internal \- Internal Functionality .SH SYNOPSIS .br .PP .SS "Files" .in +1c .ti -1c .RI "file \fBhelpers\&.hpp\fP" .br .RI "Internal helper functionality\&. " .ti -1c .RI "file \fBpolymorphic_impl\&.hpp\fP" .br .RI "Internal polymorphism support\&. " .ti -1c .RI "file \fBpolymorphic_impl_fwd\&.hpp\fP" .br .RI "Internal polymorphism support forward declarations\&. " .ti -1c .RI "file \fBstatic_object\&.hpp\fP" .br .RI "Internal polymorphism static object support\&. " .ti -1c .RI "file \fBtraits\&.hpp\fP" .br .RI "Internal type trait support\&. " .ti -1c .RI "file \fButil\&.hpp\fP" .br .RI "Internal misc utilities\&. " .in -1c .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_REGISTER_ARCHIVE\fP(Archive)" .br .RI "Registers a specific Archive type with cereal\&. " .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 "std::uint8_t \fBcereal::portable_binary_detail::is_little_endian\fP ()" .br .RI "Returns true if the current machine is little endian\&. " .ti -1c .RI "template void \fBcereal::portable_binary_detail::swap_bytes\fP (std::uint8_t *data)" .br .RI "Swaps the order of bytes for some chunk of memory\&. " .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 Various classes and functions that are critical for the operation of cereal but of no interest to users .SH "Macro Definition Documentation" .PP .SS "#define CEREAL_REGISTER_ARCHIVE( Archive)" \fBValue:\fP .nf namespace cereal { namespace detail { \\ template \\ typename polymorphic_serialization_support::type \\ instantiate_polymorphic_binding( T*, Archive*, BindingTag, adl_tag ); \\ } } .PP .fi .PP Registers a specific Archive type with cereal\&. This registration should be done once per archive\&. A good place to put this is immediately following the definition of your archive\&. Archive registration is only strictly necessary if you wish to support pointers to polymorphic data types\&. All archives that come with cereal are already registered\&. .SH "Enumeration Type Documentation" .PP .SS "enum \fBcereal::Flags\fP" .PP Special flags for archives\&. AllowEmptyClassElision This allows for empty classes to be serialized even if they do not provide a serialization function\&. Classes with no data members are considered to be empty\&. Be warned that if this is enabled and you attempt to serialize an empty class with improperly formed serialize or load/save functions, no static error will occur - the error will propogate silently and your intended serialization functions may not be called\&. You can manually ensure that your classes that have custom serialization are correct by using the traits is_output_serializable and is_input_serializable in \fBcereal/details/traits\&.hpp\fP\&. .SH "Function Documentation" .PP .SS "template void cereal::epilogue (Archive & , T const & )\fR [inline]\fP" Called after a type is serialized to tear down any special archive state for processing some type .SS "template void cereal::prologue (Archive & , T const & )\fR [inline]\fP" Called before a type is serialized to set up any special archive state for processing some type .PP If designing a serializer that needs to set up any kind of special state or output extra information for a type, specialize this function for the archive type and the types that require the extra information\&. .SS "template void cereal::portable_binary_detail::swap_bytes (std::uint8_t * data)\fR [inline]\fP" .PP Swaps the order of bytes for some chunk of memory\&. .PP \fBParameters\fP .RS 4 \fIdata\fP The data as a uint8_t pointer .RE .PP \fBTemplate Parameters\fP .RS 4 \fIDataSize\fP The true size of the data .RE .PP .SH "Author" .PP Generated automatically by Doxygen for cereal from the source code\&.