1 #ifndef ISL_ID_H
2 #define ISL_ID_H
3 
4 #include <isl/ctx.h>
5 #include <isl/id_type.h>
6 #include <isl/list.h>
7 #include <isl/printer_type.h>
8 #include <isl/stdint.h>
9 
10 #if defined(__cplusplus)
11 extern "C" {
12 #endif
13 
14 ISL_DECLARE_LIST_FN(id)
15 
16 isl_ctx *isl_id_get_ctx(__isl_keep isl_id *id);
17 uint32_t isl_id_get_hash(__isl_keep isl_id *id);
18 
19 __isl_give isl_id *isl_id_alloc(isl_ctx *ctx,
20 	__isl_keep const char *name, void *user);
21 __isl_give isl_id *isl_id_copy(isl_id *id);
22 __isl_null isl_id *isl_id_free(__isl_take isl_id *id);
23 
24 void *isl_id_get_user(__isl_keep isl_id *id);
25 __isl_keep const char *isl_id_get_name(__isl_keep isl_id *id);
26 
27 __isl_give isl_id *isl_id_set_free_user(__isl_take isl_id *id,
28 	void (*free_user)(void *user));
29 
30 __isl_give char *isl_id_to_str(__isl_keep isl_id *id);
31 __isl_give isl_printer *isl_printer_print_id(__isl_take isl_printer *p,
32 	__isl_keep isl_id *id);
33 void isl_id_dump(__isl_keep isl_id *id);
34 
35 #if defined(__cplusplus)
36 }
37 #endif
38 
39 #endif
40