Sign in Join
FPDoc Onlineexperiment

TDynamicDataQueue class

In unit DynQueue

Implements a FIFO queue for arbitrary data.

Declaration

pascal
TDynamicDataQueue = class

Description

TDynamicDataQueue is a class used to queue arbitrary data for First-In-First-Out usage.

TDynamicDataQueue provides overloaded Push and Pop methods used to enqueue or dequeue data using an untyped buffer or a TStream instance. Use the Top method to peek at data in the queue without removing it.

Internally, TDynamicDataQueue maintains a ring queue for pointers to chunks of data using the TDynamicQueueItem type. It is optimized to reduce the amount of data movement required when adding or removing items.

TDynamicDataQueue is used to implement storage for the TCustomLazComponentQueue component in the lresources.pp unit in the Lazarus Component Library (LCL).

See also

Properties

SizepublicTotal memory required for item data stored in the queue.
MinimumBlockSizepublicIndicates the smallest memory block size allocated for an item added to the queue.
MaximumBlockSizepublicIndicates the largest memory block size allocated for an item added to the queue.

Methods

CreatepublicConstructor for the class instance.
DestroypublicDestructor for the class instance.
ClearpublicFrees data items and storage allocated for the queue.
ConsistencyCheckpublicChecks for errors in queue settings, item storage space, or item content.
WriteDebugReportpublicGenerates debugging information for the queue state and optional item data in the queue.
PushpublicAdds the specified content to the FIFO queue.
PoppublicRemoves an item from the top of the FIFO queue.
ToppublicGets the data for the first queue entry, but does not remove it from the queue.

An experiment, built from Lazarus main 2dfa93c66e of 10-22-2026. Not the official Lazarus documentation.