Интерфейс реализации входного потока байт.
Методы, наследуемые от InterfaceBase.
Release |
Закрывает текущий экземпляр, реализующий интерфейс.
|
Методы, наследуемые от IStream.
IsInterfaceAvailable |
Проверяет поддержку интерфейса, заданного идентификатором, текущей реализацией.
|
RepresentAs |
Создает представление реализации в виде интерфейса, заданного идентификатором.
|
AddRef |
Инкрементирует счетчик ссылок на реализацию потока.
|
Методы, наследуемые от IInputStream.
Read |
Считывает из потока один элемент.
|
Собственные методы.
Пример использования.
Ниже приведен пример функции, копирующей данные из входного потока в выходной.
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->Read(buf, std::addressof(cbRead));
if (nError < 0)
return false; //error
nError = pTo->Write(buf, cbRead);
if (nError < 0)
return false; //error
}
return true;
}