Woolz Image Processing  Version 1.7.5
AlcType.h File Reference

Type definitions for the Woolz type allocation library. More...

Go to the source code of this file.

Data Structures

struct  _AlcBlockStack
 General purpose data structure for maintaining blocks of some data type. Useful for efficient memory allocation. It's not a stack but a doubly linked list of blocks of data which can be used as a stack, heap, list, .... Typedef: AlcBlockStack. More...
 
struct  _AlcLRUCItem
 A cache item for a AlcLRUCache. Typedef: AlcLRUCItem. More...
 
struct  _AlcLRUCache
 A least recent use removal cache allowing rank and random access to it's entries. Rank access is via a doubly linked list (using rankPrv and rankNxt), while random access is via hash table (using the item's key and hashNxt). The cache will unlink items as required to maintain the set maximum number of entries and maximum total entry size. Typedef: AlcLRUCache. More...
 
struct  _AlcCPQQueue
 An \(O(1)\) priority queue based on the Calendar Priority Queue data structure. Typedef: AlcCPQQueue. More...
 
struct  _AlcCPQItem
 An item in a calendar priority queue. Typedef: AlcCPQItem. More...
 
struct  _AlcDLPItem
 A doubly linked list item. Typedef: AlcDLPItem. More...
 
struct  _AlcDLPList
 A doubly linked list of pointers. Typedef: AlcDLPList. More...
 
struct  _AlcHashItem
 A hash table item. Typedef: AlcHashItem. More...
 
struct  _AlcHashTable
 A hash table. Typedef: AlcHashTable. More...
 
struct  _AlcVector
 An extensible 1D array. Typedef: AlcVector. More...
 
union  _AlcPointP
 Pointer to a generic coordinate. Typedef: AlcPointP. More...
 
struct  _AlcKDTNode
 A node in a binary space partition tree (kD-tree). Typedef: AlcKDTNode. More...
 
struct  _AlcKDTTree
 A binary space partition tree (kD-tree). Typedef: AlcKDTTree. More...
 
struct  _AlcHeapEntryCore
 Core heap entry data structure. All other heap entry data structures must have the fields of this data structure first. Typedef: AlcHeapEntryCore. More...
 
struct  _AlcHeap
 A general purpose heap data structure. Typedef: AlcHeap. More...
 
struct  _AlcUFTree
 A general purpose union tree based on Robert Sedgewick's Weighted Quick Union Find. More...
 

Macros

#define ALC_STRTOK_R(S, D, P)    strtok((S),(D))
 
#define ALC_TIMERSUB(A, B, R)
 

Typedefs

typedef enum _AlcErrno AlcErrno
 
typedef struct _AlcBlockStack AlcBlockStack
 
typedef unsigned int(* AlcLRUCKeyFn) (struct _AlcLRUCache *, void *)
 Function called to compute a AlcLRUCache item's numeric key given it's entry. The required function parameters are the cache and the entry. More...
 
typedef int(* AlcLRUCCmpFn) (const void *, const void *)
 Function called to compare two entries in a AlcLRUCache. This function must return zero only iff the two entries match. The required function parameters are the two cache entry data structures with sufficient fields set to make a comparison. More...
 
typedef void(* AlcLRUCUnlinkFn) (struct _AlcLRUCache *, void *)
 
typedef struct _AlcLRUCItem AlcLRUCItem
 
typedef struct _AlcLRUCache AlcLRUCache
 
typedef struct _AlcCPQQueue AlcCPQQueue
 
typedef struct _AlcCPQItem AlcCPQItem
 
typedef enum _AlcDirection AlcDirection
 
typedef struct _AlcDLPItem AlcDLPItem
 
typedef struct _AlcDLPList AlcDLPList
 
typedef struct _AlcHashItem AlcHashItem
 
typedef struct _AlcHashTable AlcHashTable
 
typedef struct _AlcVector AlcVector
 
typedef enum _AlcPointType AlcPointType
 
typedef union _AlcPointP AlcPointP
 
typedef struct _AlcKDTNode AlcKDTNode
 
typedef struct _AlcKDTTree AlcKDTTree
 
typedef struct _AlcHeapEntryCore AlcHeapEntryCore
 
typedef struct _AlcHeap AlcHeap
 
typedef struct _AlcUFTree AlcUFTree
 

Enumerations

enum  _AlcErrno {
  ALC_ER_NONE = 0,
  ALC_ER_ALLOC,
  ALC_ER_NULLPTR,
  ALC_ER_NUMELEM,
  ALC_ER_PARAM,
  ALC_ER_READ,
  ALC_ER_WRITE
}
 Error codes returned by functions of the memory allocation and fundamental type library. Typedef: AlcErrno. More...
 
enum  _AlcDirection {
  ALC_DIRECTION_FWD,
  ALC_DIRECTION_REV
}
 Data structure traversal direction. Typedef: AlcDirection. More...
 
enum  _AlcPointType {
  ALC_POINTTYPE_INT,
  ALC_POINTTYPE_DBL
}
 Type of coordinate point. Typedef: AlcPointType. More...
 

Detailed Description

Type definitions for the Woolz type allocation library.

Author
Bill Hill
Date
March 1999
Version
Id
14ccf7e6d5f0ab8e6bf936ff665bcc49c50a7542
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Macro Definition Documentation

#define ALC_STRTOK_R (   S,
  D,
 
)    strtok((S),(D))
#define ALC_TIMERSUB (   A,
  B,
 
)
Value:
{ \
(R)->tv_sec = (A)->tv_sec - (B)->tv_sec; \
(R)->tv_usec = (A)->tv_usec - (B)->tv_usec; \
if((R)->tv_usec < 0) \
{ \
(R)->tv_sec -= 1; \
(R)->tv_usec += 1000000; \
} \
}

Referenced by WlzProjectObjToPlane().

Typedef Documentation

typedef enum _AlcErrno AlcErrno
typedef struct _AlcBlockStack AlcBlockStack
typedef void(* AlcLRUCUnlinkFn) (struct _AlcLRUCache *, void *)
typedef struct _AlcLRUCItem AlcLRUCItem
typedef struct _AlcLRUCache AlcLRUCache
typedef struct _AlcCPQQueue AlcCPQQueue
typedef struct _AlcCPQItem AlcCPQItem
typedef struct _AlcDLPItem AlcDLPItem
typedef struct _AlcDLPList AlcDLPList
typedef struct _AlcHashItem AlcHashItem
typedef struct _AlcHashTable AlcHashTable
typedef struct _AlcVector AlcVector
typedef union _AlcPointP AlcPointP
typedef struct _AlcKDTNode AlcKDTNode
typedef struct _AlcKDTTree AlcKDTTree
typedef struct _AlcHeap AlcHeap
typedef struct _AlcUFTree AlcUFTree

Enumeration Type Documentation

Type of coordinate point. Typedef: AlcPointType.

Enumerator
ALC_POINTTYPE_INT 

Integer point

ALC_POINTTYPE_DBL 

Double precision floating point point