tuningfork::VectorStream

#include <protobuf_nano_util.h>

نمایی از بردار ارائه‌شده در vec.

خلاصه

مالکیت گرفته نشده است.

جزئیات
پارامترها
vec
نمونه استفاده:
std::vector<uint8_t> v;
VectorStream str {&v, 0};
pb_ostream_t stream = {VectorStream::Write, &str, SIZE_MAX, 0};
pb_encode(&stream, ...);

مشخصه‌های عمومی

it
size_t
موقعیت فعلی در بردار هنگام رمزگشایی یا رمزگذاری.
vec
std::vector< uint8_t > *
بردار بایت‌هایی که باید هنگام فراخوانی Read یا Write معتبر باشند.

توابع عمومی ایستا

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
count بایت از جاری‌سازی به میان‌گیر داده‌شده خوانده شد.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
count بایت از میان‌گیر داده‌شده به جریان نوشته شود.

مشخصه‌های عمومی

it

size_t tuningfork::VectorStream::it

موقعیت فعلی در بردار هنگام رمزگشایی یا رمزگذاری.

بردار

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

بردار بایت‌هایی که باید هنگام فراخوانی Read یا Write معتبر باشند.

اندازه بردار درصورت نیاز توسط Write تغییر خواهد کرد.

توابع عمومی ایستا

خواندن

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

count بایت از جاری‌سازی به میان‌گیر داده‌شده خوانده شد.

جزئیات
پارامترها
stream
جاری‌سازی‌ای که باید از آن خوانده شود.
buf
بافری که باید در آن نوشته شود.
count
تعداد بایت‌ها برای خواندن.
کالاهای مرجوعی
اگر موفقیت‌آمیز باشد، true و درصورت خطای خواندن، false.

نوشتن

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

نوشتن count بایت از میان‌گیر داده‌شده به جریان.

جزئیات
پارامترها
stream
جاری‌سازی‌ای که باید در آن نوشته شود.
buf
بافری که باید از آن خوانده شود.
count
تعداد بایت‌ها برای نوشتن.
کالاهای مرجوعی
اگر موفقیت‌آمیز باشد، درست است، درصورت خطای نوشتن، نادرست است.