tuningfork::VectorStream

#include <protobuf_nano_util.h>

Es una vista del vector proporcionado en vec.

Resumen

No se asume la propiedad.

Detalles
Parámetros
vec
Ejemplo de uso:

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

Atributos públicos

it
size_t
Es la posición actual en el vector durante la decodificación o codificación.
vec
std::vector< uint8_t > *
Es un vector de bytes que debe ser válido mientras se llama a Read o Write.

Funciones estáticas públicas

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
Lee count bytes del flujo al búfer determinado.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
Escribe count bytes del búfer determinado del flujo.

Atributos públicos

it

size_t tuningfork::VectorStream::it

Es la posición actual en el vector durante la decodificación o codificación.

vec

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

Es un vector de bytes que debe ser válido mientras se llama a Read o Write.

Write cambiará el tamaño del vector según sea necesario.

Funciones estáticas públicas

Lectura

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

Lee count bytes del flujo al búfer determinado.

Detalles
Parámetros
stream
Es el flujo del cual se leerá.
buf
Es el búfer en el que se escribirá.
count
Es la cantidad de bytes que se leerán.
Resultado que se muestra
Es verdadero si se ejecuta correctamente, falso si ocurre un error de lectura.

Escritura

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

Escribe count bytes del búfer determinado del flujo.

Detalles
Parámetros
stream
Es el flujo en el que se va a escribir.
buf
Es el búfer del que se leerá.
count
Es la cantidad de bytes que se escribirán.
Resultado que se muestra
Es verdadero si se ejecuta correctamente, y falso si ocurre un error de escritura.