tuningfork::VectorStream

#include <protobuf_nano_util.h>

Tampilan vektor yang tersedia di vec.

Ringkasan

Tidak ada kepemilikan yang diambil.

Detail
Parameter
vec
Contoh penggunaan:
std::vector v;
VectorStream str {&v, 0};
pb_ostream_t stream = {VectorStream::Write, &str, SIZE_MAX, 0};
pb_encode(&stream, ...);

Atribut publik

it
size_t
Posisi saat ini dalam vektor saat decoding atau encoding.
vec
std::vector< uint8_t > *
Vektor byte yang harus valid saat Read atau Write dipanggil.

Fungsi statis publik

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
Membaca byte count dari streaming ke buffering yang diberikan.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
Menulis byte count dari buffering yang diberikan ke streaming.

Atribut publik

it

size_t tuningfork::VectorStream::it

Posisi saat ini dalam vektor saat decoding atau encoding.

vec

std::vector< uint8_t > * tuningfork::VectorStream::vec

Vektor byte yang harus valid saat Read atau Write dipanggil.

Vektor akan diubah ukurannya sesuai kebutuhan oleh Write.

Fungsi statis publik

Membaca

bool tuningfork::VectorStream::Read(
  pb_istream_t *stream,
  uint8_t *buf,
  size_t count
)

Membaca byte count dari streaming ke buffering yang diberikan.

Detail
Parameter
stream
Streaming untuk dibaca.
buf
Buffering untuk ditulisi.
count
Jumlah byte untuk dibaca.
Hasil
true jika berhasil, false pada error baca.

Tulis

bool tuningfork::VectorStream::Write(
  pb_ostream_t *stream,
  const uint8_t *buf,
  size_t count
)

Menulis byte count dari buffering yang diberikan ke streaming.

Detail
Parameter
stream
Streaming untuk ditulisi.
buf
Buffering untuk dibaca.
count
Jumlah byte untuk ditulisi.
Hasil
true jika berhasil, false pada error tulis.