make_binary_memory_storage_adapter

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
template <class ItBeg, class ItEnd>
   unique_interface_ptr<CMemBufInputStream<begin_t, end_t>> make_binary_memory_storage_adapter(ItBeg&& itBegin, ItEnd&& itEnd); //1
template <class Container>
   unique_interface_ptr<CMemBufInputStream<begin_t, end_t>> make_binary_memory_storage_adapter(Container&& cont); //2

Возвращает управляемый указатель на реализацию доступа к источнику данных через интерфейсы IContiguousDataStorageInput, IConsequentDataStorageInput, IArbitrarilyAccessedDataStorageInput и, опционально, IInMemoryDataStorageInput.

Параметры
itBeginИтератор с произвольным доступом, задающий начало буфера, над которым определен источник данных.
itEndИтератор с произвольным доступом, связанный с первым псевдо-элементом за пределами буфера, над которым определен источник данных.
contКонтейнер последовательности, над которым определен источник данных.
Возвращаемое значение:
Управляемый указатель на реализацию интерфейса IContiguousDataStorageInput, которая также может быть приведена к типам IConsequentDataStorageInput и IArbitrarilyAccessedDataStorageInput. Типы begin_t и end_t: для перегрузки (1) являются типами std::decay_t<itBegin> и std::decay_t<itEnd> соответственно; для перегрузки (2) являются типами, полученными дедукцией типов значений, возвращаемых методами begin и end контейнера cont соответственно. Если итераторы begin_t и end_t являются C-указателями, возвращаемая функцией make_binary_memory_storage_adapter реализация также поддерживает интерфейс IInMemoryDataStorageInput.
См. также
make_memory_buffer_input_stream