Tesseract
3.02
|
Go to the source code of this file.
Classes | |
struct | HEAPENTRY |
struct | HEAP |
Macros | |
#define | HEAPFULL 3000 |
#define | EMPTY -1 |
#define | TESS_HEAP_OK 0 |
#define | FreeHeap(H) memfree(H) |
#define | MaxSizeOfHeap(H) (H->Size) |
#define | SizeOfHeap(H) (H->FirstFree - 1) |
#define | InitHeap(H) (H->FirstFree = 1) |
#define | HeapFull(H) ((H)->FirstFree > (H)->Size) |
#define | HeapEmpty(H) ((H)->FirstFree <= 1) |
#define | HeapKeyFor(H, E) ((H)->Entry[(E)+1].Key) |
#define | HeapDataFor(H, E) ((H)->Entry[(E)+1].Data) |
Functions | |
HEAP * | MakeHeap (int Size) |
int | HeapPop (HEAP *Heap, FLOAT32 *Key, void *out_ptr) |
int | HeapPopWorst (HEAP *Heap, FLOAT32 *Key, void *out_ptr) |
void | HeapPush (HEAP *Heap, FLOAT32 Key, void *Data) |
void | HeapStore (HEAP *Heap, HEAPENTRY *Entry) |
int | GetTopOfHeap (HEAP *Heap, HEAPENTRY *Entry) |
void | FreeHeapData (HEAP *Heap, void_dest destructor) |
bool | HeapPushCheckSize (HEAP *Heap, FLOAT32 Key, void *Data) |
This routine is similar to FreeHeap in that it deallocates the memory consumed by the heap. However, it also calls Deallocator for each item in the heap so that this data is also deallocated.
Heap | heap whose data is to be freed |
destructor | function to be used to deallocate data |
Globals:
Definition at line 327 of file oldheap.cpp.
This routine removes the top item on the heap and copies its contents into Entry.
Heap | ptr to heap whose top is to be removed and returned |
Entry | ptr to heap entry to be filled with top entry on Heap |
Globals:
Definition at line 273 of file oldheap.cpp.
This routine removes the top item on the heap and places its contents into Key and Data.
Globals:
Heap | ptr to heap whose top is to be removed and returned |
Key | place to put key of top heap item |
out_ptr | place to put data of top heap item |
Definition at line 76 of file oldheap.cpp.
HeapPopWorst
Remove the largest item from the heap.
Heap | ptr to heap whose top is to be removed and returned |
Key | place to put key of top heap item |
out_ptr | place to put data of top heap item |
Definition at line 124 of file oldheap.cpp.
This routine stores Data into Heap and associates it with Key. The heap is maintained in such a way that the item with the lowest key is always at the top of the heap.
Globals:
Heap | ptr to heap to store new item in |
Key | numeric key associated with new item |
Data | ptr to data contents of new item |
Definition at line 195 of file oldheap.cpp.
Definition at line 170 of file oldheap.cpp.
This routine stores Entry into Heap. The heap is maintained in such a way that the item with the lowest key is always at the top of the heap.
Globals:
Heap | ptr to heap to store new item in |
Entry | ptr to item to be stored in Heap |
Definition at line 234 of file oldheap.cpp.
HEAP* MakeHeap | ( | int | Size | ) |
This routine creates and initializes a new heap data structure containing Size elements. In actuality, Size + 1 elements are allocated. The first element, element 0, is unused, this makes the index arithmetic easier.
Globals:
Size | maximum number of entries in the heap |
Definition at line 49 of file oldheap.cpp.