Make memory buffer input stream: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 19: Строка 19:
{{function_paramlist add|pszBuffer|Строка с терминальным нулем, над которой определен поток данных.|paramdir=[in]}}
{{function_paramlist add|pszBuffer|Строка с терминальным нулем, над которой определен поток данных.|paramdir=[in]}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|Управляемый указатель на реализацию интерфейса [[IMemBufInputByteStream]].}}
{{function_return_value|Управляемый указатель на реализацию интерфейса [[IMemBufInputByteStream]]. Типы <tt>ItBegin</tt> и <tt>ItEnd</tt>: для перегрузки (1) являются типами <tt>std::decay_t<itBegin></tt> и <tt>std::decay_t<itEnd></tt> соответственно; для перегрузки (2) являются типами, полученными дедукцией типов значений, возвращаемых методами <tt>begin</tt> и <tt>end</tt> контейнера <tt>cont</tt> соответственно.}}
{{function sa begin}}
{{function sa begin}}
{{function sa add|[https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1raw__pointer__iterator_3_01_t_01_5_01_4.html Chusov::Memory::raw_pointer_iterator]}}
{{function sa add|[https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1raw__pointer__iterator_3_01_t_01_5_01_4.html Chusov::Memory::raw_pointer_iterator]}}

Версия 03:19, 6 августа 2017

template <class ItBeg, class ItEnd>
   unique_interface_ptr<CMemBufInputStream<ItBegin, ItEnd>> make_memory_buffer_input_stream(ItBeg&& itBegin, ItEnd&& itEnd); //1
template <class Container>
   unique_interface_ptr<CMemBufInputStream<ItBegin, ItEnd>> make_memory_buffer_input_stream(Container&& cont); //2
template <class T>
   unique_interface_ptr<CMemBufInputStream<Chusov::Memory::raw_pointer_iterator<const T*>, Chusov::Memory::raw_pointer_iterator<const T*>>> 
      make_memory_buffer_input_stream(_In_count_(cBuffer) const T* pBuffer, std::size_t cBuffer); //3
unique_interface_ptr<CMemBufInputStream<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>, Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>>> 
   make_memory_buffer_input_stream(_In_count_(cBuffer) const void* pBuffer, std::size_t cBuffer); //4
unique_interface_ptr<CMemBufInputStream<Chusov::Memory::raw_pointer_iterator<const char*>, Chusov::Memory::raw_pointer_iterator<const char*>>> 
   make_memory_buffer_input_stream(const char* pszBuffer); //5

Возвращает реализацию доступа ны чтение с интерфейсом IMemBufInputByteStream, определенным над существующим буфером.

Параметры
itBeginИтератор с произвольным доступом, задающий начало буфера, над которым определен поток данных.
itEndИтератор с произвольным доступом, связанный с первым псевдо-элементом за пределами буфера, над которым определен поток данных.
contКонтейнер последовательности, над которым определен поток данных.
[in]pBufferБуфер, над которым определен поток данных.
cBufferЧисло элементов в буфере, доступных для чтения. Для void-указателя pBuffer задает число байт.
[in]pszBufferСтрока с терминальным нулем, над которой определен поток данных.
Возвращаемое значение:
Управляемый указатель на реализацию интерфейса IMemBufInputByteStream. Типы ItBegin и ItEnd: для перегрузки (1) являются типами std::decay_t<itBegin> и std::decay_t<itEnd> соответственно; для перегрузки (2) являются типами, полученными дедукцией типов значений, возвращаемых методами begin и end контейнера cont соответственно.
См. также
Chusov::Memory::raw_pointer_iterator
IMemBufInputByteStream