Линейное хранилище
Линейное хранилище имеет линейное адресное пространство буфера, однако нуждается в указаниии максимальной емкости, пусть даже и очень большой.
Capacity - запрос и установка максимальной емкости хранилища. При установке емкости хранилища, все ранее хранимые данные теряются.
Memory - запрос указателя на линейный участок памяти, в котором хранятся данные, может быть использован в вычислительных алгоритмах.
Create - конструктор, в котором необходимо указать размер хранимого элемента.
Code: |
// TLinearStorage // Линейное хранилище type TLinearStorage = class(TBaseStorage) public property Capacity: Cardinal read FCapacity write SetCapacity; property Memory: Pointer read FMemory; public procedure Clear; override; procedure AddItems(Items: Pointer; Count: Cardinal); override; procedure SetItems(Items: Pointer; Index, Count: Cardinal); override; procedure GetItems(Items: Pointer; Index, Count: Cardinal); override; procedure SaveStream(Stream: TStream; Compression: Integer); override; procedure LoadStream(Stream: TStream; Compression: Integer; Count: Cardinal); override; public constructor Create(AItemSize: Cardinal); destructor Destroy; override; end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!