NOT: Bu site kullanımdan kaldırılmıştır. Site 31 Ocak 2023'ten sonra kapatılacak ve trafik https://protobuf.dev adresindeki yeni siteye yönlendirilecek. Bu sırada, yalnızca protobuf.dev'de güncellemeler yapılacak.

bilinmeyen_alan_kümesi.h

#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf

Protokol mesajı ayrıştırılırken görülen tanınmayan alanları takip etmek için kullanılan sınıfları içerir.

Bu dosyadaki sınıflar

UnknownFieldSet, bir ileti ayrıştırılırken karşılaşılan ancak türü tarafından tanımlanmayan alanları içerir.
Bir UnknownFieldSet içindeki bir alanı temsil eder.

sınıf BilinmeyenFieldSet

#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf

UnknownFieldSet, bir ileti ayrıştırılırken karşılaşılan ancak türü tarafından tanımlanmayan alanları içerir.

Özellikle de arada bir izin alınmadan, dizi tekrar seri hale getirilebiliyorsa bu notların takibi yararlı olabilir. Bu, yalnızca mesaj alan ve diğer sunuculara yönlendiren yazılımların, mesaj tanımına her yeni alan eklendiğinde güncellenmesine gerek olmadığı anlamına gelir.

UnknownFieldSet'i herhangi bir iletiye eklemek için Reflection::GetUnknownFields() yöntemini çağırın.

Bu sınıf, herhangi bir serileştirme şemasından bağımsız olan Reflection arayüzünün aksine, protokol arabelleği kablo biçimine bağlıdır.

Üyeler

UnknownFieldSet()
~UnknownFieldSet()
void
Clear()
Tüm alanları kaldırın.
void
ClearAndFreeMemory()
Tüm alanları kaldırıp dahili veri nesnelerini ayırın.
bool
empty() const
Bu grup boş mu?
void
MergeFrom(const UnknownFieldSet & other)
Diğer bazı UnknownFieldSet'in içeriğini bununla birleştirin.
void
MergeFromAndDestroy(UnknownFieldSet * other)
Yukarıdaki işleve benzer, ancak bu işlev diğerlerinin içeriğini yok eder.
void
Swap(UnknownFieldSet * x)
Diğer bazı UnknownFieldSet'in içeriğini bununla değiştirir.
size_t
SpaceUsedExcludingSelfLong() const
Şu anda bilinmeyen alanları bellekte depolamak için kullanılan toplam bayt sayısını hesaplar (tahmini). devamı...
int
SpaceUsedExcludingSelf() const
size_t
SpaceUsedLong() const
sizeof(*this) dahil SpaceUsed() sürümü.
int
SpaceUsed() const
int
field_count() const
UnknownFieldSet'te bulunan alanların sayısını döndürür.
const UnknownField &
field(int index) const
Kümede 0 <= index < field_count() olan bir alan edinin. devamı...
UnknownField *
mutable_field(int index)
Kümedeki bir alana çevrilebilir işaretçi (burada 0 <= index < field_count()) alın. Devamı...
static void
MergeToInternalMetadata(const UnknownFieldSet & other, internal::InternalMetadata * metadata)
UnknownFieldSet içeriğini *meta veri içindeki UnknownFieldSet ile (varsa) birleştirin. devamı...

Alan ekleme

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)
Başka bir kümeden bilinmeyen bir alan ekler.
void
DeleteSubrange(int start, int num)
[[]start içerisinde dizinleri olan alanları silin . devamı...
void
DeleteByNumber(int number)
Belirli bir alan numarasına sahip tüm alanları siler. devamı...

Ayrıştırma yardımcıları

Bunlar, tam olarak Message (İleti) yöntemlerine benzer şekilde çalışır.
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)
Bu iletinin bilinmeyen alan verilerini (varsa) birleştirir. devamı...
static const UnknownFieldSet &
default_instance()

size_t UnknownFieldSet::SpaceUsedExcludingSelfLong() const

