userver: proto_structs::io::WriteContext Class Reference
Loading...
Searching...
No Matches
proto_structs::io::WriteContext Class Referencefinal

#include </data/code/userver/libraries/proto-structs/include/userver/proto-structs/io/context.hpp>

Detailed Description

Write operation context passed to user-defined WriteProtoStruct global functions.

Definition at line 103 of file context.hpp.

Inheritance diagram for proto_structs::io::WriteContext:

Public Types

using Error

Public Member Functions

template<typename T, typename U>
void WriteField (T &&struct_field, int field_number, U &message_field)
 Converts proto struct field struct_field to the protobuf message field message_field with number field_number.
template<typename TStruct, proto_structs::traits::ProtoMessage TMessage>
requires proto_structs::traits::ProtoStruct<std::remove_cvref_t<TStruct>>
void WriteField (TStruct &&struct_field, int field_number, TMessage &message_field)
 Converts proto struct field struct_field to the protobuf message field message_field with number field_number.
bool HasErrors () const noexcept
 Returns true if context contains at least one error.
void AddError (int field_number, std::string_view reason)
 Adds conversion error.

Protected Member Functions

 Context (const ::google::protobuf::Descriptor &message_desc) noexcept
std::string GetCurrentPath (int current_field_number) const
std::string GetCurrentPath (const ::google::protobuf::FieldDescriptor &current_field_desc) const
std::string GetCurrentPath () const
void PopFromPath ()
void PushToPath (int field_number)

Member Typedef Documentation

◆ Error

Definition at line 50 of file context_base.hpp.

Member Function Documentation

◆ AddError()

void proto_structs::io::ContextWithErrors< WriteError >::AddError ( int field_number,
std::string_view reason )
inherited

Adds conversion error.

Exceptions
Errorexception. Parameter field_number contains protobuf message field number for which conversion has failed.

Definition at line 63 of file context_base.cpp.

◆ HasErrors()

bool proto_structs::io::ContextWithErrors< WriteError >::HasErrors ( ) const
inlinenoexceptinherited

Returns true if context contains at least one error.

Definition at line 53 of file context_base.hpp.

◆ WriteField() [1/2]

template<typename T, typename U>
void proto_structs::io::WriteContext::WriteField ( T && struct_field,
int field_number,
U & message_field )
inline

Converts proto struct field struct_field to the protobuf message field message_field with number field_number.

Template Parameters
Tproto struct field type
Uprotobuf message type

Definition at line 119 of file context.hpp.

◆ WriteField() [2/2]

template<typename TStruct, proto_structs::traits::ProtoMessage TMessage>
requires proto_structs::traits::ProtoStruct<std::remove_cvref_t<TStruct>>
void proto_structs::io::WriteContext::WriteField ( TStruct && struct_field,
int field_number,
TMessage & message_field )
inline

Converts proto struct field struct_field to the protobuf message field message_field with number field_number.

Template Parameters
Tproto struct field type
Uprotobuf message type

Definition at line 139 of file context.hpp.


The documentation for this class was generated from the following file:
  • /data/code/userver/libraries/proto-structs/include/userver/proto-structs/io/context.hpp