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.
 
void AddError (const ::google::protobuf::FieldDescriptor &field_desc, std::string_view reason)
 Adds conversion error Parameter field_desc contains protobuf message field descriptor for which conversion has failed.
 
void AddError (std::string_view reason)
 Adds conversion error Method is intended for cases when it is hard to associate error with concrete field of the protobuf message.
 

Protected Member Functions

 Context (const ::google::protobuf::Descriptor &message_desc) noexcept
 
 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
 
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 PopFromPath ()
 
void PushToPath (int field_number)
 
void PushToPath (int field_number)
 

Member Typedef Documentation

◆ Error

Definition at line 50 of file context_base.hpp.

Member Function Documentation

◆ AddError() [1/3]

void proto_structs::io::ContextWithErrors< WriteError >::AddError ( const ::google::protobuf::FieldDescriptor & field_desc,
std::string_view reason )
inherited

Adds conversion error Parameter field_desc contains protobuf message field descriptor for which conversion has failed.

Definition at line 67 of file context_base.cpp.

◆ AddError() [2/3]

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.

◆ AddError() [3/3]

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

Adds conversion error Method is intended for cases when it is hard to associate error with concrete field of the protobuf message.

Definition at line 71 of file context_base.cpp.

◆ Context()

proto_structs::io::Context::Context ( const ::google::protobuf::Descriptor & message_desc)
inlineexplicitprotectednoexceptinherited

Definition at line 74 of file context_base.hpp.

◆ GetCurrentPath() [1/3]

std::string proto_structs::io::Context::GetCurrentPath ( ) const
protectedinherited

Definition at line 75 of file context_base.cpp.

◆ GetCurrentPath() [2/3]

std::string proto_structs::io::Context::GetCurrentPath ( const ::google::protobuf::FieldDescriptor & current_field_desc) const
protectedinherited

Definition at line 75 of file context_base.cpp.

◆ GetCurrentPath() [3/3]

std::string proto_structs::io::Context::GetCurrentPath ( int current_field_number) const
protectedinherited

Definition at line 75 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.

◆ PopFromPath()

void proto_structs::io::Context::PopFromPath ( )
inlineprotectedinherited

Definition at line 76 of file context_base.hpp.

◆ PushToPath()

void proto_structs::io::Context::PushToPath ( int field_number)
inlineprotectedinherited

Definition at line 77 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 140 of file context.hpp.


The documentation for this class was generated from the following file: