Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

tuningfork::ByteStream

#include <protobuf_nano_util.h>

Xem trên các byte được cung cấp trong vec.

Tóm tắt

Write sẽ gọi realloc nếu cần nhiều byte hơn và đối tượng gọi có thể tuỳ ý giải phóng dữ liệu được phân bổ.

Bạn có thể đặt vec=nullptrsize=0, trong trường hợp đó, vec sẽ được phân bổ bằng malloc.

Thuộc tính công khai

it
size_t
Vị trí hiện tại trong luồng khi giải mã hoặc mã hoá.
size
size_t
Kích thước của các byte được vec trỏ đến.
vec
uint8_t *
Con trỏ chỉ đến các byte được biểu thị bằng luồng.

Hàm tĩnh công khai

Read(pb_istream_t *stream, uint8_t *buf, size_t count)
bool
Đọc các byte count từ luồng đến vùng đệm đã cấp.
Write(pb_ostream_t *stream, const uint8_t *buf, size_t count)
bool
Ghi các byte count từ vùng đệm đã cấp vào luồng.

Thuộc tính công khai

it

size_t tuningfork::ByteStream::it

Vị trí hiện tại trong luồng khi giải mã hoặc mã hoá.

size

size_t tuningfork::ByteStream::size

Kích thước của các byte được vec trỏ đến.

vec

uint8_t * tuningfork::ByteStream::vec

Con trỏ chỉ đến các byte được biểu thị bằng luồng.

Hàm tĩnh công khai

Đọc

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

Đọc các byte count từ luồng đến vùng đệm đã cấp.

Chi tiết
Thông số
stream
Luồng để đọc.
buf
Vùng đệm để ghi vào.
count
Số byte cần đọc.
Trả lại
Đúng (true) nếu thành công, sai (false) nếu gặp lỗi khi đọc.

Ghi

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

Ghi các byte count từ vùng đệm đã cấp vào luồng.

Chi tiết
Thông số
stream
Luồng để ghi vào.
buf
Vùng đệm để đọc.
count
Số byte cần ghi.
Trả lại
Đúng (true) nếu thành công, sai (false) nếu gặp lỗi khi ghi.