.TH "Access" 3 "Mon Oct 26 2026 20:39:03" "cereal" \" -*- nroff -*- .ad l .nh .SH NAME Access \- Access Control and Disambiguation .SH SYNOPSIS .br .PP .SS "Classes" .in +1c .ti -1c .RI "struct \fBcereal::LoadAndConstruct< T >\fP" .br .RI "A class that allows cereal to load smart pointers to types that have no default constructor\&. " .ti -1c .RI "class \fBcereal::access\fP" .br .RI "A class that can be made a friend to give cereal access to non public functions\&. " .ti -1c .RI "struct \fBcereal::specialize< Archive, T, S >\fP" .br .RI "A class used to disambiguate cases where cereal cannot detect a unique way of serializing a class\&. " .in -1c .SS "Macros" .in +1c .ti -1c .RI "#define \fBCEREAL_SPECIALIZE_FOR_ALL_ARCHIVES\fP(Type, Specialization)" .br .RI "Convenient macro for performing specialization for all archive types\&. " .ti -1c .RI "#define \fBCEREAL_SPECIALIZE_FOR_ARCHIVE\fP(Archive, Type, Specialization)" .br .RI "Convenient macro for performing specialization for a single archive type\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum class \fBcereal::specialization\fP " .br .in -1c .SH "Detailed Description" .PP Provides ways to give cereal access to protected member functions, disambiguate which serialization function cereal should use, and provide ways of using smart pointers with types that have no default constructor\&. .SH "Macro Definition Documentation" .PP .SS "#define CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES( Type, Specialization)" \fBValue:\fP .nf namespace cereal { template struct specialize {}; } .PP .fi .PP Convenient macro for performing specialization for all archive types\&. This performs specialization for the specific type for all types of archives\&. This macro should be placed at the global namespace\&. .PP .PP .nf struct MyType {}; CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES( MyType, cereal::specialization::member_load_save ); .fi .PP .SS "#define CEREAL_SPECIALIZE_FOR_ARCHIVE( Archive, Type, Specialization)" \fBValue:\fP .nf namespace cereal { template <> struct specialize {}; } .PP .fi .PP Convenient macro for performing specialization for a single archive type\&. This performs specialization for the specific type for a single type of archive\&. This macro should be placed at the global namespace\&. .PP .PP .nf struct MyType {}; CEREAL_SPECIALIZE_FOR_ARCHIVE( cereal::XMLInputArchive, MyType, cereal::specialization::member_load_save ); .fi .PP .SH "Enumeration Type Documentation" .PP .SS "template enum class \fBspecialization\fP\fR [related]\fP" A specifier used in conjunction with \fBcereal::specialize\fP to disambiguate serialization in special cases .SH "Author" .PP Generated automatically by Doxygen for cereal from the source code\&.