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