4 #ident "University of Edinburgh $Id: 14ccf7e6d5f0ab8e6bf936ff665bcc49c50a7542 $" 6 static char _AlcType_h[] =
"University of Edinburgh $Id: 14ccf7e6d5f0ab8e6bf936ff665bcc49c50a7542 $";
55 #define ALC_STRTOK_R(S,D,P) strtok_r((S),(D),(P)) 57 #define ALC_STRTOK_R(S,D,P) strtok((S),(D)) 60 #define ALC_TIMERSUB(A,B,R) timersub((A),(B),(R)) 62 #define ALC_TIMERSUB(A,B,R) \ 64 (R)->tv_sec = (A)->tv_sec - (B)->tv_sec; \ 65 (R)->tv_usec = (A)->tv_usec - (B)->tv_usec; \ 66 if((R)->tv_usec < 0) \ 69 (R)->tv_usec += 1000000; \ 301 void (*freeFn)(
void *);
331 void (*freeFn)(
void *);
349 int (*keyCmp)(
void *,
void *);
350 size_t (*hashFn)(
void *);
struct _AlcLRUCItem AlcLRUCItem
int nCmp
Definition: AlcType.h:498
A node in a binary space partition tree (kD-tree). Typedef: AlcKDTNode.
Definition: AlcType.h:407
void * freeStack
Definition: AlcType.h:371
double bucketWidth
Definition: AlcType.h:244
int lastIdx
Definition: AlcType.h:228
struct _AlcBlockStack * freeStack
Definition: AlcType.h:252
size_t idx
Definition: AlcType.h:409
struct _AlcLRUCItem * rankNxt
Definition: AlcType.h:165
int entSz
Definition: AlcType.h:475
unsigned int maxItem
Definition: AlcType.h:185
General purpose data structure for maintaining blocks of some data type. Useful for efficient memory ...
Definition: AlcType.h:104
int * sz
Definition: AlcType.h:495
_AlcPointType
Type of coordinate point. Typedef: AlcPointType.
Definition: AlcType.h:381
void(* AlcLRUCUnlinkFn)(struct _AlcLRUCache *, void *)
Definition: AlcType.h:150
struct _AlcHashItem * prev
Definition: AlcType.h:337
size_t blkCnt
Definition: AlcType.h:367
void * data
Definition: AlcType.h:481
unsigned int itemBlkSz
Definition: AlcType.h:189
void * kV
Definition: AlcType.h:394
void * key
Definition: AlcType.h:334
unsigned int(* AlcLRUCKeyFn)(struct _AlcLRUCache *, void *)
Function called to compute a AlcLRUCache item's numeric key given it's entry. The required function p...
Definition: AlcType.h:125
int entInc
Definition: AlcType.h:472
int maxNod
Definition: AlcType.h:501
AlcHashItem ** table
Definition: AlcType.h:353
unsigned int numItem
Definition: AlcType.h:184
AlcPointType type
Definition: AlcType.h:430
struct _AlcLRUCItem * hashNxt
Definition: AlcType.h:166
Core heap entry data structure. All other heap entry data structures must have the fields of this dat...
Definition: AlcType.h:451
struct _AlcKDTNode * childP
Definition: AlcType.h:414
int nItem
Definition: AlcType.h:220
struct _AlcLRUCItem * rankTail
Definition: AlcType.h:205
struct _AlcLRUCItem ** hashTbl
Definition: AlcType.h:207
unsigned int key
Definition: AlcType.h:160
int itemBlockSz
Definition: AlcType.h:234
struct _AlcDLPItem * prev
Definition: AlcType.h:307
Definition: AlcType.h:383
struct _AlcKDTNode * nodeStack
Definition: AlcType.h:438
void * entry
Definition: AlcType.h:333
size_t maxElm
Definition: AlcType.h:107
struct _AlcKDTNode * childN
Definition: AlcType.h:413
int bucketBase
Definition: AlcType.h:236
An item in a calendar priority queue. Typedef: AlcCPQItem.
Definition: AlcType.h:263
A general purpose heap data structure. Typedef: AlcHeap.
Definition: AlcType.h:465
struct _AlcBlockStack * next
Definition: AlcType.h:111
enum _AlcPointType AlcPointType
A least recent use removal cache allowing rank and random access to it's entries. Rank access is via ...
Definition: AlcType.h:182
int split
Definition: AlcType.h:410
int maxBucket
Definition: AlcType.h:238
struct _AlcVector AlcVector
A doubly linked list of pointers. Typedef: AlcDLPList.
Definition: AlcType.h:317
int maxEnt
Definition: AlcType.h:471
struct _AlcLRUCache AlcLRUCache
_AlcErrno
Error codes returned by functions of the memory allocation and fundamental type library. Typedef: AlcErrno.
Definition: AlcType.h:83
AlcLRUCKeyFn keyFn
Definition: AlcType.h:190
void * entry
Definition: AlcType.h:304
union _AlcPointP AlcPointP
AlcPointP boundP
Definition: AlcType.h:418
A doubly linked list item. Typedef: AlcDLPItem.
Definition: AlcType.h:296
size_t blkSz
Definition: AlcType.h:369
size_t curSz
Definition: AlcType.h:186
struct _AlcBlockStack * prev
Definition: AlcType.h:110
AlcBlockStack * freeStack
Definition: AlcType.h:440
void * entry
Definition: AlcType.h:268
double priority
Definition: AlcType.h:453
AlcDLPItem * head
Definition: AlcType.h:319
struct _AlcHeapEntryCore AlcHeapEntryCore
struct _AlcKDTTree AlcKDTTree
struct _AlcCPQItem * prev
Definition: AlcType.h:269
int * kI
Definition: AlcType.h:395
struct _AlcDLPItem * next
Definition: AlcType.h:305
A hash table item. Typedef: AlcHashItem.
Definition: AlcType.h:329
struct _AlcCPQItem AlcCPQItem
double bucketMin
Definition: AlcType.h:245
int nNod
Definition: AlcType.h:500
AlcLRUCCmpFn cmpFn
Definition: AlcType.h:192
A general purpose union tree based on Robert Sedgewick's Weighted Quick Union Find.
Definition: AlcType.h:491
struct _AlcHashItem AlcHashItem
enum _AlcDirection AlcDirection
struct _AlcLRUCItem * freeList
Definition: AlcType.h:198
struct _AlcDLPItem AlcDLPItem
int nEnt
Definition: AlcType.h:467
_AlcDirection
Data structure traversal direction. Typedef: AlcDirection.
Definition: AlcType.h:281
size_t nodeBlockSz
Definition: AlcType.h:439
struct _AlcCPQItem * next
Definition: AlcType.h:271
Definition: AlcType.h:384
A binary space partition tree (kD-tree). Typedef: AlcKDTTree.
Definition: AlcType.h:428
A cache item for a AlcLRUCache. Typedef: AlcLRUCItem.
Definition: AlcType.h:158
size_t nNodes
Definition: AlcType.h:436
AlcPointP boundN
Definition: AlcType.h:416
void * elements
Definition: AlcType.h:109
size_t blkUse
Definition: AlcType.h:368
struct _AlcKDTNode * root
Definition: AlcType.h:437
int * pr
Definition: AlcType.h:493
Definition: AlcType.h:285
int nItemIncThr
Definition: AlcType.h:222
int dim
Definition: AlcType.h:432
void ** blocks
Definition: AlcType.h:372
double tol
Definition: AlcType.h:434
struct _AlcKDTNode AlcKDTNode
size_t tableSz
Definition: AlcType.h:351
Pointer to a generic coordinate. Typedef: AlcPointP.
Definition: AlcType.h:392
float lastPriority
Definition: AlcType.h:241
struct _AlcKDTNode * parent
Definition: AlcType.h:411
int topPriLo
Definition: AlcType.h:476
struct _AlcCPQQueue AlcCPQQueue
size_t maxSz
Definition: AlcType.h:187
size_t elmSz
Definition: AlcType.h:366
struct _AlcCPQItem ** buckets
Definition: AlcType.h:249
double * kD
Definition: AlcType.h:396
struct _AlcLRUCItem * rankHead
Definition: AlcType.h:200
struct _AlcLRUCItem * rankPrv
Definition: AlcType.h:164
struct _AlcBlockStack AlcBlockStack
struct _AlcUFTree AlcUFTree
void * entries
Definition: AlcType.h:482
int resizable
Definition: AlcType.h:240
struct _AlcDLPList AlcDLPList
Definition: AlcType.h:283
struct _AlcBlockStack * freeStack
Definition: AlcType.h:197
unsigned int hashTblSz
Definition: AlcType.h:188
struct _AlcHashTable AlcHashTable
size_t sz
Definition: AlcType.h:162
An priority queue based on the Calendar Priority Queue data structure. Typedef: AlcCPQQueue.
Definition: AlcType.h:218
float priority
Definition: AlcType.h:265
int nBucket
Definition: AlcType.h:221
size_t elmCnt
Definition: AlcType.h:106
struct _AlcHashItem * next
Definition: AlcType.h:335
int(* AlcLRUCCmpFn)(const void *, const void *)
Function called to compare two entries in a AlcLRUCache. This function must return zero only iff the ...
Definition: AlcType.h:137
A hash table. Typedef: AlcHashTable.
Definition: AlcType.h:347
int nItemDecThr
Definition: AlcType.h:225
struct _AlcCPQItem * freeItem
Definition: AlcType.h:250
An extensible 1D array. Typedef: AlcVector.
Definition: AlcType.h:364
AlcPointP key
Definition: AlcType.h:415
size_t keySz
Definition: AlcType.h:433
AlcLRUCUnlinkFn unlinkFn
Definition: AlcType.h:195
void * entry
Definition: AlcType.h:163