ArbitrarilyAccessedDataStorageOutputRef::write
Перейти к навигации
Перейти к поиску
OutputStreamOwn write(const void* pKey, std::uint32_t cbKey); //1
OutputStreamOwn write(const T* pKey, std::uint32_t cbKey); //2
template <class ByteContainer>
OutputStreamOwn write(const ByteContainer& key); //3
template <class char_t, class traits_t, class alloc_t>
OutputStreamOwn write(const std::basic_string<char_t, traits_t, alloc_t>& key); //4
OutputStreamOwn write(const char* pszKey);
Создает поток для записи данных, ассоциируемых с указанным параметрически ключом, в накопитель ArbitrarilyAccessedDataStorageOutputRef.
- Параметры шаблона
T Тип элемента ключа pKey в перегрузке 2. Данный шаблон участвует в процедуре разрешения перегрузки, только если T является целочисленным байтовым типом. ByteContainer Тип контейнера байт, образующих данные ключа key в перегрузке 3. Шаблон 3 участвует в процедуре разрешения перегрузки, только если тип элемента контейнера, получаемый дедукцией типа, который образуется разыменовыванием результата вызова key.data()
, является целочисленным байтовым типом.char_t Тип элемента строки-ключа key в перегрузке 4. В отличие от иных перегрузок метода write, тип char_t может не являться байтовым. traits_t Тип политики обработки CharTraits элементов char_t ключа в перегрузке 4. Тип используется только для дедукции типа параметра key в перегрузке 4 и игнорируется при делегировании вызова методу IArbitrarilyAccessedDataStorageOutput::WriteOf. alloc_t Тип менеджера памяти Allocator, используемого для управления временем жизни ключа key ключа в перегрузке 4. Тип используется только для дедукции типа параметра key в перегрузке 4 и игнорируется при делегировании вызова методу IArbitrarilyAccessedDataStorageOutput::WriteOf. - Параметры
[in] pKey Указатель C, адресующий байты ключа в перегрузках 1 и 2 метода write. cbKey Байтовый размер ключа в перегрузках 1 и 2. key C++ контейнер с ключом. При использовании нестрокового контейнера в перегрузке 3 элементы контейнера key должны быть байтовыми. Этого требования не предъявляется при использовании перегрузки 4. [in] pszKey C-строка, завершающаяся терминальным нулем, задающая ключ при использовании для адресации данных перегрузки 5. - Возвращаемое значение:
- Адаптер с владением OutputStreamOwn реализацией потока, который может быть использован для записи данных в накопитель. Конкретный тип потока и принимаемых накопителем данных определяется агрегируемой адаптером реализацией интерфейса IArbitrarilyAccessedDataStorageOutput.
Интерфейс IArbitrarilyAccessedDataStorageOutput и связанный с ним адаптер ArbitrarilyAccessedDataStorageOutputRef не определяют поведение в следующих контекстах вызова методов записи данных, адресуемых ключом.
- Поведение в случае отсутствия в накопителе данных, ассоциированных с указанным ключом.
- Поведение в случае, когда накопитель содержит более чем одну ассоциацию с указанным ключом, то есть когда не выполняется (и не предъявляется) требование уникальности ключа.
- Локальность данных, ассоциированных с ключом.
Эти аспекты определяются более низкими уровнями компонентной и интерфейсной иерархии, как это делается, например, наследующим из IArbitrarilyAccessedDataStorageOutput интерфейсом IAssociativeDataStorageOutput и его адаптером AssociativeDataStorageOutputRef.