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 
FN(TYPE,dump)8 void FN(TYPE,dump)(__isl_keep TYPE *obj)
9 {
10 	isl_printer *p;
11 
12 	if (!obj)
13 		return;
14 
15 	p = isl_printer_to_file(FN(TYPE,get_ctx)(obj), stderr);
16 	p = isl_printer_set_yaml_style(p, ISL_YAML_STYLE_BLOCK);
17 	p = FN(isl_printer_print,BASE)(p, obj);
18 	isl_printer_free(p);
19 }
20 
21 /* Return a string representation of "obj".
22  * Print the object in flow format.
23  */
FN(TYPE,to_str)24 __isl_give char *FN(TYPE,to_str)(__isl_keep TYPE *obj)
25 {
26 	isl_printer *p;
27 	char *s;
28 
29 	if (!obj)
30 		return NULL;
31 
32 	p = isl_printer_to_str(FN(TYPE,get_ctx)(obj));
33 	p = isl_printer_set_yaml_style(p, ISL_YAML_STYLE_FLOW);
34 	p = FN(isl_printer_print,BASE)(p, obj);
35 	s = isl_printer_get_str(p);
36 	isl_printer_free(p);
37 
38 	return s;
39 }
40