TMemoryStreamEx

From Ultibo.org
Jump to: navigation, search

Return to Unit UltiboClasses


Description


To be documented

Class definitions



TMemoryStreamEx = class(TStream)

Note: A memory stream which does not Realloc on expand
 
constructor Create;  
destructor Destroy; override;  
private
FRecent:TMemoryBlock;  
FBlocks:TLinkedObjList;  
 
FSize:LongInt;  
FPosition:LongInt;  
FCapacity:LongWord;  
 
function RoundSize(ASize:LongInt):LongWord;  
function GetBlock(AOffset:LongWord):TMemoryBlock;  
function ReadBlock(ABlock:TMemoryBlock; ABuffer:Pointer; AOffset,ACount:LongWord):LongWord;  
function WriteBlock(ABlock:TMemoryBlock; ABuffer:Pointer; AOffset,ACount:LongWord):LongWord;  
 
procedure SetCapacity(ACapacity:LongWord);  
protected
procedure SetSize(ASize:LongInt); override;  
public
function Read(var ABuffer; ACount:LongInt):LongInt; override;  
function Write(const ABuffer; ACount:LongInt):LongInt; override;  
function Seek(AOffset:LongInt; AOrigin:Word):LongInt; override;  
procedure SaveToStream(AStream:TStream);  
procedure LoadFromStream(AStream:TStream);  
procedure SaveToFile(const AFileName:String);  
procedure LoadFromFile(const AFileName:String);  
procedure Clear;  


Function declarations



constructor TMemoryStreamEx.Create;
Description: To be documented
Note None documented


destructor TMemoryStreamEx.Destroy;
Description: To be documented
Note None documented


function TMemoryStreamEx.RoundSize(ASize:LongInt):LongWord;
Description: To be documented
Note None documented


function TMemoryStreamEx.GetBlock(AOffset:LongWord):TMemoryBlock;
Description: To be documented
Note None documented


function TMemoryStreamEx.ReadBlock(ABlock:TMemoryBlock; ABuffer:Pointer; AOffset,ACount:LongWord):LongWord;
Description: To be documented
Note None documented


function TMemoryStreamEx.WriteBlock(ABlock:TMemoryBlock; ABuffer:Pointer; AOffset,ACount:LongWord):LongWord;
Description: To be documented
Note None documented


procedure TMemoryStreamEx.SetCapacity(ACapacity:LongWord);
Description: To be documented
Note None documented


procedure TMemoryStreamEx.SetSize(ASize:LongInt);
Description: To be documented
Note None documented


function TMemoryStreamEx.Read(var ABuffer; ACount:LongInt):LongInt;
Description: To be documented
Note None documented


function TMemoryStreamEx.Write(const ABuffer; ACount:LongInt):LongInt;
Description: To be documented
Note None documented


function TMemoryStreamEx.Seek(AOffset:LongInt; AOrigin:Word):LongInt;
Description: To be documented
Note None documented


procedure TMemoryStreamEx.SaveToStream(AStream:TStream);
Description: To be documented
Note None documented


procedure TMemoryStreamEx.LoadFromStream(AStream:TStream);
Description: To be documented
Note None documented


procedure TMemoryStreamEx.SaveToFile(const AFileName:String);
Description: To be documented
Note None documented


procedure TMemoryStreamEx.LoadFromFile(const AFileName:String);
Description: To be documented
Note None documented


procedure TMemoryStreamEx.Clear;
Description: To be documented
Note None documented


Return to Unit Reference