Woolz Image Processing Version 1.4.0
_AlcCPQQueue Struct Reference

An $O(1)$ priority queue based on the Calendar Priority Queue data structure. Typedef: AlcCPQQueue. More...

Data Fields

int nItem
int nBucket
int nItemIncThr
int nItemDecThr
int lastIdx
int itemBlockSz
int bucketBase
int maxBucket
int resizable
float lastPriority
double bucketWidth
double bucketMin
struct _AlcCPQItem ** buckets
struct _AlcCPQItemfreeItem
struct _AlcBlockStackfreeStack

Detailed Description

An $O(1)$ priority queue based on the Calendar Priority Queue data structure. Typedef: AlcCPQQueue.


Field Documentation

Number of items in the queue.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

Number of buckets for items.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

Threshold number of items, at which the number of buckets is increased.

Referenced by AlcCPQItemInsert(), and AlcCPQQueueNew().

Threshold number of items, at which the number of buckets is decreased.

Referenced by AlcCPQItemUnlink(), and AlcCPQQueueNew().

The index (offset by bucketBase) of the last bucket from which an item was dequeued or the index of a top priority item that has been inserted. A negative value is used to indicate that the index is invalid.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

Number of items allocated in each block by AlcBlockStackNew().

Referenced by AlcCPQQueueNew().

The offset into the allocated buckets of the current buckets.

Referenced by AlcCPQItemUnlink(), and AlcCPQQueueNew().

The total number of buckets that have been allocated.

Referenced by AlcCPQQueueNew().

Non-zero if the queue is resizable.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

The priority of either the last item dequeued or of the top priority item that has been inserted.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

The width of each bucket.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

The minimum priority for the bucket with (offset) index lastIdx. A negative value is used to indicate that the minimum priority is invalid.

Referenced by AlcCPQItemInsert(), AlcCPQItemUnlink(), and AlcCPQQueueNew().

Contiguous array of buckets.

Referenced by AlcCPQItemUnlink(), AlcCPQQueueFree(), and AlcCPQQueueNew().

List of items available for use in the priority queue.

Referenced by AlcCPQItemFree(), and AlcCPQItemNew().

Free stack used to efficiently allocate and free blocks of queue items.

Referenced by AlcCPQQueueFree().


The documentation for this struct was generated from the following file: