Tuningfork::VectorStream

#include <protobuf_nano_util.h>

Una visualizzazione del vettore fornito in vec.

Riepilogo

Non viene acquisita alcuna proprietà.

Dettagli
Parametri
vec
Esempio di utilizzo:
std::vector<uint8_t> v;
VectorStream str {&v, 0};
pb_ostream_t stream = {VectorStream::Write, &str, SIZE_MAX, 0};
pb_encode(&stream, ...);

Attributi pubblici

it
size_t
La posizione attuale nel vettore durante la decodifica o la codifica.
vec
std::vector< uint8_t > *
Un vettore di byte che deve essere valido mentre vengono chiamati Read o Write.

Funzioni statiche pubbliche

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
Leggi count byte dal flusso al buffer specificato.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
Scrivi count byte dal buffer specificato nel flusso.

Attributi pubblici

it

size_t tuningfork::VectorStream::it

La posizione attuale nel vettore durante la decodifica o la codifica.

Vec

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

Un vettore di byte che deve essere valido mentre vengono chiamati Read o Write.

Il vettore verrà ridimensionato secondo necessità da Write.

Funzioni statiche pubbliche

Letti

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

Leggi count byte dal flusso al buffer specificato.

Dettagli
Parametri
stream
Il flusso da cui leggere.
buf
Il buffer su cui scrivere.
count
Il numero di byte da leggere.
Resi
true in caso di esito positivo, false in caso di errore di lettura.

Scrivi

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

Scrivi count byte dal buffer specificato nel flusso.

Dettagli
Parametri
stream
Il flusso in cui scrivere.
buf
Il buffer da cui leggere.
count
Il numero di byte da scrivere.
Resi
true in caso di esito positivo, false in caso di errore di scrittura.