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/multi.h> 8 #include <isl/printer_type.h> 9 #include <isl/stdint.h> 10 11 #if defined(__cplusplus) 12 extern "C" { 13 #endif 14 15 ISL_DECLARE_EXPORTED_LIST_FN(id) 16 ISL_DECLARE_EXPORTED_LIST_FN_READ(id) 17 18 ISL_DECLARE_MULTI(id) 19 20 isl_ctx *isl_id_get_ctx(__isl_keep isl_id *id); 21 uint32_t isl_id_get_hash(__isl_keep isl_id *id); 22 23 __isl_give isl_id *isl_id_alloc(isl_ctx *ctx, 24 __isl_keep const char *name, void *user); 25 __isl_give isl_id *isl_id_copy(isl_id *id); 26 __isl_null isl_id *isl_id_free(__isl_take isl_id *id); 27 28 void *isl_id_get_user(__isl_keep isl_id *id); 29 __isl_export 30 __isl_keep const char *isl_id_get_name(__isl_keep isl_id *id); 31 32 __isl_give isl_id *isl_id_set_free_user(__isl_take isl_id *id, 33 void (*free_user)(void *user)); 34 void (*isl_id_get_free_user(__isl_keep isl_id *id))(void *user); 35 36 __isl_constructor 37 __isl_give isl_id *isl_id_read_from_str(isl_ctx *ctx, const char *str); 38 __isl_give char *isl_id_to_str(__isl_keep isl_id *id); 39 __isl_give isl_printer *isl_printer_print_id(__isl_take isl_printer *p, 40 __isl_keep isl_id *id); 41 void isl_id_dump(__isl_keep isl_id *id); 42 43 __isl_constructor 44 __isl_give isl_multi_id *isl_multi_id_read_from_str(isl_ctx *ctx, 45 const char *str); 46 __isl_give isl_printer *isl_printer_print_multi_id(__isl_take isl_printer *p, 47 __isl_keep isl_multi_id *mi); 48 void isl_multi_id_dump(__isl_keep isl_multi_id *mi); 49 __isl_give char *isl_multi_id_to_str(__isl_keep isl_multi_id *mi); 50 51 #if defined(__cplusplus) 52 } 53 #endif 54 55 #endif 56