#include <google/protobuf/util/field_mask_util.h>
namespace google::protobuf::util
Define utilitários para o tipo conhecido do FieldMask.
Turmas neste arquivo | |
---|---|
classe FieldMaskUtil
#include <google/protobuf/util/field_mask_util.h>
namespace google::protobuf::util
Participantes | |
---|---|
static std::string | ToString(const FieldMask & mask) Converte FieldMask de/para string, formatado por separando cada caminho com uma vírgula (por exemplo, "foo_bar,baz.quz"). |
static void | FromString(StringPiece str, FieldMask * out) |
template static void | FromFieldNumbers(const std::vector< int64_t > & field_numbers, FieldMask * out) Preenche a FieldMask com os caminhos correspondentes aos campos com os números fornecidos, depois de verificar se todos os números de campo são válidos. |
static bool | ToJsonString(const FieldMask & mask, std::string * out) Converte FieldMask de/para string, formatado de acordo com a especificação JSON proto3 para FieldMask (por exemplo, "fooBar,baz.quz"). mais… |
static bool | FromJsonString(StringPiece str, FieldMask * out) |
static bool | GetFieldDescriptors(const Descriptor * descriptor, StringPiece path, std::vector< const FieldDescriptor * > * field_descriptors) Recebe os descritores dos campos que o caminho fornecido do descritor de mensagem atravessa, se field_Descriptors não for nulo. mais… |
template static bool | IsValidPath(StringPiece path) Verifica se o caminho fornecido é válido para o tipo T. |
template static bool | IsValidFieldMask(const FieldMask & mask) Verifica se a FieldMask especificada é válida para o tipo T. |
template static void | AddPathToFieldMask(StringPiece path, FieldMask * mask) Adiciona um caminho a FieldMask após verificar se o caminho fornecido é válido. mais… |
template static FieldMask | GetFieldMaskForAllFields() Cria um FieldMask com todos os campos do tipo T. mais… |
template static void | GetFieldMaskForAllFields(FieldMask * out) |
static void | GetFieldMaskForAllFields(const Descriptor * descriptor, FieldMask * out) Essa variação usa o descritor de tipo protobuf como um argumento. mais… |
static void | ToCanonicalForm(const FieldMask & mask, FieldMask * out) Converte um FieldMask no formato canônico. mais… |
static void | Union(const FieldMask & mask1, const FieldMask & mask2, FieldMask * out) Cria uma união de duas FieldMasks. |
static void | Intersect(const FieldMask & mask1, const FieldMask & mask2, FieldMask * out) Cria uma intersecção de duas FieldMasks. |
template static void | Subtract(const FieldMask & mask1, const FieldMask & mask2, FieldMask * out) Subtrai a mask2 da base de mask1 do tipo T. |
static void | Subtract(const Descriptor * descriptor, const FieldMask & mask1, const FieldMask & mask2, FieldMask * out) Essa variação usa o descritor de tipo protobuf como um argumento. mais… |
static bool | IsPathInFieldMask(StringPiece path, const FieldMask & mask) Retornará "true" se o caminho for coberto pela FieldMask especificada. mais… |
static void | MergeMessageTo(const Message & source, const FieldMask & mask, const MergeOptions & options, Message * destination) Mescla os campos especificados em uma FieldMask em outra mensagem. |
static bool | TrimMessage(const FieldMask & mask, Message * message) Remove de "mensagem" qualquer campo que não seja representado no FieldMask fornecido. mais… |
static bool | TrimMessage(const FieldMask & mask, Message * message, const TrimOptions & options) Remove de "message" qualquer campo que não seja representado na FieldMask fornecida com TrimOptions personalizados. mais... |
static bool FieldMaskUtil::ToJsonString(
const FieldMask & mask,
std::string * out)
const FieldMask & mask,
std::string * out)
Converte FieldMask de/para string, formatado de acordo com a especificação JSON proto3 para FieldMask (por exemplo, "fooBar,baz.quz").
Se o nome do campo não estiver em conformidade com o estilo (ou seja, não snake_case ao ser convertido em string, ou não camelCase quando convertido de string), a conversão falhará.
static bool FieldMaskUtil::GetFieldDescriptors(
const Descriptor * descriptor,
StringPiece path,
std::vector< const FieldDescriptor * > * field_descriptors)
const Descriptor * descriptor,
StringPiece path,
std::vector< const FieldDescriptor * > * field_descriptors)
Recebe os descritores dos campos que o caminho fornecido do descritor de mensagem atravessa, se field_Descriptors não for nulo.
Retornar "false" se o caminho não for válido e o conteúdo de field_descritores não for especificado.
template static void FieldMaskUtil::AddPathToFieldMask(
StringPiece path,
FieldMask * mask)
StringPiece path,
FieldMask * mask)
Adiciona um caminho a FieldMask após verificar se o caminho fornecido é válido.
Esse método falhará na verificação se o caminho não for válido para o tipo T.
template static FieldMask FieldMaskUtil::GetFieldMaskForAllFields()
Cria um FieldMask com todos os campos do tipo T.
Essa FieldMask contém apenas campos de T, mas não campos de submensagem.
static void FieldMaskUtil::GetFieldMaskForAllFields(
const Descriptor * descriptor,
FieldMask * out)
const Descriptor * descriptor,
FieldMask * out)
Essa variação usa o descritor de tipo protobuf como um argumento.
Útil quando o tipo não é conhecido no momento da compilação.
static void FieldMaskUtil::ToCanonicalForm(
const FieldMask & mask,
FieldMask * out)
const FieldMask & mask,
FieldMask * out)
Converte um FieldMask no formato canônico.
Ele vai:
1. Remove paths that are covered by another path. For example, "foo.bar" is covered by "foo" and will be removed if "foo" is also in the FieldMask. 2. Sort all paths in alphabetical order.
static void FieldMaskUtil::Subtract(
const Descriptor * descriptor,
const FieldMask & mask1,
const FieldMask & mask2,
FieldMask * out)
const Descriptor * descriptor,
const FieldMask & mask1,
const FieldMask & mask2,
FieldMask * out)
Essa variação usa o descritor de tipo protobuf como um argumento.
Útil quando o tipo não é conhecido no momento da compilação.
static bool FieldMaskUtil::IsPathInFieldMask(
StringPiece path,
const FieldMask & mask)
StringPiece path,
const FieldMask & mask)
Retornará "true" se o caminho for coberto pela FieldMask especificada.
O caminho "foo.bar" abrange todos os caminhos, como "foo.bar.baz", "foo.bar.quz.x" etc. Além disso, os caminhos pais não são cobertos por caminhos filhos explícitos, ou seja, "foo.bar" NÃO abrange "foo", mesmo que "bar" seja o único filho.
static bool FieldMaskUtil::TrimMessage(
const FieldMask & mask,
Message * message)
const FieldMask & mask,
Message * message)
Remove de "mensagem" qualquer campo que não seja representado no FieldMask fornecido.
Se a FieldMask estiver vazia, nada acontecerá. Retorna "true" se a mensagem for modificada.
static bool FieldMaskUtil::TrimMessage(
const FieldMask & mask,
Message * message,
const TrimOptions & options)
const FieldMask & mask,
Message * message,
const TrimOptions & options)
Remove de "message" qualquer campo que não seja representado na FieldMask fornecida com TrimOptions personalizados.
Se a FieldMask estiver vazia, nada acontecerá. Retorna "true" se a mensagem for modificada.
classe FieldMaskUtil::MergeOptions
#include <google/protobuf/util/field_mask_util.h>
namespace google::protobuf::util
Participantes | |
---|---|
| MergeOptions() |
void | set_replace_message_fields(bool value) Ao mesclar campos de mensagens, o comportamento padrão é mesclar o conteúdo de dois campos de mensagens. mais… |
bool | replace_message_fields() const |
void | set_replace_repeated_fields(bool value) O comportamento de mesclagem padrão vai anexar entradas do campo repetido de origem ao campo repetido de destino. mais… |
bool | replace_repeated_fields() const |
void MergeOptions::set_replace_message_fields(
bool value)
bool value)
Ao mesclar campos de mensagens, o comportamento padrão é mesclar o conteúdo de dois campos de mensagens.
Se você quiser usar o campo da mensagem de origem para substituir o campo correspondente na mensagem de destino, defina essa sinalização como "true". Quando essa sinalização for definida, os campos de submensagem especificados que estejam ausentes na origem serão apagados no destino.
void MergeOptions::set_replace_repeated_fields(
bool value)
bool value)
O comportamento de mesclagem padrão vai anexar entradas do campo repetido de origem ao campo repetido de destino.
Se você quiser apenas manter as entradas do campo repetido de origem, defina essa sinalização como "true".
classe FieldMaskUtil::TrimOptions
#include <google/protobuf/util/field_mask_util.h>
namespace google::protobuf::util
Participantes | |
---|---|
| TrimOptions() |
void | set_keep_required_fields(bool value) Ao cortar campos de mensagem, o comportamento padrão é cortar os campos obrigatórios da mensagem atual se eles não forem especificados na máscara de campo. mais… |
bool | keep_required_fields() const |
void TrimOptions::set_keep_required_fields(
bool value)
bool value)
Ao cortar campos de mensagem, o comportamento padrão é cortar os campos obrigatórios da mensagem atual se eles não forem especificados na máscara de campo.
Se você quiser manter os campos obrigatórios da mensagem atual mesmo que eles não sejam especificados na máscara de campo, defina essa sinalização como "true".