Conversion context classes which provide methods for performing conversion.
Context base classes providing methods for conversion process management.
Definition in file context.hpp.
Go to the source code of this file.
#include <limits>
#include <type_traits>
#include <utility>
#include <userver/proto-structs/io/context_base.hpp>
#include <userver/proto-structs/io/fwd.hpp>
#include <userver/proto-structs/io/std/scalar.hpp>
#include <userver/proto-structs/type_mapping.hpp>
Classes | |
class | proto_structs::io::ReadContext |
Read operation context passed to user-defined ReadProtoStruct global functions. More... | |
class | proto_structs::io::WriteContext |
Write operation context passed to user-defined WriteProtoStruct global functions. More... | |
Namespaces | |
namespace | proto_structs |
Top namespace for the proto-structs library. | |
namespace | proto_structs::io |
Namespace for conversion utlities and predefined proto-structs conversion hooks for well-known std/userver types. | |
Functions | |
template<traits::ProtoMessage TMessage, traits::ProtoStruct TStruct> | |
void | proto_structs::MessageToStruct (const TMessage &msg, TStruct &obj) |
Converts protobuf message msg to proto struct obj. | |
template<typename TStruct, traits::ProtoMessage TMessage> requires traits::ProtoStruct<std::remove_cvref_t<TStruct>> | |
void | proto_structs::StructToMessage (TStruct &&obj, TMessage &msg) |
Converts proto struct obj to protobuf message msg. | |
template<typename TStructField, typename TMessageField> requires ScalarCompatibleWith<TStructField, TMessageField> | |
TStructField | proto_structs::io::ReadProtoField (ReadContext &ctx, To< TStructField >, int field_number, const TMessageField &message_field) |
template<typename TStructField, typename TMessageField> requires ScalarCompatibleWith<std::remove_cvref_t<TStructField>, TMessageField> | |
void | proto_structs::io::WriteProtoField (WriteContext &ctx, TStructField &&struct_field, int field_number, TMessageField &message_field) |