userver: /data/code/userver/libraries/proto-structs/include/userver/proto-structs/type_mapping.hpp File Reference
Loading...
Searching...
No Matches
type_mapping.hpp File Reference

Detailed Description

Concepts and traits for checking proto struct and protobuf message compatability.

Definition in file type_mapping.hpp.

Go to the source code of this file.

#include <cstdint>
#include <iosfwd>
#include <type_traits>
#include <userver/proto-structs/impl/traits_light.hpp>
#include <userver/utils/meta_light.hpp>
#include <userver/utils/strong_typedef_fwd.hpp>
+ This graph shows which files directly or indirectly include this file:

Classes

struct  proto_structs::traits::CompatibleMessageTrait< T >
 Trait that marks struct/class type as compatible to some protobuf message. More...
 
struct  proto_structs::traits::CompatibleMessageTrait< T >
 

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<typename T>
using proto_structs::traits::CompatibleMessageType = typename CompatibleMessageTrait<std::remove_cv_t<T>>::Type
 
template<std::size_t Index, traits::Oneof TOneof>
using proto_structs::OneofAlternativeTrait = impl::OneofAlternativeTrait<Index, typename TOneof::Base>
 Provides information about proto_structs::Oneof field type at position Index.
 
template<std::size_t Index, typename TOneof>
using proto_structs::OneofAlternativeType = OneofAlternativeTrait<Index, TOneof>::Type
 

Variables

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