IOutputByteStream: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{IOutputByteStream_brief}}
{{interface|IOutputByteStream}}
 
{{IOutputByteStream example}}
{{function_list_begin}}
{{sa_list_begin}}
{{function_list_add|Release|reference_name=IOutputByteStream::Release|description={{IOutputByteStream::Release brief}}}}
{{sa_list_add|OutputByteStreamRef}}
{{function_list_add|IsInterfaceAvailable|reference_name=IOutputByteStream::IsInterfaceAvailable|description={{IOutputByteStream::IsInterfaceAvailable brief}}}}
{{sa_list_add|OutputByteStreamOwn}}
{{function_list_add|RepresentAs|reference_name=IOutputByteStream::RepresentAs|description={{IOutputByteStream::RepresentAsbrief}}}}
{{sa_list_end}}
{{function_list_add|AddRef|reference_name=IOutputByteStream::AddRef|description={{IOutputByteStream::AddRef brief}}}}
{{function_list_add|Write|reference_name=IOutputByteStream::Write|description={{IOutputByteStream::Write brief}}}}
{{function_list_end}}

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

Интерфейс реализации выходного потока байт.

Методы
МетодОписание
WriteArrayЗаписывает в выходной поток массив байт.
Наследует открыто
КлассОписание
Общий интерфейс выходного потока данных.
Пример: Копирование с использованием потоков 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;
}
См. также
OutputByteStreamRefАдаптер-ссылка над интерфейсом IOutputByteStream.
OutputByteStreamOwnВладеющий адаптер, определенный над интерфейсом IOutputByteStream.