Merge branch 'maint'
[isl.git] / print_templ.c
blobf147fdc5480fe85d3e772a6d8b87ab37cc2712ad
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)
8 void FN(TYPE,dump)(__isl_keep TYPE *obj)
10 isl_printer *p;
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);
20 __isl_give char *FN(TYPE,to_str)(__isl_keep TYPE *obj)
22 isl_printer *p;
23 char *s;
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);
32 return s;