Utilities for visiting the fields of protobufs.
Definition in file protobuf_visit.hpp.
Go to the source code of this file.
#include <mutex>
#include <shared_mutex>
#include <string_view>
#include <vector>
#include <google/protobuf/message.h>
#include <userver/utils/assert.hpp>
#include <userver/utils/function_ref.hpp>
#include <userver/utils/impl/internal_tag.hpp>
#include <userver/utils/span.hpp>
Classes | |
class | ugrpc::VisitorCompiler |
Base class for BaseVisitor. Constructs and manages the descriptor graph to collect the data about the messages and enable the visitors to find all selected structures. More... | |
class | ugrpc::BaseVisitor< Callback > |
Base class for FieldsVisitor and MessagesVisitor. Provides the interface and contains common code to use the data collected in the VisitorCompiler. More... | |
class | ugrpc::FieldsVisitor |
Collects knowledge of the structure of the protobuf messages allowing for efficient loops over fields to apply a callback to the ones selected by the 'selector' function. More... | |
class | ugrpc::MessagesVisitor |
Collects knowledge of the structure of the protobuf messages allowing for efficient loops over nested messages to apply a callback to the ones selected by the 'selector' function. More... | |
Namespaces | |
namespace | ugrpc |
Asynchronous gRPC driver. | |
Typedefs | |
using | ugrpc::MessageVisitCallback = utils::function_ref<void(google::protobuf::Message&)> |
using | ugrpc::FieldVisitCallback |
using | ugrpc::DescriptorList = std::vector<const google::protobuf::Descriptor*> |
using | ugrpc::FieldDescriptorList = std::vector<const google::protobuf::FieldDescriptor*> |