19 #define SEQ_ORDER FALSE
104 }
while (rv && (rv->
node == n));
110 }
while (rv && (rv->
node == n));
124 template.base.tag = key;
154 return agfindedge_by_key(g, t, h, tag);
196 if (agfindedge_by_key(g, t, h,
AGTAG(e)))
break;
251 if (agfindedge_by_key(g, t, h, key))
265 e = agfindedge_by_id(g, t, h,
id);
267 e = agfindedge_by_id(g, h, t,
id);
268 if ((e ==
NILedge) && cflag && ok_to_make_edge(g, t, h)) {
270 if ((g != root) && ((e = agfindedge_by_id(root, t, h,
id)))) {
274 e = newedge(g, t, h,
id);
301 e = agfindedge_by_key(g, t, h, key);
303 e = agfindedge_by_key(g, h, t, key);
307 e = agfindedge_by_key(
agroot(g), t, h, key);
309 e = agfindedge_by_key(
agroot(g), h, t, key);
317 if (cflag && ok_to_make_edge(g, t, h)
319 e = newedge(g, t, h, my_id);
387 rv = agfindedge_by_key(g, t, h,
AGTAG(e));
388 if (cflag && (rv ==
NILedge)) {
390 rv = agfindedge_by_id(g, t, h,
AGID(e));
392 rv = newedge(g, t, h,
AGID(e));
554 return agfindedge_by_id(g, t, h,
id);
CGRAPH_API Agedge_t * agopp(Agedge_t *e)
CGRAPH_API int agdeledge(Agraph_t *g, Agedge_t *arg_e)
unsigned int(* Dthash_f)(Dt_t *, void *, Dtdisc_t *)
void *(* Dtmake_f)(Dt_t *, void *, Dtdisc_t *)
Dtdisc_t Ag_mainedge_seq_disc
void agrecclose(Agobj_t *obj)
int agmapnametoid(Agraph_t *g, int objtype, char *str, IDTYPE *result, int allocflag)
Dtdisc_t Ag_subedge_id_disc
CDT_API Dtlink_t * dtextract(Dt_t *)
void agregister(Agraph_t *g, int objtype, void *obj)
CGRAPH_API Agedge_t * agfstin(Agraph_t *g, Agnode_t *n)
CGRAPH_API int agisundirected(Agraph_t *g)
CGRAPH_API Agedge_t * agfstedge(Agraph_t *g, Agnode_t *n)
CGRAPH_API Agedge_t * agmkin(Agedge_t *e)
CGRAPH_API Agraph_t * agroot(void *obj)
CGRAPH_API Agedge_t * agfstout(Agraph_t *g, Agnode_t *n)
uint64_t agnextseq(Agraph_t *g, int objtype)
Dtdisc_t Ag_mainedge_id_disc
CGRAPH_API void agfree(Agraph_t *g, void *ptr)
void agedgeattr_init(Agraph_t *g, Agedge_t *e)
CGRAPH_API Agraph_t * agraphof(void *obj)
CGRAPH_API Agnode_t * agtail(Agedge_t *e)
CGRAPH_API int ageqedge(Agedge_t *e, Agedge_t *f)
CGRAPH_API Agedge_t * agmkout(Agedge_t *e)
void agedgeattr_delete(Agedge_t *e)
CGRAPH_API int agisstrict(Agraph_t *g)
CGRAPH_API Agnode_t * aghead(Agedge_t *e)
CGRAPH_API Agraph_t * agparent(Agraph_t *g)
void agdeledgeimage(Agraph_t *g, Agedge_t *edge, void *ignored)
void agmethod_delete(Agraph_t *g, void *obj)
CGRAPH_API Agedge_t * agsubedge(Agraph_t *g, Agedge_t *e, int createflag)
void agfreeid(Agraph_t *g, int objtype, IDTYPE id)
Dtdisc_t Ag_subedge_seq_disc
void agmethod_init(Agraph_t *g, void *obj)
CGRAPH_API Agsubnode_t * agsubrep(Agraph_t *g, Agnode_t *n)
int agedgeseqcmpf(Dict_t *d, void *arg_e0, void *arg_e1, Dtdisc_t *disc)
CGRAPH_API Agedge_t * agnxtedge(Agraph_t *g, Agedge_t *e, Agnode_t *n)
int agallocid(Agraph_t *g, int objtype, IDTYPE request)
CDT_API int dtrestore(Dt_t *, Dtlink_t *)
CGRAPH_API void * agalloc(Agraph_t *g, size_t size)
CGRAPH_API Agedge_t * agedge(Agraph_t *g, Agnode_t *t, Agnode_t *h, char *name, int createflag)
void * agdictobjmem(Dict_t *dict, void *p, size_t size, Dtdisc_t *disc)
int(* Dtevent_f)(Dt_t *, int, void *, Dtdisc_t *)
CGRAPH_API void * agbindrec(void *obj, char *name, unsigned int size, int move_to_front)
void(* Dtfree_f)(Dt_t *, void *, Dtdisc_t *)
CGRAPH_API Agedge_t * agnxtin(Agraph_t *g, Agedge_t *e)
CGRAPH_API Agedge_t * agnxtout(Agraph_t *g, Agedge_t *e)
int agapply(Agraph_t *g, Agobj_t *obj, agobjfn_t fn, void *arg, int preorder)
int agedgeidcmpf(Dict_t *d, void *arg_e0, void *arg_e1, Dtdisc_t *disc)
CGRAPH_API Agnode_t * agsubnode(Agraph_t *g, Agnode_t *n, int createflag)
void(* agobjfn_t)(Agraph_t *g, Agobj_t *obj, void *arg)
CGRAPH_API Agedge_t * agidedge(Agraph_t *g, Agnode_t *t, Agnode_t *h, IDTYPE id, int createflag)