TMemoryStream
[Properties (by Name)][Methods (by Name)][Events (by Name)]
Standard implementation of a stream that stores its data in memory
Declaration
Source position: classesh.inc line 1213
Type
TMemoryStream = class (TCustomMemoryStream)
private
FCapacity : PtrInt;
procedure SetCapacity(NewCapacity: PtrInt);
protected
function Realloc(var NewCapacity: PtrInt) : Pointer; Virtual;
Capacity : PtrInt;
public
destructor Destroy; Override;
procedure Clear;
procedure LoadFromStream(Stream: TStream);
procedure LoadFromFile(const FileName: string);
procedure SetSize(const NewSize: Int64); Override;
function Write(const Buffer; Count: LongInt) : LongInt; Override;
end
;
Description
TMemoryStream is a TStream descendant that stores it's data in memory. It descends directly from TCustomMemoryStream and implements the necessary to allocate and de-allocate memory directly from the heap. It implements the Write method which is missing in TCustomMemoryStream.
TMemoryStream also introduces methods to load the contents of another stream or a file into the memory stream.
It is not necessary to do any memory management manually, as the stream will allocate or de-allocate memory as needed. When the stream is freed, all allocated memory will be freed as well.
Members
Member | Type | Visibility | Description |
---|---|---|---|
Capacity | Property | protected | Current capacity of the stream. |
Clear | Method | public | Zeroes the position, capacity and size of the stream. |
Destroy | Method | public | Frees any allocated memory and destroys the memory stream. |
FCapacity | Field | private | |
LoadFromFile | Method | public | Loads the contents of a file into memory. |
LoadFromStream | Method | public | Loads the contents of a stream into memory. |
Realloc | Method | protected | Sets the new capacity for the memory stream |
SetCapacity | Method | private | |
SetSize | Method | public | Sets the size for the memory stream. |
Write | Method | public | Writes data to the stream's memory. |
Inheritance
Class | Description |
---|---|
TMemoryStream | Standard implementation of a stream that stores its data in memory |
See also
Name | Description |
---|---|
PtrInt | Signed integer type with same size as Pointer. |
PtrInt | Signed integer type with same size as Pointer. |
TCustomMemoryStream | Abstract stream that stores its data in memory. |
TStream | Base class for streams. |