#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf
Contém classes usadas para acompanhar campos não reconhecidos que são vistos durante a análise de uma mensagem de protocolo.
Turmas neste arquivo | |
---|---|
Um UnknownFieldSet contém campos que foram encontrados ao analisar uma mensagem, mas não foram definidos pelo tipo. | |
Representa um campo em um UnknownFieldSet. | |
classe UnknownFieldSet
#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf
Um UnknownFieldSet contém campos que foram encontrados ao analisar uma mensagem, mas não foram definidos pelo tipo.
Acompanhá-las pode ser útil, principalmente porque elas podem ser gravadas se a mensagem for serializada novamente sem ser limpa. Isso significa que o software que simplesmente recebe mensagens e as encaminha a outros servidores não precisa ser atualizado sempre que um novo campo for adicionado à definição da mensagem.
Para ter o UnknownFieldSet anexado a qualquer mensagem, chame Reflection::GetUnknownFields().
Essa classe é necessariamente vinculada ao formato de transmissão do buffer de protocolo, ao contrário da interface Reflection, que é independente de qualquer esquema de serialização.
Participantes | |
---|---|
| UnknownFieldSet() |
| ~UnknownFieldSet() |
void | Clear() Remova todos os campos. |
void | ClearAndFreeMemory() Remova todos os campos e desaloque objetos de dados internos. |
bool | empty() const Esse conjunto está vazio? |
void | MergeFrom(const UnknownFieldSet & other) Mescle o conteúdo de outro UnknownFieldSet com este. |
void | MergeFromAndDestroy(UnknownFieldSet * other) Semelhante à mostrada acima, mas esta função destruirá o conteúdo de outra. |
void | Swap(UnknownFieldSet * x) Troca o conteúdo de outro UnknownFieldSet por este. |
size_t | SpaceUsedExcludingSelfLong() const Calcula (uma estimativa de) o número total de bytes atualmente usados para armazenar os campos desconhecidos na memória. mais… |
int | SpaceUsedExcludingSelf() const |
size_t | SpaceUsedLong() const Versão de SpaceUsed(), incluindo sizeof(*this). |
int | SpaceUsed() const |
int | field_count() const Retorna o número de campos presentes no UnknownFieldSet. |
const UnknownField & | field(int index) const Receba um campo no conjunto, em que 0 <= índice < field_count(). mais... |
UnknownField * | mutable_field(int index) Receba um ponteiro mutável para um campo no conjunto, em que 0 <= índice < field_count(). mais... |
static void | MergeToInternalMetadata(const UnknownFieldSet & other, internal::InternalMetadata * metadata) |
Adicionar campos | |
void | AddVarint(int number, uint64 value) |
void | AddFixed32(int number, uint32 value) |
void | AddFixed64(int number, uint64 value) |
void | AddLengthDelimited(int number, const std::string & value) |
std::string * | AddLengthDelimited(int number) |
UnknownFieldSet * | AddGroup(int number) |
void | AddField(const UnknownField & field) Adiciona um campo desconhecido de outro conjunto. |
void | DeleteSubrange(int start, int num) Exclua campos com índices no intervalo [[]start . mais… |
void | DeleteByNumber(int number) Exclua todos os campos que tenham um número específico. mais… |
Auxiliares na análiseEles funcionam como os métodos de Message com nome semelhante. | |
bool | MergeFromCodedStream(io::CodedInputStream * input) |
bool | ParseFromCodedStream(io::CodedInputStream * input) |
bool | ParseFromZeroCopyStream(io::ZeroCopyInputStream * input) |
bool | ParseFromArray(const void * data, int size) |
bool | ParseFromString(const std::string & data) |
template bool | MergeFromMessage(const MessageType & message) Mescla os dados de campo desconhecidos desta mensagem (se houver). mais… |
static const UnknownFieldSet & | default_instance() |
size_t UnknownFieldSet::SpaceUsedExcludingSelfLong() const
Calcula (uma estimativa de) o número total de bytes atualmente usados para armazenar os campos desconhecidos na memória.
NÃO inclui sizeOf(*this) no cálculo.
const UnknownField &
UnknownFieldSet::field(
int index) const
UnknownFieldSet::field(
int index) const
Receba um campo no conjunto, em que 0 <= índice < field_count().
Os campos aparecem na ordem em que foram adicionados.
UnknownField * UnknownFieldSet::mutable_field(
int index)
int index)
Receba um ponteiro mutável para um campo no conjunto, em que 0 <= índice < field_count().
Os campos aparecem na ordem em que foram adicionados.
static void UnknownFieldSet::MergeToInternalMetadata(
const UnknownFieldSet & other,
internal::InternalMetadata * metadata)
const UnknownFieldSet & other,
internal::InternalMetadata * metadata)
Mescle o conteúdo de um UnknownFieldSet com o UnknownFieldSet em *metadados, se houver um.
Se *metadata não tiver um UnknownFieldSet, adicione-o a ele para que ele seja uma cópia do primeiro argumento.
void UnknownFieldSet::DeleteSubrange(
int start,
int num)
int start,
int num)
Exclua campos com índices no intervalo [[]start .
. start+num-1] Cuidado: a implementação move todos os campos com índices [[]start+num .. ].
void UnknownFieldSet::DeleteByNumber(
int number)
int number)
Exclua todos os campos que tenham um número específico.
A ordem dos campos à esquerda é preservada. Cuidado: a implementação move todos os campos após o primeiro campo excluído.
template bool UnknownFieldSet::MergeFromMessage(
const MessageType & message)
const MessageType & message)
Mescla os dados de campo desconhecidos desta mensagem (se houver).
Isso funciona se a mensagem for um protótipo leve ou completo. Por motivos legados, os tipos leve e de retorno total retornam tipos diferentes para MessageType::Unknown_fields().
classe UnknownField
#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf
Representa um campo em um UnknownFieldSet.
Participantes | |
---|---|
enum | Type |
uint64 | varint_ |
uint32 | fixed32_ |
uint64 | fixed64_ |
union LengthDelimited | length_delimited_ |
UnknownFieldSet * | group_ |
int | number() const O número do campo, conforme mostrado no fio. |
Type | type() const O tipo de campo. |
AcessoresCada método funciona apenas para UnknownFields do tipo correspondente. | |
uint32 | number_ |
uint32 | type_ |
union google::protobuf::UnknownField::@35 | data_ |
uint64 | varint() const |
uint32 | fixed32() const |
uint64 | fixed64() const |
const std::string & | length_delimited() const |
const UnknownFieldSet & | group() const |
void | set_varint(uint64 value) |
void | set_fixed32(uint32 value) |
void | set_fixed64(uint64 value) |
void | set_length_delimited(const std::string & value) |
std::string * | mutable_length_delimited() |
UnknownFieldSet * | mutable_group() |
void | SerializeLengthDelimitedNoTag(io::CodedOutputStream * output) const API Serialization. mais… |
size_t | GetLengthDelimitedSize() const |
uint8 * | InternalSerializeLengthDelimitedNoTag(uint8 * target, io::EpsCopyOutputStream * stream) const |
void | Delete() Se esse UnknownField contiver um ponteiro, exclua-o. |
void | DeepCopy(const UnknownField & other) Faça uma cópia detalhada de todos os ponteiros neste UnknownField. |
void | SetType(Type type) Define o tipo de transmissão deste UnknownField. mais... |
enum UnknownField::Type {
TYPE_VARINT,
TYPE_FIXED32,
TYPE_FIXED64,
TYPE_LENGTH_DELIMITED,
TYPE_GROUP
}
TYPE_VARINT,
TYPE_FIXED32,
TYPE_FIXED64,
TYPE_LENGTH_DELIMITED,
TYPE_GROUP
}
TIPO DE VARIAÇÃO | |
TYPE_FIXED32. | |
TYPE_FIXED64 | |
TYPE_LENGTH_DELIMITED | |
TIPO DE GRUPO |
void UnknownField::SerializeLengthDelimitedNoTag(
io::CodedOutputStream * output) const
io::CodedOutputStream * output) const
API Serialization.
Esses métodos podem aproveitar a implementação subjacente e arcar com uma performance melhor do que usar getters para recuperar os dados e fazer a serialização por conta própria.
void UnknownField::SetType(
Type type)
Type type)
Define o tipo de transmissão deste UnknownField.
Só deve ser usado quando este UnknownField está sendo criado.
union UnknownField::LengthDelimited
#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf
Participantes | |
---|---|
std::string * | string_value |