retdec
Namespaces | Macros | Functions
std.h File Reference
#include <map>
#include <type_traits>
#include <rapidjson/document.h>
#include <rapidjson/encodings.h>

Go to the source code of this file.

Namespaces

 retdec
 
 retdec::serdes
 

Macros

#define SERIALIZE_EXPLICIT_INSTANTIATION(T)
 

Functions

int64_t retdec::serdes::deserializeInt64 (const rapidjson::Value &val, const std::string &key, int64_t defaultValue=0)
 
uint64_t retdec::serdes::deserializeUint64 (const rapidjson::Value &val, const std::string &key, uint64_t defaultValue=0)
 
bool retdec::serdes::deserializeBool (const rapidjson::Value &val, const std::string &key, bool defaultValue=false)
 
bool retdec::serdes::deserializeDouble (const rapidjson::Value &val, const std::string &key, double defaultValue=0.0)
 
std::string retdec::serdes::deserializeString (const rapidjson::Value &val, const std::string &key, const std::string &defaultValue="")
 
void retdec::serdes::deserialize (const rapidjson::Value &val, const char *&str)
 
void retdec::serdes::deserialize (const rapidjson::Value &val, std::string &s)
 
template<typename ContainerOfDeserializableObjects >
void retdec::serdes::deserializeContainer (const rapidjson::Value &val, const std::string &key, ContainerOfDeserializableObjects &objs)
 
template<typename DeserializableObject >
void retdec::serdes::deserialize (const rapidjson::Value &val, const std::string &key, DeserializableObject &obj)
 
template<typename Writer >
void retdec::serdes::serializeInt64 (Writer &writer, const std::string &key, int64_t value, bool doSerialize=true)
 
template<typename Writer >
void retdec::serdes::serializeUint64 (Writer &writer, const std::string &key, uint64_t value, bool doSerialize=true)
 
template<typename Writer >
void retdec::serdes::serializeBool (Writer &writer, const std::string &key, bool value, bool serializeIfFalse=true)
 
template<typename Writer >
void retdec::serdes::serializeDouble (Writer &writer, const std::string &key, double value)
 
template<typename Writer >
void retdec::serdes::serializeString (Writer &writer, const std::string &key, const std::string &value, bool serializeIfValueEmpty=false)
 
template<typename Writer >
void retdec::serdes::serialize (Writer &writer, const std::string &value)
 
template<typename Writer , typename ContainerOfSerializableObjects >
void retdec::serdes::serializeContainer (Writer &writer, const std::string &key, const ContainerOfSerializableObjects &objs, bool serializeIfContainerEmpty=false)
 
template<typename Writer , typename SerializableObject >
void retdec::serdes::serialize (Writer &writer, const std::string &key, const SerializableObject &obj, bool doSerialize=true)
 

Macro Definition Documentation

◆ SERIALIZE_EXPLICIT_INSTANTIATION

#define SERIALIZE_EXPLICIT_INSTANTIATION (   T)
Value:
template void serialize( \
rapidjson::PrettyWriter<rapidjson::StringBuffer>&, \
const T&); \
template void serialize( \
rapidjson::PrettyWriter<rapidjson::StringBuffer, rapidjson::ASCII<>>&, \
const T&);
void serialize(Writer &writer, const std::string &key, const SerializableObject &obj, bool doSerialize=true)
Definition: std.h:190

Explicitly instantiate all the needed serialization functions of form:

template <typename Writer>
void serialize(Writer&, const T&)
void serialize(Writer &writer, const common::Address &a)
Definition: address.cpp:24