tuningfork::VectorStream

#include <protobuf_nano_util.h>

Eine Ansicht des in vec bereitgestellten Vektors.

Zusammenfassung

Es werden keine Eigentumsrechte erworben.

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

Öffentliche Attribute

it
size_t
Die aktuelle Position im Vektor während der Decodierung oder Codierung.
vec
std::vector< uint8_t > *
Ein Bytevektor, der gültig sein muss, während Read oder Write aufgerufen werden.

Öffentliche statische Funktionen

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
Liest count Byte aus dem Stream in den angegebenen Puffer.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
Schreibt count Byte aus dem angegebenen Zwischenspeicher in den Stream.

Öffentliche Attribute

it

size_t tuningfork::VectorStream::it

Die aktuelle Position im Vektor während der Dekodierung oder Codierung.

vec

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

Ein Vektor von Byte, der gültig sein muss, während Read oder Write aufgerufen wird.

Die Größe des Vektors wird von Write entsprechend angepasst.

Öffentliche statische Funktionen

Gelesen

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

count Byte aus dem Stream in den angegebenen Zwischenspeicher lesen.

Details
Parameter
stream
Der Stream, aus dem gelesen werden soll
buf
Der Zwischenspeicher, in den geschrieben werden soll.
count
Die Anzahl der zu lesenden Byte.
Retouren
„true“, wenn erfolgreich, andernfalls „false“.

Schreiben

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

Schreibt count Byte aus dem angegebenen Puffer in den Stream.

Details
Parameter
stream
Der Stream, in den geschrieben werden soll.
buf
Der Zwischenspeicher, aus dem gelesen werden soll.
count
Die Anzahl der zu schreibenden Byte.
Retouren
"true" bei Erfolg, "false" bei einem Schreibfehler.