cereal
A C++11 library for serialization
 All Classes Files Functions Variables Typedefs Enumerations Groups
Classes | Functions
json.hpp File Reference

JSON input and output archives. More...

#include <cereal/cereal.hpp>
#include <cereal/details/util.hpp>
#include <cereal/external/rapidjson/prettywriter.h>
#include <cereal/external/rapidjson/genericstream.h>
#include <cereal/external/base64.hpp>
#include <sstream>
#include <stack>
#include <vector>
#include <string>
#include <iostream>

Go to the source code of this file.

Classes

class  cereal::JSONOutputArchive
 An output archive designed to save data to JSON. More...
 
class  cereal::JSONInputArchive
 An input archive designed to load data from JSON. More...
 

Functions

template<class T >
void cereal::prologue (JSONOutputArchive &, NameValuePair< T > const &)
 Prologue for NVPs for JSON archives. More...
 
template<class T >
void cereal::epilogue (JSONOutputArchive &, NameValuePair< T > const &)
 Epilogue for NVPs for JSON archives. More...
 
template<class T >
void cereal::prologue (JSONOutputArchive &, SizeTag< T > const &)
 Prologue for SizeTags for JSON archives. More...
 
template<class T >
void cereal::epilogue (JSONOutputArchive &, SizeTag< T > const &)
 Epilogue for SizeTags for JSON archives. More...
 
template<class T >
std::enable_if
<!std::is_arithmetic< T >
::value, void >::type 
cereal::prologue (JSONOutputArchive &ar, T const &data)
 Prologue for all other types for JSON archives. More...
 
template<class T >
std::enable_if
<!std::is_arithmetic< T >
::value, void >::type 
cereal::epilogue (JSONOutputArchive &ar, T const &data)
 Epilogue for all other types other for JSON archives. More...
 
template<class T >
std::enable_if
< std::is_arithmetic< T >
::value, void >::type 
cereal::prologue (JSONOutputArchive &ar, T const &data)
 
template<class T >
std::enable_if
< std::is_arithmetic< T >
::value, void >::type 
cereal::epilogue (JSONOutputArchive &ar, T const &data)
 
template<class CharT , class Traits , class Alloc >
void cereal::prologue (JSONOutputArchive &ar, std::basic_string< CharT, Traits, Alloc > const &str)
 
template<class CharT , class Traits , class Alloc >
void cereal::epilogue (JSONOutputArchive &ar, std::basic_string< CharT, Traits, Alloc > const &str)
 
template<class Archive , class T >
 cereal::serialize (Archive &ar, NameValuePair< T > &t)
 Serializing NVP types to binary. More...
 
template<class Archive , class T >
 cereal::serialize (Archive &ar, SizeTag< T > &t)
 Serializing SizeTags to binary. More...
 
template<class T >
std::enable_if
< std::is_arithmetic< T >
::value, void >::type 
cereal::save (JSONOutputArchive &ar, T const &t)
 Saving for arithmetic to JSON.
 
template<class CharT , class Traits , class Alloc >
void cereal::save (JSONOutputArchive &ar, std::basic_string< CharT, Traits, Alloc > const &str)
 saving string to JSON
 
 CEREAL_REGISTER_ARCHIVE (cereal::JSONOutputArchive)
 

Detailed Description

JSON input and output archives.