make_associative_data_storage

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
DataStorageOwn make_associative_data_storage(DataStorageRef source, std::uint32_t nAssociativeDataStorageCreationFlags); //1
DataStorageOwn make_associative_data_storage(std::uint32_t nAssociativeDataStorageCreationFlags); //2
template <std::uint32_t nAssociativeDataStorageCreationFlags>
   /*статически_вычисленный_тип*/ make_associative_data_storage(DataStorageRef source); //3
template <std::uint32_t nAssociativeDataStorageCreationFlags = AssociativeDataStorageReadAccess | AssociativeDataStorageWriteAccess | AssociativeDataStorageParserNone>
   /*статически_вычисленный_тип*/ make_associative_data_storage(); //4

Создает ассоциативный массив, обращаясь к функции CreateAssociativeDataStorage, и возвращает его реализацию с интерфейсом IDataStorage (или порожденным от него), после чего адаптирует доступ с помощью соответствующего адаптера.

  1. Создает ассоциативный массив с интерфейсом IDataStorage на основе заданного источника входных данных, которые интерпретируются реализацией интерфейса, после чего массив адаптируется к виду DataStorageOwn.
  2. Создает пустой ассоциативный массив с интерфейсом IDataStorage и адаптирует его к виду DataStorageOwn.
  3. Создает ассоциативный массив с интерфейсом IDataStorage с использованием источника входных данных, на основе шаблонного параметра приводит его к интерфейсу IAssociativeDataStorageInput, IAssociativeDataStorageOutput или IAssociativeDataStorage и соответствующим образом адаптирует.
  4. Создает пустой ассоциативный массим и на основе шаблонного параметра приводит его к соответствующему виду.
Параметры
sourceИсточник входных данных, которые должны интерпретироваться как ассоциативный массив. Если данные не заданы, создается пустой массив.
nAssociativeDataStorageCreationFlagsБитовая маска параметров создания ассоциативного массива.
Символическое имя Целочисленное значение Семантика
AssociativeDataStorageReadAccess 1 Право на чтение из ассоциативного массива.
AssociativeDataStorageWriteAccess 2 Право на изменение ассоциативного массива.
AssociativeDataStorageParserNone 0x100 Не использовать источник входных данных (соответствующий указатель должен быть NULL).
AssociativeDataStorageParserIni 0x200 Использовать парсер INI для чтения и записи. Реализация источника данных, на основе которых задается ассоциативный массив, должна поддерживать, в зависимости от доступа, как минимум один из интерфейсов: IContiguousDataStorageInput, IContiguousDataStorageOutput и/или IContiguousDataStorage.
Возвращаемое значение:
Объект DataStorageOwn, AssociativeDataStorageInputOwn, AssociativeDataStorageOutputOwn или AssociativeDataStorageOwn, определенный над файлом.
См. также
DataStorageOwnВладеющий адаптер, определенный над интерфейсом IDataStorage..
IDataStorage::RepresentAsОсуществляет преобразование в интерфейс, заданный идентификатором.
IAssociativeDataStorageИнтерфейс для чтения и записи в ассоциативный накопитель с использованием понятия узлов, адресуемых ключами.
AssociativeDataStorageOwnВладеющий адаптер, определенный над интерфейсом IAssociativeDataStorage.
CreateAssociativeDataStorageСоздает ассоциативный массив на основе некоторого источника или приемника данных.