27static int idcmpf(
void *arg_p0,
void *arg_p1) {
34 else if (p0->
id < p1->
id)
47static int namecmpf(
void *arg_p0,
void *arg_p1) {
54 else if (p0->
str < p1->
str)
91 template.
str = search_str;
106 Dict_t *d_name_to_id, *d_id_to_name;
155 if ((isym =
find_isym(g, objtype,
id))) {
173 for (i = 0; i < 3; i++) {
175 for (sym =
dtfirst(d_name[i]); sym; sym = nxt) {
176 nxt =
dtnext(d_name[i], sym);
188 for (i = 0; i < 3; i++) {
Memory allocation wrappers that exit on failure.
static void * gv_alloc(size_t size)
CDT_API Dtmethod_t * Dttree
CDT_API int dtclose(Dt_t *)
Dict_t * agdtopen(Agraph_t *g, Dtdisc_t *disc, Dtmethod_t *method)
void aginternalmapclearlocalnames(Agraph_t *g)
uint64_t IDTYPE
unique per main graph ID
int agstrfree(Agraph_t *, const char *)
char * agstrdup(Agraph_t *, const char *)
returns a pointer to a reference-counted copy of the argument string, creating one if necessary
char * agstrbind(Agraph_t *g, const char *)
textitem scanner parser str
void aginternalmapclose(Agraph_t *g)
int aginternalmapdelete(Agraph_t *g, int objtype, IDTYPE id)
void aginternalmapinsert(Agraph_t *g, int objtype, char *str, IDTYPE id)
static int namecmpf(void *arg_p0, void *arg_p1)
static Dtdisc_t LookupById
char * aginternalmapprint(Agraph_t *g, int objtype, IDTYPE id)
bool aginternalmaplookup(Agraph_t *g, int objtype, char *str, IDTYPE *result)
struct IMapEntry_s IMapEntry_t
static IMapEntry_t * find_isym(Agraph_t *g, int objtype, IDTYPE id)
static Dtdisc_t LookupByName
static void closeit(Dict_t **d)
static int idcmpf(void *arg_p0, void *arg_p1)
Dict_t * lookup_by_name[3]
Agclos_t * clos
shared resources