.TH "xml.hpp" 3 "Sat Oct 10 2026 08:08:15" "cereal" \" -*- nroff -*- .ad l .nh .SH NAME xml.hpp \- XML input and output archives\&. .SH SYNOPSIS .br .PP \fR#include 'cereal/cereal\&.hpp'\fP .br \fR#include 'cereal/details/util\&.hpp'\fP .br \fR#include 'cereal/external/rapidxml/rapidxml\&.hpp'\fP .br \fR#include 'cereal/external/rapidxml/rapidxml_print\&.hpp'\fP .br \fR#include 'cereal/external/base64\&.hpp'\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 .SS "Classes" .in +1c .ti -1c .RI "class \fBcereal::XMLOutputArchive\fP" .br .RI "An output archive designed to save data to XML\&. " .ti -1c .RI "class \fBcereal::XMLOutputArchive::Options\fP" .br .RI "A class containing various advanced options for the XML archive\&. " .ti -1c .RI "struct \fBcereal::XMLOutputArchive::NodeInfo\fP" .br .RI "A struct that contains metadata about a node\&. " .ti -1c .RI "class \fBcereal::XMLInputArchive\fP" .br .RI "An output archive designed to load data from XML\&. " .ti -1c .RI "struct \fBcereal::XMLInputArchive::NodeInfo\fP" .br .RI "A struct that contains metadata about a node\&. " .in -1c .SS "Macros" .in +1c .ti -1c .RI "#define \fBCEREAL_XML_STRING_VALUE\fP 'cereal'" .br .RI "The default name for the root node in a cereal xml archive\&. " .in -1c .SS "Functions" .in +1c .ti -1c .RI "bool \fBcereal::xml_detail::isWhitespace\fP (char c)" .br .RI "Returns true if the character is whitespace\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLOutputArchive\fP &, \fBNameValuePair\fP< T > const &)" .br .RI "Prologue for NVPs for XML output archives\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLInputArchive\fP &, \fBNameValuePair\fP< T > const &)" .br .RI "Prologue for NVPs for XML input archives\&. " .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLOutputArchive\fP &, \fBNameValuePair\fP< T > const &)" .br .RI "Epilogue for NVPs for XML output archives\&. " .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLInputArchive\fP &, \fBNameValuePair\fP< T > const &)" .br .RI "Epilogue for NVPs for XML input archives\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLOutputArchive\fP &, \fBDeferredData\fP< T > const &)" .br .RI "Prologue for deferred data for XML archives\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLInputArchive\fP &, \fBDeferredData\fP< T > const &)" .br .RI "Prologue for deferred data for XML archives\&. " .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLOutputArchive\fP &, \fBDeferredData\fP< T > const &)" .br .RI "Epilogue for deferred for XML archives\&. " .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLInputArchive\fP &, \fBDeferredData\fP< T > const &)" .br .RI "Epilogue for deferred for XML archives\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLOutputArchive\fP &ar, \fBSizeTag\fP< T > const &)" .br .RI "Prologue for SizeTags for XML output archives\&. " .ti -1c .RI "template void \fBcereal::prologue\fP (\fBXMLInputArchive\fP &, \fBSizeTag\fP< T > const &)" .br .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLOutputArchive\fP &, \fBSizeTag\fP< T > const &)" .br .RI "Epilogue for SizeTags for XML output archives\&. " .ti -1c .RI "template void \fBcereal::epilogue\fP (\fBXMLInputArchive\fP &, \fBSizeTag\fP< T > const &)" .br .ti -1c .RI "template::value||\fBtraits::has_minimal_output_serialization\fP< T, \fBXMLOutputArchive\fP >::value > = traits::sfinae> void \fBcereal::prologue\fP (\fBXMLOutputArchive\fP &ar, T const &)" .br .RI "Prologue for all other types for XML output archives (except minimal types)\&. " .ti -1c .RI "template::value||\fBtraits::has_minimal_input_serialization\fP< T, \fBXMLInputArchive\fP >::value > = traits::sfinae> void \fBcereal::prologue\fP (\fBXMLInputArchive\fP &ar, T const &)" .br .RI "Prologue for all other types for XML input archives (except minimal types)\&. " .ti -1c .RI "template::value||\fBtraits::has_minimal_output_serialization\fP< T, \fBXMLOutputArchive\fP >::value > = traits::sfinae> void \fBcereal::epilogue\fP (\fBXMLOutputArchive\fP &ar, T const &)" .br .RI "Epilogue for all other types other for XML output archives (except minimal types)\&. " .ti -1c .RI "template::value||\fBtraits::has_minimal_input_serialization\fP< T, \fBXMLInputArchive\fP >::value > = traits::sfinae> void \fBcereal::epilogue\fP (\fBXMLInputArchive\fP &ar, T const &)" .br .RI "Epilogue for all other types other for XML output archives (except minimal types)\&. " .ti -1c .RI "template void \fBcereal::CEREAL_SAVE_FUNCTION_NAME\fP (\fBXMLOutputArchive\fP &ar, \fBNameValuePair\fP< T > const &t)" .br .RI "Saving NVP types to XML\&. " .ti -1c .RI "template void \fBcereal::CEREAL_LOAD_FUNCTION_NAME\fP (\fBXMLInputArchive\fP &ar, \fBNameValuePair\fP< T > &t)" .br .RI "Loading NVP types from XML\&. " .ti -1c .RI "template void \fBcereal::CEREAL_SAVE_FUNCTION_NAME\fP (\fBXMLOutputArchive\fP &, \fBSizeTag\fP< T > const &)" .br .RI "Saving SizeTags to XML\&. " .ti -1c .RI "template void \fBcereal::CEREAL_LOAD_FUNCTION_NAME\fP (\fBXMLInputArchive\fP &ar, \fBSizeTag\fP< T > &st)" .br .RI "Loading SizeTags from XML\&. " .ti -1c .RI "template::value > = traits::sfinae> void \fBcereal::CEREAL_SAVE_FUNCTION_NAME\fP (\fBXMLOutputArchive\fP &ar, T const &t)" .br .RI "Saving for POD types to xml\&. " .ti -1c .RI "template::value > = traits::sfinae> void \fBcereal::CEREAL_LOAD_FUNCTION_NAME\fP (\fBXMLInputArchive\fP &ar, T &t)" .br .RI "Loading for POD types from xml\&. " .ti -1c .RI "template void \fBcereal::CEREAL_SAVE_FUNCTION_NAME\fP (\fBXMLOutputArchive\fP &ar, std::basic_string< CharT, Traits, Alloc > const &str)" .br .RI "saving string to xml " .ti -1c .RI "template void \fBcereal::CEREAL_LOAD_FUNCTION_NAME\fP (\fBXMLInputArchive\fP &ar, std::basic_string< CharT, Traits, Alloc > &str)" .br .RI "loading string from xml " .in -1c .SH "Detailed Description" .PP XML input and output archives\&. .SH "Macro Definition Documentation" .PP .SS "#define CEREAL_XML_STRING_VALUE 'cereal'" .PP The default name for the root node in a cereal xml archive\&. You can define CEREAL_XML_STRING_VALUE to be different assuming you do so before this file is included\&. .SH "Function Documentation" .PP .SS "template void cereal::epilogue (\fBXMLInputArchive\fP & , \fBDeferredData\fP< T > const & )\fR [inline]\fP" .PP Epilogue for deferred for XML archives\&. Do nothing for the defer wrapper .SS "template void cereal::epilogue (\fBXMLOutputArchive\fP & , \fBDeferredData\fP< T > const & )\fR [inline]\fP" .PP Epilogue for deferred for XML archives\&. NVPs do not start or finish nodes - they just set up the names .SS "template void cereal::epilogue (\fBXMLOutputArchive\fP & , \fBNameValuePair\fP< T > const & )\fR [inline]\fP" .PP Epilogue for NVPs for XML output archives\&. NVPs do not start or finish nodes - they just set up the names .SS "template void cereal::epilogue (\fBXMLOutputArchive\fP & , \fBSizeTag\fP< T > const & )\fR [inline]\fP" .PP Epilogue for SizeTags for XML output archives\&. SizeTags do not start or finish nodes .SS "template::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::epilogue (\fBXMLOutputArchive\fP & ar, T const & )\fR [inline]\fP" .PP Epilogue for all other types other for XML output archives (except minimal types)\&. Finishes the node created in the prologue .PP Minimal types do not start or end nodes .SS "template void cereal::prologue (\fBXMLOutputArchive\fP & , \fBDeferredData\fP< T > const & )\fR [inline]\fP" .PP Prologue for deferred data for XML archives\&. Do nothing for the defer wrapper .SS "template void cereal::prologue (\fBXMLOutputArchive\fP & , \fBNameValuePair\fP< T > const & )\fR [inline]\fP" .PP Prologue for NVPs for XML output archives\&. NVPs do not start or finish nodes - they just set up the names .SS "template void cereal::prologue (\fBXMLOutputArchive\fP & ar, \fBSizeTag\fP< T > const & )\fR [inline]\fP" .PP Prologue for SizeTags for XML output archives\&. SizeTags do not start or finish nodes .SS "template::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::prologue (\fBXMLOutputArchive\fP & ar, T const & )\fR [inline]\fP" .PP Prologue for all other types for XML output archives (except minimal types)\&. Starts a new node, named either automatically or by some NVP, that may be given data by the type about to be archived .PP Minimal types do not start or end nodes .SH "Author" .PP Generated automatically by Doxygen for cereal from the source code\&.