OS Manuals

xml.hpp(3)

xml.hpp - XML input and output archives.

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

xml.hpp - XML input and output archives.

#include 'cereal/cereal.hpp'
#include 'cereal/details/util.hpp'
#include 'cereal/external/rapidxml/rapidxml.hpp'
#include 'cereal/external/rapidxml/rapidxml_print.hpp'
#include 'cereal/external/base64.hpp'
#include <sstream>
#include <stack>
#include <vector>
#include <limits>
#include <string>
#include <cstring>
#include <cmath>


class cereal::XMLOutputArchive
An output archive designed to save data to XML. class cereal::XMLOutputArchive::Options
A class containing various advanced options for the XML archive. struct cereal::XMLOutputArchive::NodeInfo
A struct that contains metadata about a node. class cereal::XMLInputArchive
An output archive designed to load data from XML. struct cereal::XMLInputArchive::NodeInfo
A struct that contains metadata about a node.


#define CEREAL_XML_STRING_VALUE 'cereal'
The default name for the root node in a cereal xml archive.


bool cereal::xml_detail::isWhitespace (char c)
Returns true if the character is whitespace. template<class T> void cereal::prologue (XMLOutputArchive &, NameValuePair< T > const &)
Prologue for NVPs for XML output archives. template<class T> void cereal::prologue (XMLInputArchive &, NameValuePair< T > const &)
Prologue for NVPs for XML input archives. template<class T> void cereal::epilogue (XMLOutputArchive &, NameValuePair< T > const &)
Epilogue for NVPs for XML output archives. template<class T> void cereal::epilogue (XMLInputArchive &, NameValuePair< T > const &)
Epilogue for NVPs for XML input archives. template<class T> void cereal::prologue (XMLOutputArchive &, DeferredData< T > const &)
Prologue for deferred data for XML archives. template<class T> void cereal::prologue (XMLInputArchive &, DeferredData< T > const &)
Prologue for deferred data for XML archives. template<class T> void cereal::epilogue (XMLOutputArchive &, DeferredData< T > const &)
Epilogue for deferred for XML archives. template<class T> void cereal::epilogue (XMLInputArchive &, DeferredData< T > const &)
Epilogue for deferred for XML archives. template<class T> void cereal::prologue (XMLOutputArchive &ar, SizeTag< T > const &)
Prologue for SizeTags for XML output archives. template<class T> void cereal::prologue (XMLInputArchive &, SizeTag< T > const &)
template<class T> void cereal::epilogue (XMLOutputArchive &, SizeTag< T > const &)
Epilogue for SizeTags for XML output archives. template<class T> void cereal::epilogue (XMLInputArchive &, SizeTag< T > const &)
template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_output_serialization, XMLOutputArchive >::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::prologue (XMLOutputArchive &ar, T const &)
Prologue for all other types for XML output archives (except minimal types). template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_input_serialization, XMLInputArchive >::value||traits::has_minimal_input_serialization< T, XMLInputArchive >::value > = traits::sfinae> void cereal::prologue (XMLInputArchive &ar, T const &)
Prologue for all other types for XML input archives (except minimal types). template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_output_serialization, XMLOutputArchive >::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::epilogue (XMLOutputArchive &ar, T const &)
Epilogue for all other types other for XML output archives (except minimal types). template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_input_serialization, XMLInputArchive >::value||traits::has_minimal_input_serialization< T, XMLInputArchive >::value > = traits::sfinae> void cereal::epilogue (XMLInputArchive &ar, T const &)
Epilogue for all other types other for XML output archives (except minimal types). template<class T> void cereal::CEREAL_SAVE_FUNCTION_NAME (XMLOutputArchive &ar, NameValuePair< T > const &t)
Saving NVP types to XML. template<class T> void cereal::CEREAL_LOAD_FUNCTION_NAME (XMLInputArchive &ar, NameValuePair< T > &t)
Loading NVP types from XML. template<class T> void cereal::CEREAL_SAVE_FUNCTION_NAME (XMLOutputArchive &, SizeTag< T > const &)
Saving SizeTags to XML. template<class T> void cereal::CEREAL_LOAD_FUNCTION_NAME (XMLInputArchive &ar, SizeTag< T > &st)
Loading SizeTags from XML. template<class T, traits::EnableIf< std::is_arithmetic< T >::value > = traits::sfinae> void cereal::CEREAL_SAVE_FUNCTION_NAME (XMLOutputArchive &ar, T const &t)
Saving for POD types to xml. template<class T, traits::EnableIf< std::is_arithmetic< T >::value > = traits::sfinae> void cereal::CEREAL_LOAD_FUNCTION_NAME (XMLInputArchive &ar, T &t)
Loading for POD types from xml. template<class CharT, class Traits, class Alloc> void cereal::CEREAL_SAVE_FUNCTION_NAME (XMLOutputArchive &ar, std::basic_string< CharT, Traits, Alloc > const &str)
saving string to xml template<class CharT, class Traits, class Alloc> void cereal::CEREAL_LOAD_FUNCTION_NAME (XMLInputArchive &ar, std::basic_string< CharT, Traits, Alloc > &str)
loading string from xml

XML input and output archives.

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.

template<class T> void cereal::epilogue (XMLInputArchive & , DeferredData< T > const & ) [inline]

Epilogue for deferred for XML archives. Do nothing for the defer wrapper

template<class T> void cereal::epilogue (XMLOutputArchive & , DeferredData< T > const & ) [inline]

Epilogue for deferred for XML archives. NVPs do not start or finish nodes - they just set up the names

template<class T> void cereal::epilogue (XMLOutputArchive & , NameValuePair< T > const & ) [inline]

Epilogue for NVPs for XML output archives. NVPs do not start or finish nodes - they just set up the names

template<class T> void cereal::epilogue (XMLOutputArchive & , SizeTag< T > const & ) [inline]

Epilogue for SizeTags for XML output archives. SizeTags do not start or finish nodes

template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_output_serialization, XMLOutputArchive >::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::epilogue (XMLOutputArchive & ar, T const & ) [inline]

Epilogue for all other types other for XML output archives (except minimal types). Finishes the node created in the prologue

Minimal types do not start or end nodes

template<class T> void cereal::prologue (XMLOutputArchive & , DeferredData< T > const & ) [inline]

Prologue for deferred data for XML archives. Do nothing for the defer wrapper

template<class T> void cereal::prologue (XMLOutputArchive & , NameValuePair< T > const & ) [inline]

Prologue for NVPs for XML output archives. NVPs do not start or finish nodes - they just set up the names

template<class T> void cereal::prologue (XMLOutputArchive & ar, SizeTag< T > const & ) [inline]

Prologue for SizeTags for XML output archives. SizeTags do not start or finish nodes

template<class T, traits::DisableIf< traits::has_minimal_base_class_serialization< T, traits::has_minimal_output_serialization, XMLOutputArchive >::value||traits::has_minimal_output_serialization< T, XMLOutputArchive >::value > = traits::sfinae> void cereal::prologue (XMLOutputArchive & ar, T const & ) [inline]

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

Minimal types do not start or end nodes

Generated automatically by Doxygen for cereal from the source code.

Mon Oct 26 2026 02:55:37 cereal

cereal 1.3.2-r7 · enterprise-packages · ingested 2026-10-26