Reflection for RapidJSON 0.0.17
Reflection for serializing/deserializing with RapidJSON
Loading...
Searching...
No Matches
ReflectiveRapidJSON::JsonReflector Namespace Reference

The JsonReflector namespace contains helper functions to ease the use of RapidJSON for automatic (de)serialization. More...

Namespaces

namespace  Detail

Typedefs

template<typename Type>
using IsBuiltInType
template<typename Type>
using IsCustomType = Traits::Not<IsBuiltInType<Type>>
template<typename Type>
using IsJsonSerializable = Traits::Any<Traits::Not<Traits::IsComplete<Type>>, std::is_base_of<JsonSerializable<Type>, Type>, AdaptedJsonSerializable<Type>>

Functions

constexpr RAPIDJSON_NAMESPACE::SizeType rapidJsonSize (std::size_t size)
 Casts the specified size to the size type used by RapidJSON ensuring no overflow happens.
RAPIDJSON_NAMESPACE::StringBuffer serializeJsonDocToString (RAPIDJSON_NAMESPACE::Document &document)
 Serializes the specified JSON document.
RAPIDJSON_NAMESPACE::Document parseJsonDocFromString (const char *json, std::size_t jsonSize)
 Parses the specified JSON string.
template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified reflectable to the specified value.
template<typename Type, Traits::DisableIf< IsJsonSerializable< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value::Array &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the reflectable to the specified array.
template<typename Type, Traits::EnableIf< IsJsonSerializable< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value::Array &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the reflectable which has a custom type to the specified array.
template<typename Type, Traits::EnableIf< IsJsonSerializable< Type > > * = nullptr>
void push (const Type &reflectable, const char *name, RAPIDJSON_NAMESPACE::Value::Object &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified reflectable which has custom type as a member to the specified object.
template<typename Type, Traits::DisableIf< IsJsonSerializable< Type > > * = nullptr>
void push (const Type &reflectable, const char *name, RAPIDJSON_NAMESPACE::Value::Object &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified reflectable as a member to the specified object.
template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value::Object &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the reflectable which has a custom type to the specified object.
template<typename Type, Traits::EnableIfAny< Traits::All< std::is_integral< Type >, Traits::Not< std::is_same< Type, std::uint8_t > >, Traits::Not< std::is_same< Type, std::int8_t > > >, std::is_floating_point< Type > > * = nullptr>
void push (Type reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified integer/float/boolean to the specified value.
template<typename Type, Traits::EnableIfAny< std::is_same< Type, std::uint8_t >, std::is_same< Type, std::int8_t > > * = nullptr>
void push (Type reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified 8-bit integer to the specified value.
template<typename Type, Traits::EnableIfAny< std::is_enum< Type > > * = nullptr>
void push (Type reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified enumeration item to the specified value.
template<typename Type, Traits::EnableIfAny< std::is_same< Type, const char * >, std::is_same< Type, const char *const & > > * = nullptr>
void push (Type reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified C-string to the specified value.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string_view > > * = nullptr>
void push (Type reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified std::string_view to the specified value.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified std::string to the specified value.
template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::HasSize< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified iteratable (eg.
template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::Not< Traits::HasSize< Type > > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified iteratable list (eg.
template<typename Type, Traits::EnableIfAny< IsMapOrHash< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified map (std::map, std::unordered_map) to the specified value.
template<typename Type, Traits::EnableIfAny< IsMultiMapOrHash< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified multimap (std::multimap, std::unordered_multimap) to the specified value.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::tuple > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified tuple to the specified value.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified pair to the specified value.
template<typename Type, Traits::EnableIfAny< Traits::IsSpecializingAnyOf< Type, std::unique_ptr, std::shared_ptr, std::weak_ptr, std::optional > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified unique_ptr, shared_ptr, weak_ptr or optional to the specified value.
template<typename Type, Traits::EnableIf< IsVariant< Type > > * = nullptr>
void push (const Type &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
 Pushes the specified variant to the specified value.
template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstObject &value, JsonDeserializationErrors *errors)
 Pulls the reflectable which has a custom type from the specified object.
template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the reflectable which has a custom type from the specified value which is supposed and checked to contain an object.
template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::Not< Traits::IsReservable< Type > > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is an iteratable without reserve() method from the specified value which is checked to contain an array.
template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::IsReservable< Type > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is an iteratable with reserve() method from the specified value which is checked to contain an array.
template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
void pull (Type &reflectable, rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is an array/vector/list from the specified array.
template<typename Type, Traits::EnableIf< IsSet< Type > > * = nullptr>
void pull (Type &reflectable, rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a set from the specified array.
template<typename Type, Traits::EnableIf< IsMultiSet< Type > > * = nullptr>
void pull (Type &reflectable, rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a multiset from the specified array.
template<typename Type, Traits::EnableIf< IsMapOrHash< Type > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a map from the specified value which is checked to contain an object.
template<typename Type, Traits::EnableIf< IsMultiMapOrHash< Type > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a multimap from the specified value which is checked to contain an object.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::tuple > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a tuple from the specified value which is checked to contain an array.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a pair from the specified value which is checked to contain an array.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::unique_ptr > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a unique_ptr from the specified value which might be null.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::shared_ptr > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a shared_ptr from the specified value which might be null.
template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::optional > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is an std::optional from the specified value which might be null.
template<typename Type, Traits::EnableIf< IsVariant< Type > > * = nullptr>
void pull (Type &reflectable, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable which is a variant from the specified value which might be null.
template<typename Type>
void pull (Type &reflectable, rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ValueIterator &value, JsonDeserializationErrors *errors)
 Pulls the specified reflectable from the specified value iterator which is checked to contain the right type.
template<typename Type>
void pull (Type &reflectable, const char *name, const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstObject &value, JsonDeserializationErrors *errors)
 Pulls the specified member of reflectable which has a custom type from the specified object.
template<typename Type, Traits::EnableIf< Traits::Not< std::is_same< Type, bool > >, Traits::Not< std::is_same< Type, std::uint8_t > >, Traits::Not< std::is_same< Type, std::int8_t > >, Traits::Any< std::is_integral< Type >, std::is_floating_point< Type > > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the integer or float from the specified value which is supposed and checked to contain the right type.
template<typename Type, Traits::EnableIfAny< std::is_same< Type, std::uint8_t >, std::is_same< Type, std::int8_t > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the integer or float from the specified value which is supposed and checked to contain the right type.
template<typename Type, Traits::EnableIf< std::is_same< Type, bool > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the boolean from the specified value which is supposed and checked to contain the right type.
template<typename Type, Traits::EnableIfAny< std::is_enum< Type > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the specified enumeration item from the specified value which is supposed and checked to be compatible with the underlying type.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
void pull (Type &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Pulls the std::string from the specified value which is supposed and checked to contain a string.
template<typename Type, Traits::EnableIfAny< std::is_same< Type, const char * >, std::is_same< Type, const char *const & >, std::is_same< Type, std::string_view > > * = nullptr>
void pull (Type &, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
 Checks whether the specified value contains a string.
template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (const Type &reflectable)
 Serializes the specified reflectable which has a custom type or can be mapped to and object.
template<typename Type, Traits::EnableIfAny< std::is_integral< Type >, std::is_floating_point< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (Type reflectable)
 Serializes the specified reflectable which is an integer, float or boolean.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (const std::string &reflectable)
 Serializes the specified reflectable which is an std::string.
template<typename Type, Traits::EnableIf< std::is_same< Type, const char * > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (const char *reflectable)
 Serializes the specified reflectable which is a C-string.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string_view > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (std::string_view reflectable)
 Serializes the specified reflectable which is an std::string_view.
template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document toJsonDocument (const Type &reflectable)
 Serializes the specified reflectable which can be mapped to an array.
template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type >, std::is_integral< Type >, std::is_floating_point< Type >, Traits::IsString< Type >, IsArray< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::StringBuffer toJson (const Type &reflectable)
 Serializes the specified reflectable.
template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
Type fromJson (const char *json, std::size_t jsonSize, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON to.
template<typename Type, Traits::EnableIfAny< std::is_integral< Type >, std::is_floating_point< Type > > * = nullptr>
Type fromJson (const char *json, std::size_t jsonSize, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON to.
template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
Type fromJson (const char *json, std::size_t jsonSize, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON to.
template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
Type fromJson (const char *json, std::size_t jsonSize, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON to.
template<typename Type>
Type fromJson (const char *json, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON from an null-terminated C-string to.
template<typename Type>
Type fromJson (const std::string &json, JsonDeserializationErrors *errors=nullptr)
 Deserializes the specified JSON from an std::string to.
template<>
void push< CppUtilities::DateTime > (const CppUtilities::DateTime &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
template<>
void push< CppUtilities::TimeSpan > (const CppUtilities::TimeSpan &reflectable, RAPIDJSON_NAMESPACE::Value &value, RAPIDJSON_NAMESPACE::Document::AllocatorType &allocator)
template<>
void pull< CppUtilities::DateTime > (CppUtilities::DateTime &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)
template<>
void pull< CppUtilities::TimeSpan > (CppUtilities::TimeSpan &reflectable, const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > &value, JsonDeserializationErrors *errors)

Detailed Description

The JsonReflector namespace contains helper functions to ease the use of RapidJSON for automatic (de)serialization.

Typedef Documentation

◆ IsBuiltInType

Initial value:
Traits::Any<std::is_integral<Type>, std::is_floating_point<Type>, std::is_pointer<Type>, std::is_enum<Type>,
Traits::IsSpecializingAnyOf<Type, std::tuple, std::pair>, Traits::IsIteratable<Type>,
Traits::IsSpecializingAnyOf<Type, std::unique_ptr, std::shared_ptr, std::weak_ptr, std::optional>, IsVariant<Type>>
Traits::All< Traits::IsSpecializationOf< Type, std::variant > > IsVariant
Definition traits.h:57

Definition at line 85 of file reflector.h.

◆ IsCustomType

template<typename Type>
using ReflectiveRapidJSON::JsonReflector::IsCustomType = Traits::Not<IsBuiltInType<Type>>

Definition at line 88 of file reflector.h.

◆ IsJsonSerializable

template<typename Type>
using ReflectiveRapidJSON::JsonReflector::IsJsonSerializable = Traits::Any<Traits::Not<Traits::IsComplete<Type>>, std::is_base_of<JsonSerializable<Type>, Type>, AdaptedJsonSerializable<Type>>

Definition at line 93 of file reflector.h.

Function Documentation

◆ fromJson() [1/6]

template<typename Type>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const char * json,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON from an null-terminated C-string to.

Template Parameters
Type.

Definition at line 1169 of file reflector.h.

◆ fromJson() [2/6]

template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const char * json,
std::size_t jsonSize,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON to.

Template Parameters
Typewhich can be mapped to an array.

Definition at line 1151 of file reflector.h.

◆ fromJson() [3/6]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const char * json,
std::size_t jsonSize,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON to.

Template Parameters
Typewhich is a std::string.

Definition at line 1134 of file reflector.h.

◆ fromJson() [4/6]

template<typename Type, Traits::EnableIfAny< std::is_integral< Type >, std::is_floating_point< Type > > * = nullptr>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const char * json,
std::size_t jsonSize,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON to.

Template Parameters
Typewhich is an integer, float or boolean.

Definition at line 1117 of file reflector.h.

◆ fromJson() [5/6]

template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const char * json,
std::size_t jsonSize,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON to.

Template Parameters
Typewhich is a custom type or can be mapped to an object.

Definition at line 1098 of file reflector.h.

◆ fromJson() [6/6]

template<typename Type>
Type ReflectiveRapidJSON::JsonReflector::fromJson ( const std::string & json,
JsonDeserializationErrors * errors = nullptr )

Deserializes the specified JSON from an std::string to.

Template Parameters
Type.

Definition at line 1177 of file reflector.h.

◆ parseJsonDocFromString()

RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::parseJsonDocFromString ( const char * json,
std::size_t jsonSize )
inline

Parses the specified JSON string.

Definition at line 73 of file reflector.h.

◆ pull() [1/23]

template<typename Type, Traits::EnableIfAny< std::is_same< Type, const char * >, std::is_same< Type, const char *const & >, std::is_same< Type, std::string_view > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & ,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Checks whether the specified value contains a string.

Remarks
Does not actually store the value since the ownership would not be clear (see README.md).

Definition at line 615 of file reflector.h.

◆ pull() [2/23]

template<typename Type>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const char * name,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstObject & value,
JsonDeserializationErrors * errors )
inline

Pulls the specified member of reflectable which has a custom type from the specified object.

Remarks
It is checked whether the object actually contains the member. If not, the missing member is ignored. So currently all members are optional.

Definition at line 973 of file reflector.h.

◆ pull() [3/23]

template<typename Type, Traits::EnableIf< IsVariant< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a variant from the specified value which might be null.

Definition at line 927 of file reflector.h.

◆ pull() [4/23]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::optional > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is an std::optional from the specified value which might be null.

Definition at line 888 of file reflector.h.

◆ pull() [5/23]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::shared_ptr > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a shared_ptr from the specified value which might be null.

Definition at line 874 of file reflector.h.

◆ pull() [6/23]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::unique_ptr > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a unique_ptr from the specified value which might be null.

Definition at line 860 of file reflector.h.

◆ pull() [7/23]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a pair from the specified value which is checked to contain an array.

Definition at line 836 of file reflector.h.

◆ pull() [8/23]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::tuple > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a tuple from the specified value which is checked to contain an array.

Definition at line 813 of file reflector.h.

◆ pull() [9/23]

template<typename Type, Traits::EnableIf< IsMultiMapOrHash< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a multimap from the specified value which is checked to contain an object.

Definition at line 764 of file reflector.h.

◆ pull() [10/23]

template<typename Type, Traits::EnableIf< IsMapOrHash< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a map from the specified value which is checked to contain an object.

Definition at line 746 of file reflector.h.

◆ pull() [11/23]

template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::IsReservable< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is an iteratable with reserve() method from the specified value which is checked to contain an array.

Definition at line 644 of file reflector.h.

◆ pull() [12/23]

template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::Not< Traits::IsReservable< Type > > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is an iteratable without reserve() method from the specified value which is checked to contain an array.

Pulls the specified reflectable which is a variant from the specified value which might be null.

Pulls the specified reflectable which is an std::optional from the specified value which might be null.

Pulls the specified reflectable which is a shared_ptr from the specified value which might be null.

Pulls the specified reflectable which is a unique_ptr from the specified value which might be null.

Pulls the specified reflectable which is a pair from the specified value which is checked to contain an array.

Pulls the specified reflectable which is a tuple from the specified value which is checked to contain an array.

Pulls the specified reflectable which is a multimap from the specified value which is checked to contain an object.

Pulls the specified reflectable which is a map from the specified value which is checked to contain an object.

Pulls the specified reflectable which is an iteratable with reserve() method from the specified value which is checked to contain an array.

Definition at line 629 of file reflector.h.

◆ pull() [13/23]

template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )

Pulls the reflectable which has a custom type from the specified value which is supposed and checked to contain an object.

Definition at line 1002 of file reflector.h.

◆ pull() [14/23]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Pulls the std::string from the specified value which is supposed and checked to contain a string.

Definition at line 597 of file reflector.h.

◆ pull() [15/23]

template<typename Type, Traits::EnableIfAny< std::is_enum< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Pulls the specified enumeration item from the specified value which is supposed and checked to be compatible with the underlying type.

Remarks
It is not checked, whether value is actually a valid enum item.

Definition at line 580 of file reflector.h.

◆ pull() [16/23]

template<typename Type, Traits::EnableIf< std::is_same< Type, bool > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Pulls the boolean from the specified value which is supposed and checked to contain the right type.

Definition at line 563 of file reflector.h.

◆ pull() [17/23]

template<typename Type, Traits::EnableIfAny< std::is_same< Type, std::uint8_t >, std::is_same< Type, std::int8_t > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Pulls the integer or float from the specified value which is supposed and checked to contain the right type.

Definition at line 549 of file reflector.h.

◆ pull() [18/23]

template<typename Type, Traits::EnableIf< Traits::Not< std::is_same< Type, bool > >, Traits::Not< std::is_same< Type, std::uint8_t > >, Traits::Not< std::is_same< Type, std::int8_t > >, Traits::Any< std::is_integral< Type >, std::is_floating_point< Type > > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Pulls the integer or float from the specified value which is supposed and checked to contain the right type.

Definition at line 533 of file reflector.h.

◆ pull() [19/23]

template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstObject & value,
JsonDeserializationErrors * errors )

Pulls the reflectable which has a custom type from the specified object.

Remarks
The definition of this function must be provided by the code generator or Boost.Hana.

Definition at line 40 of file reflector-boosthana.h.

◆ pull() [20/23]

template<typename Type, Traits::EnableIf< IsSet< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a set from the specified array.

The reflectable is cleared before.

Definition at line 716 of file reflector.h.

◆ pull() [21/23]

template<typename Type, Traits::EnableIf< IsMultiSet< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is a multiset from the specified array.

The reflectable is cleared before.

Definition at line 688 of file reflector.h.

◆ pull() [22/23]

template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ConstArray array,
JsonDeserializationErrors * errors )

Pulls the specified reflectable which is an array/vector/list from the specified array.

Pulls the specified reflectable which is a set from the specified array.

Pulls the specified reflectable which is a multiset from the specified array.

The reflectable is cleared before.

Definition at line 661 of file reflector.h.

◆ pull() [23/23]

template<typename Type>
void ReflectiveRapidJSON::JsonReflector::pull ( Type & reflectable,
rapidjson::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > >::ValueIterator & value,
JsonDeserializationErrors * errors )
inline

Pulls the specified reflectable from the specified value iterator which is checked to contain the right type.

Definition at line 961 of file reflector.h.

◆ pull< CppUtilities::DateTime >()

template<>
void ReflectiveRapidJSON::JsonReflector::pull< CppUtilities::DateTime > ( CppUtilities::DateTime & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Definition at line 41 of file reflector-chronoutilities.h.

◆ pull< CppUtilities::TimeSpan >()

template<>
void ReflectiveRapidJSON::JsonReflector::pull< CppUtilities::TimeSpan > ( CppUtilities::TimeSpan & reflectable,
const RAPIDJSON_NAMESPACE::GenericValue< RAPIDJSON_NAMESPACE::UTF8< char > > & value,
JsonDeserializationErrors * errors )
inline

Definition at line 56 of file reflector-chronoutilities.h.

◆ push() [1/20]

template<typename Type, Traits::DisableIf< IsJsonSerializable< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
const char * name,
RAPIDJSON_NAMESPACE::Value::Object & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified reflectable as a member to the specified object.

Definition at line 403 of file reflector.h.

◆ push() [2/20]

template<typename Type, Traits::EnableIf< IsJsonSerializable< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
const char * name,
RAPIDJSON_NAMESPACE::Value::Object & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified reflectable which has custom type as a member to the specified object.

Pushes the specified reflectable as a member to the specified object.

Definition at line 390 of file reflector.h.

◆ push() [3/20]

template<typename Type, Traits::EnableIf< IsVariant< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified variant to the specified value.

Definition at line 338 of file reflector.h.

◆ push() [4/20]

template<typename Type, Traits::EnableIfAny< Traits::IsSpecializingAnyOf< Type, std::unique_ptr, std::shared_ptr, std::weak_ptr, std::optional > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified unique_ptr, shared_ptr, weak_ptr or optional to the specified value.

Definition at line 325 of file reflector.h.

◆ push() [5/20]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified pair to the specified value.

Definition at line 311 of file reflector.h.

◆ push() [6/20]

template<typename Type, Traits::EnableIf< Traits::IsSpecializationOf< Type, std::tuple > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified tuple to the specified value.

Definition at line 299 of file reflector.h.

◆ push() [7/20]

template<typename Type, Traits::EnableIfAny< IsMultiMapOrHash< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified multimap (std::multimap, std::unordered_multimap) to the specified value.

Definition at line 257 of file reflector.h.

◆ push() [8/20]

template<typename Type, Traits::EnableIfAny< IsMapOrHash< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified map (std::map, std::unordered_map) to the specified value.

Definition at line 244 of file reflector.h.

◆ push() [9/20]

template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::Not< Traits::HasSize< Type > > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified iteratable list (eg.

std::vector, std::list) to the specified value.

Definition at line 231 of file reflector.h.

◆ push() [10/20]

template<typename Type, Traits::EnableIf< IsArrayOrSet< Type >, Traits::HasSize< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the specified iteratable (eg.

std::vector, std::list) to the specified value.

Definition at line 217 of file reflector.h.

◆ push() [11/20]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified std::string to the specified value.

Definition at line 208 of file reflector.h.

◆ push() [12/20]

template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified reflectable to the specified value.

Pushes the specified reflectable which has a custom type to the specified value.

Definition at line 140 of file reflector.h.

◆ push() [13/20]

template<typename Type, Traits::DisableIf< IsJsonSerializable< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value::Array & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the reflectable to the specified array.

Pushes the specified reflectable which has a custom type to the specified array.

Pushes the specified reflectable to the specified array.

Definition at line 379 of file reflector.h.

◆ push() [14/20]

template<typename Type, Traits::EnableIf< IsJsonSerializable< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value::Array & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the reflectable which has a custom type to the specified array.

Pushes the specified reflectable which has a custom type to the specified array.

Definition at line 367 of file reflector.h.

◆ push() [15/20]

template<typename Type, Traits::DisableIf< IsBuiltInType< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( const Type & reflectable,
RAPIDJSON_NAMESPACE::Value::Object & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )

Pushes the reflectable which has a custom type to the specified object.

Remarks
The definition of this function must be provided by the code generator or Boost.Hana.

Definition at line 30 of file reflector-boosthana.h.

◆ push() [16/20]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string_view > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( Type reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified std::string_view to the specified value.

Definition at line 195 of file reflector.h.

◆ push() [17/20]

template<typename Type, Traits::EnableIfAny< std::is_same< Type, const char * >, std::is_same< Type, const char *const & > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( Type reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified C-string to the specified value.

Definition at line 182 of file reflector.h.

◆ push() [18/20]

template<typename Type, Traits::EnableIfAny< std::is_enum< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( Type reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified enumeration item to the specified value.

Definition at line 172 of file reflector.h.

◆ push() [19/20]

template<typename Type, Traits::EnableIfAny< std::is_same< Type, std::uint8_t >, std::is_same< Type, std::int8_t > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( Type reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified 8-bit integer to the specified value.

Definition at line 163 of file reflector.h.

◆ push() [20/20]

template<typename Type, Traits::EnableIfAny< Traits::All< std::is_integral< Type >, Traits::Not< std::is_same< Type, std::uint8_t > >, Traits::Not< std::is_same< Type, std::int8_t > > >, std::is_floating_point< Type > > * = nullptr>
void ReflectiveRapidJSON::JsonReflector::push ( Type reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Pushes the specified integer/float/boolean to the specified value.

Definition at line 154 of file reflector.h.

◆ push< CppUtilities::DateTime >()

template<>
void ReflectiveRapidJSON::JsonReflector::push< CppUtilities::DateTime > ( const CppUtilities::DateTime & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Definition at line 23 of file reflector-chronoutilities.h.

◆ push< CppUtilities::TimeSpan >()

template<>
void ReflectiveRapidJSON::JsonReflector::push< CppUtilities::TimeSpan > ( const CppUtilities::TimeSpan & reflectable,
RAPIDJSON_NAMESPACE::Value & value,
RAPIDJSON_NAMESPACE::Document::AllocatorType & allocator )
inline

Definition at line 31 of file reflector-chronoutilities.h.

◆ rapidJsonSize()

RAPIDJSON_NAMESPACE::SizeType ReflectiveRapidJSON::JsonReflector::rapidJsonSize ( std::size_t size)
constexpr

Casts the specified size to the size type used by RapidJSON ensuring no overflow happens.

Definition at line 53 of file reflector.h.

◆ serializeJsonDocToString()

RAPIDJSON_NAMESPACE::StringBuffer ReflectiveRapidJSON::JsonReflector::serializeJsonDocToString ( RAPIDJSON_NAMESPACE::Document & document)
inline

Serializes the specified JSON document.

Definition at line 62 of file reflector.h.

◆ toJson()

template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type >, std::is_integral< Type >, std::is_floating_point< Type >, Traits::IsString< Type >, IsArray< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::StringBuffer ReflectiveRapidJSON::JsonReflector::toJson ( const Type & reflectable)

Serializes the specified reflectable.

Definition at line 1086 of file reflector.h.

◆ toJsonDocument() [1/6]

template<typename Type, Traits::EnableIf< std::is_same< Type, const char * > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( const char * reflectable)

Serializes the specified reflectable which is a C-string.

Definition at line 1052 of file reflector.h.

◆ toJsonDocument() [2/6]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( const std::string & reflectable)

Serializes the specified reflectable which is an std::string.

Definition at line 1041 of file reflector.h.

◆ toJsonDocument() [3/6]

template<typename Type, Traits::EnableIf< IsArray< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( const Type & reflectable)

Serializes the specified reflectable which can be mapped to an array.

Definition at line 1073 of file reflector.h.

◆ toJsonDocument() [4/6]

template<typename Type, Traits::EnableIfAny< IsJsonSerializable< Type >, IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( const Type & reflectable)

Serializes the specified reflectable which has a custom type or can be mapped to and object.

Definition at line 1019 of file reflector.h.

◆ toJsonDocument() [5/6]

template<typename Type, Traits::EnableIf< std::is_same< Type, std::string_view > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( std::string_view reflectable)

Serializes the specified reflectable which is an std::string_view.

Definition at line 1063 of file reflector.h.

◆ toJsonDocument() [6/6]

template<typename Type, Traits::EnableIfAny< std::is_integral< Type >, std::is_floating_point< Type > > * = nullptr>
RAPIDJSON_NAMESPACE::Document ReflectiveRapidJSON::JsonReflector::toJsonDocument ( Type reflectable)

Serializes the specified reflectable which is an integer, float or boolean.

Definition at line 1030 of file reflector.h.