1#ifndef ISL_PRINTER_PRIVATE_H
2#define ISL_PRINTER_PRIVATE_H
3
4#include <isl/printer.h>
5#include <isl_yaml.h>
6#include <isl/id_to_id.h>
7
8struct isl_printer_ops;
9
10/* A printer to a file or a string.
11 *
12 * "dump" is set if the printing is performed from an isl_*_dump function.
13 *
14 * yaml_style is the YAML style in which the next elements should
15 * be printed and may be either ISL_YAML_STYLE_BLOCK or ISL_YAML_STYLE_FLOW,
16 * with ISL_YAML_STYLE_FLOW being the default.
17 * yaml_state keeps track of the currently active YAML elements.
18 * yaml_size is the size of this arrays, while yaml_depth
19 * is the number of elements currently in use.
20 * yaml_state may be NULL if no YAML printing is being performed.
21 *
22 * notes keeps track of arbitrary notes as a mapping between
23 * name identifiers and note identifiers. It may be NULL
24 * if there are no notes yet.
25 */
26struct isl_printer {
27 struct isl_ctx *ctx;
28 struct isl_printer_ops *ops;
29 FILE *file;
30 int buf_n;
31 int buf_size;
32 char *buf;
33 int indent;
34 int output_format;
35 int dump;
36 char *indent_prefix;
37 char *prefix;
38 char *suffix;
39 int width;
40
41 int yaml_style;
42 int yaml_depth;
43 int yaml_size;
44 enum isl_yaml_state *yaml_state;
45
46 isl_id_to_id *notes;
47};
48
49__isl_give isl_printer *isl_printer_set_dump(__isl_take isl_printer *p,
50 int dump);
51
52#endif
53

source code of polly/lib/External/isl/isl_printer_private.h