[Overview][Constants][Classes][Index] | Reference for unit 'bufstream' (#fcl)

# TBufStream

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Common ancestor for buffered streams

## Declaration

Source position: bufstream.pp line 32

`type TBufStream = class(TOwnerStream)`
`protected`
`procedure BufferError();`
`procedure FillBuffer; virtual;`
`procedure FlushBuffer; virtual;`
`public`
`procedure Create();` |  | Create a new TBufStream instance.
`destructor Destroy; override;` |  | Destroys the TBufStream instance
`property Buffer: Pointer; [r]` |  | The current buffer
`property Capacity: Integer; [rw]` |  | Current buffer capacity
`property BufferPos: Integer; [r]` |  | Current buffer position.
`property BufferSize: Integer; [r]` |  | Amount of data in the buffer
`end;`

## Inheritance

`TBufStream` |  | Common ancestor for buffered streams
`TOwnerStream`
`TStream`
`TObject`

## Description

TBufStream is the common ancestor for the TReadBufStream and TWriteBufStream streams. It completely handles the buffer memory management and position management. An instance of TBufStream should never be created directly. It also keeps the instance of the source stream.

## See also

TReadBufStream |  | Read-only buffered stream.
TWriteBufStream |  | Write-only buffered stream.

The latest version of this document can be found at lazarus-ccr.sourceforge.net .