22#define CGHDR_API __declspec(dllexport)
24#define CGHDR_API __declspec(dllimport)
46#define LOCALNAMEPREFIX '%'
48#define AGDISC(g,d) ((g)->clos->disc.d)
49#define AGCLOS(g,d) ((g)->clos->state.d)
77enum {
SEQ_MASK = (1 << (
sizeof(unsigned) * 8 - 4)) - 1 };
void agfreeid(Agraph_t *g, int objtype, IDTYPE id)
int agstrclose(Agraph_t *g)
void aginternalmapclose(Agraph_t *g)
void agdtdisc(Agraph_t *g, Dict_t *dict, Dtdisc_t *disc)
void agrecclose(Agobj_t *obj)
Agnode_t * agfindnode_by_id(Agraph_t *g, IDTYPE id)
int aginternalmapdelete(Agraph_t *g, int objtype, IDTYPE id)
int agapply(Agraph_t *g, Agobj_t *obj, agobjfn_t fn, void *arg, int preorder)
void aginternalmapinsert(Agraph_t *g, int objtype, char *str, IDTYPE result)
Dtdisc_t Ag_subnode_seq_disc
int agmapnametoid(Agraph_t *g, int objtype, char *str, IDTYPE *result, bool createflag)
void aglexinit(Agdisc_t *disc, void *ifile)
Agraph_t * agopen1(Agraph_t *g)
void agdeledgeimage(Agraph_t *g, Agedge_t *edge, void *ignored)
Dict_t * agdtopen(Agraph_t *g, Dtdisc_t *disc, Dtmethod_t *method)
static Agraphs_t * g_seq2(Agraph_t *g)
char * aginternalmapprint(Agraph_t *g, int objtype, IDTYPE id)
int agallocid(Agraph_t *g, int objtype, IDTYPE request)
int agdtdelete(Agraph_t *g, Dict_t *dict, void *obj)
Dtdisc_t Ag_subedge_seq_disc
uint64_t agnextseq(Agraph_t *g, int objtype)
void agmarkhtmlstr(char *s)
bool aginternalmaplookup(Agraph_t *g, int objtype, char *str, IDTYPE *result)
Dtdisc_t Ag_mainedge_seq_disc
void agregister(Agraph_t *g, int objtype, void *obj)
int agrename(Agobj_t *obj, char *newname)
void agdelnodeimage(Agraph_t *g, Agnode_t *node, void *ignored)
Dtdisc_t Ag_subedge_id_disc
Dtdisc_t Ag_mainedge_id_disc
char * agprintid(Agobj_t *obj)
Dtdisc_t Ag_subgraph_seq_disc
Dtdisc_t Ag_subgraph_id_disc
int agdtclose(Agraph_t *g, Dict_t *dict)
void agedgesetop(Agraph_t *g, Agedge_t *e, int insertion)
abstract graph C library, Cgraph API
Agattr_t * agattrrec(void *obj)
void agnodeattr_init(Agraph_t *g, Agnode_t *n)
void agnodeattr_delete(Agnode_t *n)
void agedgeattr_init(Agraph_t *g, Agedge_t *e)
void agraphattr_init(Agraph_t *g)
void agedgeattr_delete(Agedge_t *e)
Agdatadict_t * agdatadict(Agraph_t *g, bool cflag)
int agraphattr_delete(Agraph_t *g)
void agupdcb(Agraph_t *g, void *obj, Agsym_t *sym, Agcbstack_t *disc)
void agdelcb(Agraph_t *g, void *obj, Agcbstack_t *disc)
void aginitcb(Agraph_t *g, void *obj, Agcbstack_t *disc)
void agmethod_delete(Agraph_t *g, void *obj)
void agmethod_init(Agraph_t *g, void *obj)
void agmethod_upd(Agraph_t *g, void *obj, Agsym_t *sym)
void(* agobjfn_t)(Agraph_t *g, Agobj_t *obj, void *arg)
uint64_t IDTYPE
unique per main graph ID
textitem scanner parser str
#define DEFINE_LIST(name, type)
string attribute container
a generic header of Agraph_s, Agnode_s and Agedge_s
Agraphs_t linear
the newer contiguous collection
Dt_t legacy
the traditional tree of subgraphs