make_binary_memory_storage_adapter
Перейти к навигации
Перейти к поиску
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