IContiguousDataStorageOutput

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

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

Методы
МетодОписание
WriteСоздает поток записи, ассоциированный с накопителем данных IContiguousDataStorageOutput, в позиции, связанной с началом буфера накопителя.
WriteToСоздает поток записи, связанный с накопителем данных IContiguousDataStorageOutput, в заданной параметрически позиции в накопителе.
GetMaxByteSizeВозвращает максимально допустимый байтовый размер данных в накопителе.
EraseContentОчищает содержимое буфера, связанного с накопителем this.
Наследует открыто
КлассОписание
Базовый интерфейс накопителя данных.

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

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

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

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

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

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