isl 0.27
[isl.git] / isl_output_private.h
blob2e4701dda626f506543fa762e3dc14086b43013e
1 #include <isl/space.h>
2 #include <isl/printer.h>
4 /* Internal data structure for isl_print_space.
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.
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.
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;
21 isl_space *space;
22 enum isl_dim_type type;
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);