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.