ArbitrarilyAccessedDataStorageInputRef::read

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
InputStreamOwn read(const void* pKey, std::uint32_t cbKey) const; //1
template <class T>
InputStreamOwn read(const T* pKey, std::uint32_t cbKey) const; //2
template <class ByteContainer>
InputStreamOwn read(const ByteContainer& key) const; //3
template <class char_t, class traits_t, class alloc_t>
InputStreamOwn read(const std::basic_string<char_t, traits_t, alloc_t>& key) const; //4
InputStreamOwn read(const char* pszKey) const; //5

Создает поток для чтения ассоциированных с ключом данных из накопителя ArbitrarilyAccessedDataStorageInputRef.

Параметры шаблона
TТип элемента ключа pKey в перегрузке 2. Данный шаблон участвует в процедуре разрешения перегрузки, только если T является целочисленным байтовым типом.
ByteContainerТип контейнера байт, образующих данные ключа key в перегрузке 3. Шаблон 3 участвует в процедуре разрешения перегрузки, только если тип элемента контейнера, получаемый дедукцией типа, образуемого разыменовыванием результата вызова key.data(), является целочисленным байтовым типом.
char_tТип элемента строки-ключа key в перегрузке 4. В отличие от иных перегрузок метода read, тип char_t может не являться байтовым.
traits_tТип политики обработки CharTraits элементов char_t ключа в перегрузке 4. Тип используется только для дедукции типа параметра key в перегрузке 4 и игнорируется при делегировании вызова методу IArbitrarilyAccessedDataStorageInput::ReadOf.
alloc_tТип менеджера памяти Allocator, используемого для управления временем жизни ключа key ключа в перегрузке 4. Тип используется только для дедукции типа параметра key в перегрузке 4 и игнорируется при делегировании вызова методу IArbitrarilyAccessedDataStorageInput::ReadOf.
Параметры
[in]pKeyУказатель C, адресующий байты ключа в перегрузках 1 и 2 метода read.
cbKeyБайтовый размер ключа в перегрузках 1 и 2.
keyC++ контейнер с ключом. При использовании нестрокового контейнера в перегрузке 3 элементы контейнера key должны быть байтовыми. Этого требования не предъявляется при использовании перегрузки 4.
[in]pszKeyC-строка, завершающаяся терминальным нулем, задающая ключ при использовании для адресации данных перегрузки 5.
Возвращаемое значение:
Адаптер с владением InputStreamOwn реализацией потока, который может быть использован для чтения данных, связанных с указанным параметрически ключом. Необходимость существования, уникальности ключа, его тип, тип потока и читаемых данных определяются агрегируемой адаптером ArbitrarilyAccessedDataStorageInputRef реализацией интерфейса IArbitrarilyAccessedDataStorageInput.