1#define xCAT(A,B) A ## B 2#define CAT(A,B) xCAT(A,B) 3#undef TYPE 4#define TYPE CAT(isl_,BASE) 5#define xFN(TYPE,NAME) TYPE ## _ ## NAME 6#define FN(TYPE,NAME) xFN(TYPE,NAME) 7 8void FN(TYPE,dump)(__isl_keep TYPE *obj) 9{ 10 isl_printer *p; 11 12 if (!obj) 13 return; 14 p = isl_printer_to_file(FN(TYPE,get_ctx)(obj), stderr); 15 p = FN(isl_printer_print,BASE)(p, obj); 16 p = isl_printer_end_line(p); 17 isl_printer_free(p); 18} 19 20__isl_give char *FN(TYPE,to_str)(__isl_keep TYPE *obj) 21{ 22 isl_printer *p; 23 char *s; 24 25 if (!obj) 26 return NULL; 27 p = isl_printer_to_str(FN(TYPE,get_ctx)(obj)); 28 p = FN(isl_printer_print,BASE)(p, obj); 29 s = isl_printer_get_str(p); 30 isl_printer_free(p); 31 32 return s; 33} 34