cereal
A C++11 library for serialization
Classes | Macros | Functions
xml.hpp File Reference

XML input and output archives. More...

#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>

Go to the source code of this file.

Classes

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

Macros

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

Functions

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. More...
 
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. More...
 
template<class T >
void cereal::epilogue (XMLInputArchive &, NameValuePair< T > const &)
 Epilogue for NVPs for XML input archives.
 
template<class T >
void cereal::prologue (XMLOutputArchive &ar, SizeTag< T > const &)
 Prologue for SizeTags for XML output archives. More...
 
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. More...
 
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) More...
 
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) More...
 
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
 

Detailed Description

XML input and output archives.

Macro Definition Documentation

#define CEREAL_XML_STRING_VALUE   "cereal"

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.