IInputByteStream: различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{ | {{interface|IInputByteStream}} | ||
{{IInputByteStream example}} | |||
{{IInputByteStream | {{sa_list_begin}} | ||
{{sa_list_add|InputByteStreamRef}} | |||
{{sa_list_add|InputByteStreamOwn}} | |||
{{sa_list_end}} | |||
{ | |||
} | |||
Текущая версия на 18:15, 16 августа 2019
Интерфейс реализации входного потока байт.
Методы
Метод | Описание |
---|---|
ReadArray | Считывает из потока массив байт. |
Наследует открыто
Класс | Описание |
---|---|
Общий интерфейс входного потока данных. |
Пример: Копирование с использованием потоков IInputByteStream и IOutputByteStream.
#include <camaas/istream.h>
#include <chsvlib/chsvmath.h>
using namespace CAMaaS;
bool copy(IInputByteStream* pFrom, IOutputByteStream* pTo)
{
const std::size_t WINDOW_SIZE = 0x1000;
std::uint8_t buf[WINDOW_SIZE];
std::uint64_t cbRead = 1;
while(cbRead != 0)
{
cbRead = WINDOW_SIZE;
std::int32_t nError = pFrom->ReadArray(buf, &cbRead);
if (nError < 0)
return false; //error
nError = pTo->WriteArray(buf, cbRead);
if (nError < 0)
return false; //error
}
return true;
}
- См. также
InputByteStreamRef Адаптер-ссылка над интерфейсом IInputByteStream. InputByteStreamOwn Владеющий адаптер, определенный над интерфейсом IInputByteStream.