TDynamicDataQueue class
Implements a FIFO queue for arbitrary data.
Declaration
TDynamicDataQueue = classDescription
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
Size | public | Total memory required for item data stored in the queue. |
MinimumBlockSize | public | Indicates the smallest memory block size allocated for an item added to the queue. |
MaximumBlockSize | public | Indicates the largest memory block size allocated for an item added to the queue. |
Methods
Create | public | Constructor for the class instance. |
Destroy | public | Destructor for the class instance. |
Clear | public | Frees data items and storage allocated for the queue. |
ConsistencyCheck | public | Checks for errors in queue settings, item storage space, or item content. |
WriteDebugReport | public | Generates debugging information for the queue state and optional item data in the queue. |
Push | public | Adds the specified content to the FIFO queue. |
Pop | public | Removes an item from the top of the FIFO queue. |
Top | public | Gets 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.