Şu anda bilinmeyen alanları bellekte depolamak için kullanılan toplam bayt sayısını hesaplar (tahmini).

Hesaplamaya boyut(*bu) DEĞİL.


const UnknownField &
    UnknownFieldSet::field(
        int index) const

Gruptaki bir alanı alın (burada 0 <= endeks < field_count()).

Alanlar, eklendikleri sırayla görünür.


UnknownField * UnknownFieldSet::mutable_field(
        int index)

Kümedeki bir alana çevrilebilir işaretçi (burada 0 <= index < field_count()) alın.

Alanlar, eklendikleri sırayla görünür.


static void UnknownFieldSet::MergeToInternalMetadata(
        const UnknownFieldSet & other,
        internal::InternalMetadata * metadata)

UnknownFieldSet içeriğini *meta veri içindeki UnknownFieldSet ile (varsa) birleştirin.

*Meta veri UnknownFieldSet içermiyorsa buna ekleyin ve ilk bağımsız değişkenin bir kopyası haline getirin.


void UnknownFieldSet::DeleteSubrange(
        int start,
        int num)

[[]start içerisinde dizinleri olan alanları silin .

. başlangıç+sayı-1]. Dikkat: Uygulama, dizinleri [[]start+num .. ] olan tüm alanları taşır.


void UnknownFieldSet::DeleteByNumber(
        int number)

Belirli bir alan numarasına sahip tüm alanları siler.

Sol alanların sırası korunur. Dikkat: Uygulama, silinen ilk alandan sonraki tüm alanları taşır.


template bool UnknownFieldSet::MergeFromMessage(
        const MessageType & message)

Bu iletinin bilinmeyen alan verilerini (varsa) birleştirir.

Bu değişken, iletinin basit veya tam bir protokol (eski nedenlerle MessageType::unknown_fields() için farklı ve hafif farklı türlerde döndürmesi) olmasına bakılmaksızın çalışır.

sınıf BilinmeyenAlan

#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf

Bir UnknownFieldSet içindeki bir alanı temsil eder.

Üyeler

enum
Type
uint64
varint_
uint32
fixed32_
uint64
fixed64_
union LengthDelimited
length_delimited_
UnknownFieldSet *
group_
int
number() const
Kabloda göründüğü şekilde alanın alan numarası.
Type
type() const
Alan türü.

Erişenler

Her yöntem yalnızca ilgili türe sahip bilinmeyenAlanlar için çalışır.
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
Serialization API'si. devamı...
size_t
GetLengthDelimitedSize() const
uint8 *
InternalSerializeLengthDelimitedNoTag(uint8 * target, io::EpsCopyOutputStream * stream) const
void
Delete()
Bu UnknownField işaretçi içeriyorsa silin.
void
DeepCopy(const UnknownField & other)
Bu UnknownField içindeki işaretçilerin derin bir kopyasını oluşturun.
void
SetType(Type type)
Bu UnknownField öğesinin kablo türünü ayarlayın. devamı...

enum UnknownField::Type {
  TYPE_VARINT,
  TYPE_FIXED32,
  TYPE_FIXED64,
  TYPE_LENGTH_DELIMITED,
  TYPE_GROUP
}

TÜR_VARSİN
TÜR_FIXED32
TYPE_FIXED64
TYPE_LENGTH_DELIMITED TÜR
TÜR_GRUP

void UnknownField::SerializeLengthDelimitedNoTag(
        io::CodedOutputStream * output) const

Serialization API'si.

Bu yöntemler, temeldeki uygulamadan yararlanabilir ve verileri alıp serileştirme işlemini kendiniz yapmaktan daha iyi bir performansa sahip olabilir.


void UnknownField::SetType(
        Type type)

Bu UnknownField öğesinin kablo türünü ayarlayın.

Yalnızca bu UnknownField oluşturulurken kullanılmalıdır.

union BilinmeyenAlan::LengthDelimited

#include <google/protobuf/unknown_field_set.h>
namespace google::protobuf

Üyeler

std::string *
string_value