1 #include <isl/space.h>
2 #include <isl/printer.h>
3 
4 /* Internal data structure for isl_print_space.
5  *
6  * latex is set if that is the output format.
7  * print_dim (if not NULL) is called on each dimension.
8  * user is set by the caller of print_space and may be used inside print_dim.
9  *
10  * space is the global space that is being printed.  This field is set by
11  *	print_space.
12  * type is the tuple of the global space that is currently being printed.
13  *	This field is set by print_space.
14  */
15 struct isl_print_space_data {
16 	int latex;
17 	__isl_give isl_printer *(*print_dim)(__isl_take isl_printer *p,
18 		struct isl_print_space_data *data, unsigned pos);
19 	void *user;
20 
21 	isl_space *space;
22 	enum isl_dim_type type;
23 };
24 
25 __isl_give isl_printer *isl_print_space(__isl_keep isl_space *space,
26 	__isl_take isl_printer *p, int rational,
27 	struct isl_print_space_data *data);
28