11#include <userver/utils/fast_pimpl.hpp>
12#include <userver/utils/impl/projecting_view.hpp>
13#include <userver/utils/impl/transparent_hash.hpp>
14#include <userver/utils/optional_ref.hpp>
15#include <userver/utils/str_icase.hpp>
17namespace google::protobuf {
25USERVER_NAMESPACE_BEGIN
39 explicit BadPathError(
const std::string& msg) : std::runtime_error(msg) {}
52 explicit FieldMask(
const google::protobuf::FieldMask& field_mask);
54 enum class Encoding { kCommaSeparated = 0, kWebSafeBase64 = 1 };
57 FieldMask(std::string_view string, Encoding encoding);
77 void CheckValidity(
const google::protobuf::Descriptor* descriptor)
const;
95 void Trim(google::protobuf::Message& message)
const;
112 return utils::impl::ProjectingView(*children_, [](
const auto& e) -> std::string_view {
return e.first; });
125 google::protobuf::FieldMask ToRawMask()
const;
127 void ToRawMaskImpl(std::vector<std::string>& stack, google::protobuf::FieldMask& out)
const;
130 bool is_leaf_{
false};