cereal
A C++11 library for serialization
|
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 &, DeferredData< T > const &) |
Prologue for deferred data for XML archives. More... | |
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. More... | |
template<class T > | |
void | cereal::epilogue (XMLInputArchive &, DeferredData< T > const &) |
Epilogue for deferred for XML archives. More... | |
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 | |
XML input and output archives.
#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.
|
inline |
Epilogue for deferred for XML archives.
Do nothing for the defer wrapper
|
inline |
Epilogue for deferred for XML archives.
NVPs do not start or finish nodes - they just set up the names
|
inline |
Epilogue for NVPs for XML output archives.
NVPs do not start or finish nodes - they just set up the names
|
inline |
Epilogue for SizeTags for XML output archives.
SizeTags do not start or finish nodes
|
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
|
inline |
Prologue for deferred data for XML archives.
Do nothing for the defer wrapper
|
inline |
Prologue for NVPs for XML output archives.
NVPs do not start or finish nodes - they just set up the names
|
inline |
Prologue for SizeTags for XML output archives.
SizeTags do not start or finish nodes
|
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