OBSERVAÇÃO:este site foi descontinuado. O site será desativado após 31 de janeiro de 2023, e o tráfego será redirecionado para o novo site em https://protobuf.dev. Enquanto isso, as atualizações serão feitas apenas para protobuf.dev.

campo_desconhecido_seta.h

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

#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)
Mescle o conteúdo de um UnknownFieldSet com o UnknownFieldSet em *metadados, se houver um. mais...

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álise

Eles 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

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)

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)

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)

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)

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)

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.

Acessores

Cada 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
}

TIPO DE VARIAÇÃO
TYPE_FIXED32.
TYPE_FIXED64
TYPE_LENGTH_DELIMITED
TIPO DE GRUPO

void UnknownField::SerializeLengthDelimitedNoTag(
        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)

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