IContiguousDataStorageInput

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Интерфейс для чтения из накопителя последовательно расположенных и однородных данных.

Методы
МетодОписание
ReadСоздает поток чтения, ассоциированный с накопителем данных IContiguousDataStorageInput, в позиции, связанной с началом данных.
ReadAtСоздает поток чтения, связанный с накопителем данных IContiguousDataStorageInput, в заданной параметрически позиции в накопителе.
GetElementCountВозвращает количество элементов данных в накопителе.
GetByteSizeВозвращает байтовый размер данных в накопителе.
GetMaxByteSizeВозвращает максимально допустимый байтовый размер данных в накопителе.
Наследует открыто
КлассОписание
Базовый интерфейс накопителя данных.

Данные накопителя данных с интерфейсом IContiguousDataStorageInput однородны и логически расположены последовательно. Разрешен произвольный доступ к данным с низкой (но определенной конкретно только для реализаций интерфейса) вычислительной сложностью. Данные адресуются целочисленными индексами.

Гарантируется, что любая реализация интерфейса IContiguousDataStorageInput будет также поддерживать интерфейсы IArbitrarilyAccessedDataStorageInput и IConsequentDataStorageInput. Для получения указателей на эти интерфейсы необходимо использовать метод IDataStorage::RepresentAs, который наследуется интерфейсом IContiguousDataStorageInput.

Отношения интерфейса IContiguousDataStorageInput. Сплошными стрелками показано наследование. Пунктирные ребра графа с подписью "r" показывают поддерживаемость реализацией и гарантированную приводимость с помощью IDataStorage::RepresentAs типа интерфейса в исходящей вершине графа к типу интерфейса во входящей вершине.

При использовании интерфейса IArbitrarilyAccessedDataStorageInput ключом будет являться беззнаковый целочисленный восьмибайтовый индекс требуемого блока данных аналогично тому, как это определено для метода ReadAt.

При использовании интерфейса IConsequentDataStorage создаваемые методами чтения и записи потоки данных будут иметь независимые указатели на ассоциированные с этими потоками блоки данных. Данное уточнение снимает соответствующие ограничения интерфейса IConsequentDataStorage. Однако безопасность одновременного обращения к накопителю данных из множества потоков выполнения может гарантироваться только реализацией интерфейсов IContiguousDataStorageInput и IContiguousDataStorageOutput.

См. также
IContiguousDataStorageOutputИнтерфейс для чтения и записи в накопитель последовательно расположенных и однородных данных.
IContiguousDataStorageИнтерфейс для чтения и записи в накопитель последовательно расположенных и однородных данных.
ContiguousDataStorageInputRefСсылочный адаптер, определенный над типом const IContiguousDataStorageInput.
ContiguousDataStorageInputOwnВладеющий адаптер, определенный над интерфейсом типом const IContiguousDataStorageInput.