userver: /home/antonyzhilin/arcadia/taxi/uservices/userver/libraries/proto-structs/include/userver/proto-structs/oneof.hpp File Reference
Loading...
Searching...
No Matches
oneof.hpp File Reference

Detailed Description

Contains type to represent oneof protobuf message fields in a struct.

Definition in file oneof.hpp.

Go to the source code of this file.

#include <optional>
#include <string>
#include <type_traits>
#include <utility>
#include <variant>
#include <userver/proto-structs/exceptions.hpp>
#include <userver/proto-structs/impl/traits_light.hpp>
#include <userver/proto-structs/type_mapping.hpp>
+ This graph shows which files directly or indirectly include this file:

Classes

class  proto_structs::Oneof< TFields >
 Wrapper for oneof protobuf message fields. More...
 

Namespaces

namespace  proto_structs
 Top namespace for the proto-structs library.
 
namespace  proto_structs::traits
 Namespace contains types for obtaining meta information (traits, concepts, etc.)
 

Typedefs

template<std::size_t Index, typename T>
using proto_structs::OneofAlternativeTrait = impl::OneofAlternativeTrait<Index, std::remove_cv_t<T>>
 Provides information about proto_structs::Oneof field type at position Index
 
template<std::size_t Index, typename T>
using proto_structs::OneofAlternativeType = OneofAlternativeTrait<Index, T>::Type
 

Variables

constexpr std::size_t proto_structs::kOneofNpos = -1
 Special index value used to indicate oneof without any field set.