|
Graphviz 2.29.20120208.0545
|
#include <stddef.h>

Go to the source code of this file.
Data Structures | |
| struct | _dtlink_s |
| struct | _dthold_s |
| struct | _dtmethod_s |
| struct | _dtdata_s |
| struct | _dtdisc_s |
| struct | _dt_s |
| struct | _dtstat_s |
Defines | |
| #define | CDT_VERSION 20050420L |
| #define | Void_t void |
| #define | _ARG_(x) x |
| #define | _BEGIN_EXTERNS_ |
| #define | _END_EXTERNS_ |
| #define | __EXTERN__(T, obj) extern T obj |
| #define | __DEFINE__(T, obj, val) T obj = val |
| #define | DTDISC(dc, ky, sz, lk, mkf, frf, cmpf, hshf, memf, evf) |
| #define | DTOFFSET(struct_s, member) ((int)(&((struct_s*)0)->member)) |
| #define | DT_FOUND 0100000 |
| #define | DT_SET 0000001 |
| #define | DT_BAG 0000002 |
| #define | DT_OSET 0000004 |
| #define | DT_OBAG 0000010 |
| #define | DT_LIST 0000020 |
| #define | DT_STACK 0000040 |
| #define | DT_QUEUE 0000100 |
| #define | DT_DEQUE 0000200 |
| #define | DT_METHODS 0000377 |
| #define | DT_SAMECMP 0000001 |
| #define | DT_SAMEHASH 0000002 |
| #define | DT_INSERT 0000001 |
| #define | DT_DELETE 0000002 |
| #define | DT_SEARCH 0000004 |
| #define | DT_NEXT 0000010 |
| #define | DT_PREV 0000020 |
| #define | DT_RENEW 0000040 |
| #define | DT_CLEAR 0000100 |
| #define | DT_FIRST 0000200 |
| #define | DT_LAST 0000400 |
| #define | DT_MATCH 0001000 |
| #define | DT_VSEARCH 0002000 |
| #define | DT_ATTACH 0004000 |
| #define | DT_DETACH 0010000 |
| #define | DT_APPEND 0020000 |
| #define | DT_OPEN 1 |
| #define | DT_CLOSE 2 |
| #define | DT_DISC 3 |
| #define | DT_METH 4 |
| #define | DT_ENDOPEN 5 |
| #define | DT_ENDCLOSE 6 |
| #define | DT_HASHSIZE 7 |
| #define | _DT(dt) ((Dt_t*)(dt)) |
| #define | _DTDSC(dc, ky, sz, lk, cmpf) (ky = dc->key, sz = dc->size, lk = dc->link, cmpf = dc->comparf) |
| #define | _DTLNK(o, lk) ((Dtlink_t*)((char*)(o) + lk) ) |
| #define | _DTOBJ(e, lk) (lk < 0 ? ((Dthold_t*)(e))->obj : (Void_t*)((char*)(e) - lk) ) |
| #define | _DTKEY(o, ky, sz) (Void_t*)(sz < 0 ? *((char**)((char*)(o)+ky)) : ((char*)(o)+ky)) |
| #define | _DTCMP(dt, k1, k2, dc, cmpf, sz) |
| #define | _DTHSH(dt, ky, dc, sz) (dc->hashf ? (*dc->hashf)(dt,ky,dc) : dtstrhash(0,ky,sz) ) |
| #define | _DTMTCH(dt, key, action) |
| #define | _DTSRCH(dt, obj, action) |
| #define | DTTREEMATCH(dt, key, action) _DTMTCH(_DT(dt),(Void_t*)(key),action) |
| #define | DTTREESEARCH(dt, obj, action) _DTSRCH(_DT(dt),(Void_t*)(obj),action) |
| #define | dtvnext(d) (_DT(d)->view) |
| #define | dtvcount(d) (_DT(d)->nview) |
| #define | dtvhere(d) (_DT(d)->walk) |
| #define | dtlink(d, e) (((Dtlink_t*)(e))->right) |
| #define | dtobj(d, e) _DTOBJ((e), _DT(d)->disc->link) |
| #define | dtfinger(d) (_DT(d)->data->here ? dtobj((d),_DT(d)->data->here):(Void_t*)(0)) |
| #define | dtfirst(d) (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_FIRST) |
| #define | dtnext(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_NEXT) |
| #define | dtleast(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH|DT_NEXT) |
| #define | dtlast(d) (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_LAST) |
| #define | dtprev(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_PREV) |
| #define | dtmost(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH|DT_PREV) |
| #define | dtsearch(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH) |
| #define | dtmatch(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_MATCH) |
| #define | dtinsert(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_INSERT) |
| #define | dtappend(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_INSERT|DT_APPEND) |
| #define | dtdelete(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_DELETE) |
| #define | dtattach(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_ATTACH) |
| #define | dtdetach(d, o) (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_DETACH) |
| #define | dtclear(d) (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_CLEAR) |
| #define | dtfound(d) (_DT(d)->type & DT_FOUND) |
| #define | DT_PRIME 17109811 |
| #define | dtcharhash(h, c) (((unsigned int)(h) + (unsigned int)(c)) * DT_PRIME ) |
Typedefs | |
| typedef struct _dtlink_s | Dtlink_t |
| typedef struct _dthold_s | Dthold_t |
| typedef struct _dtdisc_s | Dtdisc_t |
| typedef struct _dtmethod_s | Dtmethod_t |
| typedef struct _dtdata_s | Dtdata_t |
| typedef struct _dt_s | Dt_t |
| typedef struct _dt_s | Dict_t |
| typedef struct _dtstat_s | Dtstat_t |
| typedef Void_t *Dtmemory_f | _ARG_ ((Dt_t *, Void_t *, size_t, Dtdisc_t *)) |
Functions | |
| _END_EXTERNS_ _BEGIN_EXTERNS_ Dt_t *dtopen | _ARG_ ((Dtdisc_t *, Dtmethod_t *)) |
| int dtclose | _ARG_ ((Dt_t *)) |
| Dt_t *dtview | _ARG_ ((Dt_t *, Dt_t *)) |
| Dtdisc_t *dtdisc | _ARG_ ((Dt_t *dt, Dtdisc_t *, int)) |
| Dtmethod_t *dtmethod | _ARG_ ((Dt_t *, Dtmethod_t *)) |
| int dtrestore | _ARG_ ((Dt_t *, Dtlink_t *)) |
| int dttreeset | _ARG_ ((Dt_t *, int, int)) |
| int dtwalk | _ARG_ ((Dt_t *, int(*)(Dt_t *, Void_t *, Void_t *), Void_t *)) |
| Void_t *dtrenew | _ARG_ ((Dt_t *, Void_t *)) |
| int dtstat | _ARG_ ((Dt_t *, Dtstat_t *, int)) |
| unsigned int dtstrhash | _ARG_ ((unsigned int, Void_t *, int)) |
| int memcmp | _ARG_ ((const Void_t *, const Void_t *, size_t)) |
| int strcmp | _ARG_ ((const char *, const char *)) |
Variables | |
| _BEGIN_EXTERNS_ Dtmethod_t * | Dtset |
| Dtmethod_t * | Dtbag |
| Dtmethod_t * | Dtoset |
| Dtmethod_t * | Dtobag |
| Dtmethod_t * | Dtlist |
| Dtmethod_t * | Dtstack |
| Dtmethod_t * | Dtqueue |
| Dtmethod_t * | Dtdeque |
| Dtmethod_t * | Dtorder |
| Dtmethod_t * | Dttree |
| Dtmethod_t * | Dthash |
| Dtmethod_t | _Dttree |
| Dtmethod_t | _Dthash |
| Dtmethod_t | _Dtlist |
| Dtmethod_t | _Dtqueue |
| Dtmethod_t | _Dtstack |
| #define _DTCMP | ( | dt, | |
| k1, | |||
| k2, | |||
| dc, | |||
| cmpf, | |||
| sz | |||
| ) |
| #define _DTDSC | ( | dc, | |
| ky, | |||
| sz, | |||
| lk, | |||
| cmpf | |||
| ) | (ky = dc->key, sz = dc->size, lk = dc->link, cmpf = dc->comparf) |
| #define _DTHSH | ( | dt, | |
| ky, | |||
| dc, | |||
| sz | |||
| ) | (dc->hashf ? (*dc->hashf)(dt,ky,dc) : dtstrhash(0,ky,sz) ) |
Definition at line 260 of file cdt.h.
Referenced by dtdisc(), dtmethod(), and dtrenew().
| #define _DTKEY | ( | o, | |
| ky, | |||
| sz | |||
| ) | (Void_t*)(sz < 0 ? *((char**)((char*)(o)+ky)) : ((char*)(o)+ky)) |
Definition at line 255 of file cdt.h.
Referenced by dtdisc(), dtmethod(), and dtrenew().
| #define _DTMTCH | ( | dt, | |
| key, | |||
| action | |||
| ) |
do { Dtlink_t* _e; Void_t *_o, *_k, *_key; Dtdisc_t* _dc; \ int _ky, _sz, _lk, _cmp; Dtcompar_f _cmpf; \ _dc = (dt)->disc; _DTDSC(_dc, _ky, _sz, _lk, _cmpf); \ _key = (key); \ for(_e = (dt)->data->here; _e; _e = _cmp < 0 ? _e->hl._left : _e->right) \ { _o = _DTOBJ(_e, _lk); _k = _DTKEY(_o, _ky, _sz); \ if((_cmp = _DTCMP((dt), _key, _k, _dc, _cmpf, _sz)) == 0) \ break; \ } \ action (_e ? _o : (Void_t*)0); \ } while(0)
| #define _DTOBJ | ( | e, | |
| lk | |||
| ) | (lk < 0 ? ((Dthold_t*)(e))->obj : (Void_t*)((char*)(e) - lk) ) |
Definition at line 254 of file cdt.h.
Referenced by dtdisc(), dtmethod(), and dtrenew().
| #define _DTSRCH | ( | dt, | |
| obj, | |||
| action | |||
| ) |
do { Dtlink_t* _e; Void_t *_o, *_k, *_key; Dtdisc_t* _dc; \ int _ky, _sz, _lk, _cmp; Dtcompar_f _cmpf; \ _dc = (dt)->disc; _DTDSC(_dc, _ky, _sz, _lk, _cmpf); \ _key = _DTKEY(obj, _ky, _sz); \ for(_e = (dt)->data->here; _e; _e = _cmp < 0 ? _e->hl._left : _e->right) \ { _o = _DTOBJ(_e, _lk); _k = _DTKEY(_o, _ky, _sz); \ if((_cmp = _DTCMP((dt), _key, _k, _dc, _cmpf, _sz)) == 0) \ break; \ } \ action (_e ? _o : (Void_t*)0); \ } while(0)
| #define DT_BAG 0000002 |
Definition at line 146 of file cdt.h.
Referenced by dtdisc(), dtextract(), dtflatten(), dtmethod(), dtrestore(), and dtstat().
| #define DT_LIST 0000020 |
Definition at line 149 of file cdt.h.
Referenced by dtdisc(), dtflatten(), dtmethod(), dtrenew(), and dtsize().
| #define DT_METH 4 |
Definition at line 179 of file cdt.h.
Referenced by dtmethod().
| #define DT_METHODS 0000377 |
Definition at line 153 of file cdt.h.
Referenced by dtmethod(), and dtstat().
| #define DT_OBAG 0000010 |
Definition at line 148 of file cdt.h.
Referenced by dtextract(), dtmethod(), dtrenew(), dtrestore(), dtsize(), and dtstat().
| #define DT_OSET 0000004 |
Definition at line 147 of file cdt.h.
Referenced by dtextract(), dtmethod(), dtrenew(), dtrestore(), dtsize(), dtstat(), and dttreeset().
| #define DT_PRIME 17109811 |
Definition at line 316 of file cdt.h.
Referenced by dtstrhash().
| #define DT_QUEUE 0000100 |
Definition at line 151 of file cdt.h.
Referenced by dtdisc(), dtflatten(), dtmethod(), dtrenew(), and dtsize().
| #define DT_RENEW 0000040 |
Definition at line 165 of file cdt.h.
Referenced by dtdisc(), dtmethod(), dtrenew(), and dtrestore().
| #define DT_SET 0000001 |
Definition at line 145 of file cdt.h.
Referenced by dtdisc(), dtextract(), dtflatten(), dtmethod(), dtrestore(), and dtstat().
| #define DT_STACK 0000040 |
Definition at line 150 of file cdt.h.
Referenced by dtdisc(), dtflatten(), dtmethod(), dtrenew(), and dtsize().
| #define dtappend | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_INSERT|DT_APPEND) |
| #define dtattach | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_ATTACH) |
| #define dtcharhash | ( | h, | |
| c | |||
| ) | (((unsigned int)(h) + (unsigned int)(c)) * DT_PRIME ) |
| #define dtclear | ( | d | ) | (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_CLEAR) |
Definition at line 313 of file cdt.h.
Referenced by clearGrid(), clearNodeset(), and clearPM().
| #define dtdelete | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_DELETE) |
Definition at line 310 of file cdt.h.
Referenced by agDELedge(), agDELnode(), agFREEnode(), agstrfree(), firstDeglist(), remove_edge(), removeDeglist(), and removeNodeset().
| #define dtdetach | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_DETACH) |
| #define DTDISC | ( | dc, | |
| ky, | |||
| sz, | |||
| lk, | |||
| mkf, | |||
| frf, | |||
| cmpf, | |||
| hshf, | |||
| memf, | |||
| evf | |||
| ) |
| #define dtfirst | ( | d | ) | (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_FIRST) |
Definition at line 300 of file cdt.h.
Referenced by agfstattr(), agfstnode(), dtwalk(), epsf_define(), firstDeglist(), and printNodeset().
| #define dtinsert | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_INSERT) |
Definition at line 308 of file cdt.h.
Referenced by add_edge(), addGrid(), addIntSet(), addPS(), agINSnode(), agNEWsym(), agnode(), agstrdup(), agstrdup_html(), emit_once(), insertDeglist(), insertNodeset(), insertPM(), insertPS(), and updatePM().
| #define dtlast | ( | d | ) | (*(_DT(d)->searchf))((d),(Void_t*)(0),DT_LAST) |
Definition at line 303 of file cdt.h.
Referenced by aglstattr(), and aglstnode().
| #define dtleast | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH|DT_NEXT) |
| #define dtlink | ( | d, | |
| e | |||
| ) | (((Dtlink_t*)(e))->right) |
Definition at line 296 of file cdt.h.
Referenced by pointsOf().
| #define dtmatch | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_MATCH) |
Definition at line 307 of file cdt.h.
Referenced by agfindattr(), agfindnode(), agidnode(), and inIntSet().
| #define dtmost | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH|DT_PREV) |
| #define dtnext | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_NEXT) |
Definition at line 301 of file cdt.h.
Referenced by agfstin(), agfstout(), agnxtattr(), agnxtedge(), agnxtin(), agnxtnode(), agnxtout(), dtwalk(), epsf_define(), and printNodeset().
| #define DTOFFSET | ( | struct_s, | |
| member | |||
| ) | ((int)(&((struct_s*)0)->member)) |
| #define dtprev | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_PREV) |
Definition at line 304 of file cdt.h.
Referenced by agprvattr(), and agprvnode().
| #define dtsearch | ( | d, | |
| o | |||
| ) | (*(_DT(d)->searchf))((d),(Void_t*)(o),DT_SEARCH) |
Definition at line 306 of file cdt.h.
Referenced by agcontains(), agDELedge(), agDELnode(), agfindnode(), agstrdup(), agstrdup_html(), agstrfree(), emit_once(), findGrid(), gvusershape_find(), inPS(), isInPS(), and removeDeglist().
| #define DTTREEMATCH | ( | dt, | |
| key, | |||
| action | |||
| ) | _DTMTCH(_DT(dt),(Void_t*)(key),action) |
| #define DTTREESEARCH | ( | dt, | |
| obj, | |||
| action | |||
| ) | _DTSRCH(_DT(dt),(Void_t*)(obj),action) |
| #define Void_t void |
Definition at line 12 of file cdt.h.
Referenced by dtclose(), dtdisc(), dtmethod(), dtopen(), dtrenew(), dtrestore(), and dtwalk().
| typedef struct _dtmethod_s Dtmethod_t |
| _END_EXTERNS_ _BEGIN_EXTERNS_ Dt_t* dtopen _ARG_ | ( | (Dtdisc_t *, Dtmethod_t *) | ) |
| int strcmp _ARG_ | ( | (const char *, const char *) | ) |
| int memcmp _ARG_ | ( | (const Void_t *, const Void_t *, size_t) | ) |
| unsigned int dtstrhash _ARG_ | ( | (unsigned int, Void_t *, int) | ) |
| Void_t* dtrenew _ARG_ | ( | (Dt_t *, Void_t *) | ) |
| int dttreeset _ARG_ | ( | (Dt_t *, int, int) | ) |
| Dtmethod_t* dtmethod _ARG_ | ( | (Dt_t *, Dtmethod_t *) | ) |
| int dtclose _ARG_ | ( | (Dt_t *) | ) |
Referenced by emit_once(), init_edgelist(), mkDeglist(), mkGrid(), mkNodeset(), newPM(), newPS(), openIntSet(), processClusterEdges(), and splineEdges().
Referenced by htmlparse(), parseHTML(), and yyparse().
| _BEGIN_EXTERNS_ Dtmethod_t* Dtset |
Referenced by agNEWdict().
1.7.4