Шаблон:IInputByteStream body: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{method_list_title}} {{method_list_begin}} {{method_list_add|IInputByteStream::ReadArray}} {{method_list_end}} {{inherits_begin|access=public}} {{inherits_add|II…»)
 
 
Строка 6: Строка 6:
{{inherits_add|IInputStream}}
{{inherits_add|IInputStream}}
{{inherits_end}}
{{inherits_end}}
===Пример использования.===
Ниже приведен пример функции, копирующей данные из входного потока в выходной.
<source lang=cpp>
bool copy(IInputByteStream* pFrom, IOutputByteStream* pTo)
{
  const std::size_t WINDOW_SIZE = 0x1000;
  std::uint8_t buf[WINDOW_SIZE];
  std::uint64_t cbRead = 1;
  do
  {
      cbRead = WINDOW_SIZE;
      std::int32_t nError = pFrom->ReadArray(buf, std::addressof(cbRead));
      if (nError < 0)
        return false; //error
      nError = pTo->WriteArray(buf, cbRead);
      if (nError < 0)
        return false; //error
  } while (cbRead != 0);
  return true; //done
}
</source>

Текущая версия на 18:03, 16 августа 2019

Методы
МетодОписание
ReadArrayСчитывает из потока массив байт.
Наследует открыто
КлассОписание
Общий интерфейс входного потока данных.