Common serializers.
Classes | |
struct | SaxStream |
struct | To |
Functions | |
template<typename... Types> | |
formats::json::Value | Serialize (const boost::variant< Types... > &value, To< formats::json::Value >) |
template<class Rep , class Period > | |
static json::Value | Serialize (std::chrono::duration< Rep, Period > duration, To< formats::json::Value >) |
template<class Rep , class Period > | |
static void | WriteToStream (std::chrono::duration< Rep, Period > duration, formats::json::StringBuilder &sw) |
template<typename T , typename Value > | |
Value | Serialize (const boost::optional< T > &value, To< Value >) |
template<typename Value > | |
Value | Serialize (const boost::uuids::uuid &value, To< Value >) |
Outputs UUID in format: 12345678-1234-1234-1234-123412345678. | |
template<typename StringBuilder > | |
void | WriteToStream (const boost::uuids::uuid &value, StringBuilder &sw) |
template<typename T , typename Value > | |
std::enable_if_t< meta::kIsRange< T > &&!meta::kIsMap< T > &&!std::is_same_v< T, boost::uuids::uuid > &&!std::is_convertible_v< T &, utils::impl::strong_typedef::StrongTypedefTag & >, Value > | Serialize (const T &value, To< Value >) |
Common containers serialization (vector/set) | |
template<typename T , typename Value > | |
std::enable_if_t< meta::kIsUniqueMap< T >, Value > | Serialize (const T &value, To< Value >) |
Mappings serialization. | |
template<typename T , typename Value > | |
Value | Serialize (const std::optional< T > &value, To< Value >) |
std::optional serialization | |
template<typename Value , typename Duration > | |
Value | Serialize (const utils::datetime::TimeOfDay< Duration > &value, To< Value >) |
template<typename Value , typename Duration , typename StringBuilder > | |
void | WriteToStream (const utils::datetime::TimeOfDay< Duration > &value, StringBuilder &sw) |
template<typename Value , typename... Types> | |
Value | Serialize (const std::variant< Types... > &value, To< Value >) |
template<typename... Types, typename StringBuilder > | |
void | WriteToStream (const std::variant< Types... > &value, StringBuilder &sw) |
Variant serialization. | |
template<typename T , typename StringBuilder > | |
void | WriteToStream (const std::optional< T > &value, StringBuilder &sw) |
std::optional serialization | |
template<typename T , typename StringBuilder > | |
std::enable_if_t< !std::is_arithmetic_v< T > &&!std::is_convertible_v< T &, utils::impl::strong_typedef::StrongTypedefTag & > > | WriteToStream (const T &value, StringBuilder &sw) |
template<class Rep , class Period > | |
static bson::Value | Serialize (std::chrono::duration< Rep, Period > duration, To< formats::bson::Value >) |
json::Value | Serialize (const google::protobuf::Message &message, To< json::Value >) |
Value formats::serialize::Serialize | ( | const boost::optional< T > & | value, |
To< Value > | ) |
Definition at line 18 of file boost_optional.hpp.
Value formats::serialize::Serialize | ( | const boost::uuids::uuid & | value, |
To< Value > | ) |
Outputs UUID in format: 12345678-1234-1234-1234-123412345678.
Definition at line 24 of file boost_uuid.hpp.
formats::json::Value formats::serialize::Serialize | ( | const boost::variant< Types... > & | value, |
To< formats::json::Value > | ) |
Definition at line 18 of file serialize_boost_variant.hpp.
Value formats::serialize::Serialize | ( | const std::optional< T > & | value, |
To< Value > | ) |
std::optional serialization
Definition at line 56 of file common_containers.hpp.
Value formats::serialize::Serialize | ( | const std::variant< Types... > & | value, |
To< Value > | ) |
Definition at line 16 of file variant.hpp.
std::enable_if_t< meta::kIsRange< T > &&!meta::kIsMap< T > && !std::is_same_v< T, boost::uuids::uuid > && !std::is_convertible_v< T &, utils::impl::strong_typedef::StrongTypedefTag & >, Value > formats::serialize::Serialize | ( | const T & | value, |
To< Value > | ) |
Common containers serialization (vector/set)
Definition at line 34 of file common_containers.hpp.
std::enable_if_t< meta::kIsUniqueMap< T >, Value > formats::serialize::Serialize | ( | const T & | value, |
To< Value > | ) |
Mappings serialization.
Definition at line 45 of file common_containers.hpp.
Value formats::serialize::Serialize | ( | const utils::datetime::TimeOfDay< Duration > & | value, |
To< Value > | ) |
Definition at line 18 of file time_of_day.hpp.
|
static |
Definition at line 18 of file serialize_duration.hpp.
|
static |
Definition at line 19 of file serialize_duration.hpp.
void formats::serialize::WriteToStream | ( | const boost::uuids::uuid & | value, |
StringBuilder & | sw ) |
Definition at line 29 of file boost_uuid.hpp.
void formats::serialize::WriteToStream | ( | const std::optional< T > & | value, |
StringBuilder & | sw ) |
std::optional serialization
Definition at line 38 of file write_to_stream.hpp.
void formats::serialize::WriteToStream | ( | const std::variant< Types... > & | value, |
StringBuilder & | sw ) |
Variant serialization.
Definition at line 31 of file write_to_stream.hpp.
std::enable_if_t< !std::is_arithmetic_v< T > && !std::is_convertible_v< T &, utils::impl::strong_typedef::StrongTypedefTag & > > formats::serialize::WriteToStream | ( | const T & | value, |
StringBuilder & | sw ) |
Handle ranges, fall back to using formats::*Serialize
The signature of this WriteToStream must remain the less specialized one, so that it is not preferred over other functions.
Definition at line 85 of file write_to_stream.hpp.
void formats::serialize::WriteToStream | ( | const utils::datetime::TimeOfDay< Duration > & | value, |
StringBuilder & | sw ) |
Definition at line 23 of file time_of_day.hpp.
|
static |
Definition at line 27 of file serialize_duration.hpp.