PIP 5.9.0
Platform-Independent Primitives
Загрузка...
Поиск...
Не найдено
Шаблон класса PIBinaryStream< P >

CRTP-интерфейс для потоков бинарной сериализации. Подробнее...

#include <pibinarystream.h>

Открытые члены

bool binaryStreamAppend (const void *d, size_t s)
 Записывает сырые байты в нижележащий поток.
bool binaryStreamTake (void *d, size_t s)
 Читает сырые байты из нижележащего потока и устанавливает состояние ошибки чтения при неполном чтении.
ssize_t binaryStreamSize () const
 Возвращает число байтов, доступных для чтения.
template<typename T>
void binaryStreamAppend (T v)
 Записывает одно значение прямым копированием его байтов.
int binaryStreamTakeInt ()
 Читает одно значение int из потока.
bool wasReadError () const
 Возвращает было ли неполное чтение с момента последнего вызова resetReadError() или создания потока
void resetReadError ()
 Сбрасывает флаг неполного чтения

(не члены класса)

#define BINARY_STREAM_FRIEND(T)
 Объявляет шаблонные операторы бинарного потока дружественными для T.
#define BINARY_STREAM_WRITE(T)
 Начинает определение шаблонного оператора записи в бинарный поток для T.
#define BINARY_STREAM_READ(T)
 Начинает определение шаблонного оператора чтения из бинарного потока для T.

Подробное описание

template<typename P>
class PIBinaryStream< P >

CRTP-интерфейс для потоков бинарной сериализации.

bool binaryStreamAppendImp (const void * d, size_t s);
bool binaryStreamTakeImp (void * d, size_t s);
ssize_t binaryStreamSizeImp () const;
return s
Оператор сохранения.
Определения pisystemmonitor.h:312

Производные классы потока должны реализовать методы из примера выше. binaryStreamSizeImp() должен возвращать -1, когда оставшийся размер неизвестен. Подробнее Поток ввода/вывода.

Методы

◆ binaryStreamSize()

template<typename P>
ssize_t PIBinaryStream< P >::binaryStreamSize ( ) const
inline

Возвращает число байтов, доступных для чтения.

Возвращает -1, если поток не может сообщить оставшийся размер.