Common serializers.
Classes | |
| struct | SaxStream |
| struct | To |
Functions | |
| template<impl::RangeNotMap T, typename Value> | |
| Value | Serialize (const T &value, To< Value >) |
| Common containers serialization (vector/set) | |
| template<typename T, typename Value> | |
| Value | Serialize (const std::optional< T > &value, To< Value >) |
| std::optional serialization | |
| template<typename TStruct> requires proto_structs::traits::ProtoStruct<std::remove_cvref_t<TStruct>> | |
| json::Value | Serialize (const TStruct &obj, To< json::Value >) |
| Converts protobuf struct obj to formats::json::Value. Conversion is performed by applying proto_structs::StructToJson to obj with default protobuf::json::PrintOptions. | |
| 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 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> requires (!std::is_arithmetic_v<T> && !std::is_convertible_v<T&, utils::impl::strong_typedef::StrongTypedefTag&>) | |
| void | 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 >) |
| formats::json::Value | Serialize (const google::protobuf::Timestamp &value, formats::serialize::To< formats::json::Value >) |
| formats::json::Value | Serialize (const google::type::Date &value, formats::serialize::To< formats::json::Value >) |
| json::Value | Serialize (const google::protobuf::Message &message, To< json::Value >) |
Conversion from any google::protobuf::Message to formats::json::Value. Uses the same format as ugrpc::MessageToJson with its default options. | |
| formats::json::Value | Serialize (const grpc::StatusCode &value, formats::serialize::To< formats::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.
| json::Value formats::serialize::Serialize | ( | const google::protobuf::Message & | message, |
| To< json::Value > | ) |
Conversion from any google::protobuf::Message to formats::json::Value. Uses the same format as ugrpc::MessageToJson with its default options.
Works for google::protobuf::Value, google::protobuf::Struct, google::protobuf::ListValue (top-level and nested) as well, converts them without extra objects in JSON representation.
Use as:
| Value formats::serialize::Serialize | ( | const std::optional< T > & | value, |
| To< Value > | ) |
std::optional serialization
Definition at line 59 of file common_containers.hpp.
| Value formats::serialize::Serialize | ( | const std::variant< Types... > & | value, |
| To< Value > | ) |
Definition at line 16 of file variant.hpp.
| Value formats::serialize::Serialize | ( | const T & | value, |
| To< Value > | ) |
Common containers serialization (vector/set)
Mappings serialization.
Definition at line 38 of file common_containers.hpp.
| json::Value formats::serialize::Serialize | ( | const TStruct & | obj, |
| To< json::Value > | ) |
Converts protobuf struct obj to formats::json::Value. Conversion is performed by applying proto_structs::StructToJson to obj with default protobuf::json::PrintOptions.
| 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 41 of file write_to_stream.hpp.
| void formats::serialize::WriteToStream | ( | const std::variant< Types... > & | value, |
| StringBuilder & | sw ) |
Variant serialization.
Definition at line 35 of file write_to_stream.hpp.
| void 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 86 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 26 of file serialize_duration.hpp.