33 return id ?
id->ctx : NULL;
38 return id ?
id->user : NULL;
43 return id ?
id->name : NULL;
48 const char *copy =
name ? strdup(
name) : NULL;
77 return id ?
id->hash : 0;
94 if (!
id->name || !nu->
name)
155 if (!id1->name != !id2->name)
156 return !id1->name - !id2->name;
158 int cmp = strcmp(id1->name, id2->name);
162 if (id1->user < id2->user)
201 return id->free_user;
226 "unable to find id", (
void)0);
231 id->free_user(
id->user);
233 free((
char *)
id->name);
250 snprintf(buffer,
sizeof(buffer),
"@%p",
id->user);
#define isl_calloc_type(ctx, type)
#define isl_die(ctx, errno, msg, code)
void isl_ctx_deref(struct isl_ctx *ctx)
isl_bool isl_bool_ok(int b)
void isl_ctx_ref(struct isl_ctx *ctx)
#define isl_hash_hash(h, h2)
struct isl_hash_table_entry * isl_hash_table_entry_none
uint32_t isl_hash_string(uint32_t hash, const char *s)
#define isl_hash_builtin(h, l)
void isl_hash_table_remove(struct isl_ctx *ctx, struct isl_hash_table *table, struct isl_hash_table_entry *entry)
struct isl_hash_table_entry * isl_hash_table_find(struct isl_ctx *ctx, struct isl_hash_table *table, uint32_t key_hash, isl_bool(*eq)(const void *entry, const void *val), const void *val, int reserve)
__isl_export __isl_give ISL_HMAP __isl_take ISL_KEY __isl_take ISL_VAL * val
isl_stat isl_stat(*) void user)
int GMPQAPI() cmp(mp_rat op1, mp_rat op2)
static void free_user(struct isl_arg *arg, void *opt)
static isl_bool isl_id_eq(const void *entry, const void *name)
const char * isl_id_get_name(__isl_keep isl_id *id)
uint32_t isl_id_get_hash(__isl_keep isl_id *id)
int isl_id_cmp(__isl_keep isl_id *id1, __isl_keep isl_id *id2)
static __isl_give isl_id * id_alloc(isl_ctx *ctx, const char *name, void *user)
static isl_bool isl_id_has_name_and_user(const void *entry, const void *val)
void(*)(void *user) isl_id_get_free_user(__isl_keep isl_id *id)
__isl_give isl_printer * isl_printer_print_id(__isl_take isl_printer *p, __isl_keep isl_id *id)
static isl_bool isl_id_plain_is_equal(__isl_keep isl_id *id1, __isl_keep isl_id *id2)
__isl_null isl_id * isl_id_free(__isl_take isl_id *id)
isl_ctx * isl_id_get_ctx(__isl_keep isl_id *id)
void * isl_id_get_user(__isl_keep isl_id *id)
__isl_give isl_id * isl_id_copy(isl_id *id)
__isl_give isl_id * isl_id_alloc(isl_ctx *ctx, const char *name, void *user)
__isl_give isl_id * isl_stream_read_id(__isl_keep isl_stream *s)
__isl_give isl_id * isl_id_set_free_user(__isl_take isl_id *id, void(*free_user)(void *user))
uint32_t isl_hash_id(uint32_t hash, __isl_keep isl_id *id)
__isl_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__isl_give isl_printer * isl_printer_print_str(__isl_take isl_printer *p, const char *s)
void isl_stream_error(__isl_keep isl_stream *s, struct isl_token *tok, char *msg)
void isl_token_free(struct isl_token *tok)
isl_ctx * isl_stream_get_ctx(__isl_keep isl_stream *s)
struct isl_token * isl_stream_next_token(__isl_keep isl_stream *s)
__isl_give char * isl_token_get_str(isl_ctx *ctx, struct isl_token *tok)
struct isl_hash_table id_table
__isl_give void(* free_user)(void *user)