1 #include <isl/ctx.h> 2 #include <isl/maybe.h> 3 #include <isl/printer.h> 4 5 #if defined(__cplusplus) 6 extern "C" { 7 #endif 8 9 #define ISL_xCAT(A,B) A ## B 10 #define ISL_CAT(A,B) ISL_xCAT(A,B) 11 #define ISL_xFN(TYPE,NAME) TYPE ## _ ## NAME 12 #define ISL_FN(TYPE,NAME) ISL_xFN(TYPE,NAME) 13 14 struct __isl_export ISL_HMAP; 15 typedef struct ISL_HMAP ISL_HMAP; 16 17 __isl_constructor 18 __isl_give ISL_HMAP *ISL_FN(ISL_HMAP,alloc)(isl_ctx *ctx, int min_size); 19 __isl_give ISL_HMAP *ISL_FN(ISL_HMAP,copy)(__isl_keep ISL_HMAP *hmap); 20 __isl_null ISL_HMAP *ISL_FN(ISL_HMAP,free)(__isl_take ISL_HMAP *hmap); 21 22 isl_ctx *ISL_FN(ISL_HMAP,get_ctx)(__isl_keep ISL_HMAP *hmap); 23 24 __isl_give ISL_MAYBE(ISL_VAL) ISL_FN(ISL_HMAP,try_get)( 25 __isl_keep ISL_HMAP *hmap, __isl_keep ISL_KEY *key); 26 isl_bool ISL_FN(ISL_HMAP,has)(__isl_keep ISL_HMAP *hmap, 27 __isl_keep ISL_KEY *key); 28 __isl_give ISL_VAL *ISL_FN(ISL_HMAP,get)(__isl_keep ISL_HMAP *hmap, 29 __isl_take ISL_KEY *key); 30 __isl_export 31 __isl_give ISL_HMAP *ISL_FN(ISL_HMAP,set)(__isl_take ISL_HMAP *hmap, 32 __isl_take ISL_KEY *key, __isl_take ISL_VAL *val); 33 __isl_give ISL_HMAP *ISL_FN(ISL_HMAP,drop)(__isl_take ISL_HMAP *hmap, 34 __isl_take ISL_KEY *key); 35 36 isl_stat ISL_FN(ISL_HMAP,foreach)(__isl_keep ISL_HMAP *hmap, 37 isl_stat (*fn)(__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, 38 void *user), 39 void *user); 40 isl_bool ISL_FN(ISL_HMAP,every)(__isl_keep ISL_HMAP *hmap, 41 isl_bool (*test)(__isl_keep ISL_KEY *key, __isl_keep ISL_VAL *val, 42 void *user), 43 void *user); 44 45 #ifdef ISL_HMAP_IS_EQUAL 46 __isl_export 47 isl_bool ISL_HMAP_IS_EQUAL(__isl_keep ISL_HMAP *hmap1, 48 __isl_keep ISL_HMAP *hmap2); 49 #endif 50 51 #ifdef ISL_HMAP_HAVE_READ_FROM_STR 52 __isl_constructor 53 __isl_give ISL_HMAP *ISL_FN(ISL_HMAP,read_from_str)(isl_ctx *ctx, 54 const char *str); 55 #endif 56 __isl_give char *ISL_FN(ISL_HMAP,to_str)(__isl_keep ISL_HMAP *hmap); 57 __isl_give isl_printer *ISL_FN(isl_printer_print,ISL_HMAP_SUFFIX)( 58 __isl_take isl_printer *p, __isl_keep ISL_HMAP *hmap); 59 void ISL_FN(ISL_HMAP,dump)(__isl_keep ISL_HMAP *hmap); 60 61 #undef ISL_xCAT 62 #undef ISL_CAT 63 #undef ISL_KEY 64 #undef ISL_VAL 65 #undef ISL_xFN 66 #undef ISL_FN 67 #undef ISL_xHMAP 68 #undef ISL_yHMAP 69 #undef ISL_HMAP 70 71 #if defined(__cplusplus) 72 } 73 #endif 74