Utilities for visiting the fields of protobufs.
Definition in file protobuf_visit.hpp.
Go to the source code of this file.
#include <mutex>#include <string_view>#include <vector>#include <google/protobuf/message.h>#include <userver/engine/shared_mutex.hpp>#include <userver/utils/assert.hpp>#include <userver/utils/function_ref.hpp>#include <userver/utils/impl/internal_tag_fwd.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*> |