1 | #ifndef ISL_PRINTER_H
|
---|
2 | #define ISL_PRINTER_H
|
---|
3 |
|
---|
4 | #include <stdio.h>
|
---|
5 | #include <isl/ctx.h>
|
---|
6 | #include <isl/printer_type.h>
|
---|
7 | #include <isl/id_type.h>
|
---|
8 |
|
---|
9 | #if defined(__cplusplus)
|
---|
10 | extern "C" {
|
---|
11 | #endif
|
---|
12 |
|
---|
13 | __isl_give isl_printer *isl_printer_to_file(isl_ctx *ctx, FILE *file);
|
---|
14 | __isl_give isl_printer *isl_printer_to_str(isl_ctx *ctx);
|
---|
15 | __isl_null isl_printer *isl_printer_free(__isl_take isl_printer *printer);
|
---|
16 |
|
---|
17 | isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer);
|
---|
18 | FILE *isl_printer_get_file(__isl_keep isl_printer *printer);
|
---|
19 |
|
---|
20 | __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);
|
---|
21 |
|
---|
22 | __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
|
---|
23 | int indent);
|
---|
24 | __isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
|
---|
25 | int indent);
|
---|
26 |
|
---|
27 | #define ISL_FORMAT_ISL 0
|
---|
28 | #define ISL_FORMAT_POLYLIB 1
|
---|
29 | #define ISL_FORMAT_POLYLIB_CONSTRAINTS 2
|
---|
30 | #define ISL_FORMAT_OMEGA 3
|
---|
31 | #define ISL_FORMAT_C 4
|
---|
32 | #define ISL_FORMAT_LATEX 5
|
---|
33 | #define ISL_FORMAT_EXT_POLYLIB 6
|
---|
34 | __isl_give isl_printer *isl_printer_set_output_format(__isl_take isl_printer *p,
|
---|
35 | int output_format);
|
---|
36 | int isl_printer_get_output_format(__isl_keep isl_printer *p);
|
---|
37 |
|
---|
38 | #define ISL_YAML_STYLE_BLOCK 0
|
---|
39 | #define ISL_YAML_STYLE_FLOW 1
|
---|
40 | __isl_give isl_printer *isl_printer_set_yaml_style(__isl_take isl_printer *p,
|
---|
41 | int yaml_style);
|
---|
42 | int isl_printer_get_yaml_style(__isl_keep isl_printer *p);
|
---|
43 |
|
---|
44 | __isl_give isl_printer *isl_printer_set_indent_prefix(__isl_take isl_printer *p,
|
---|
45 | const char *prefix);
|
---|
46 | __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
|
---|
47 | const char *prefix);
|
---|
48 | __isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p,
|
---|
49 | const char *suffix);
|
---|
50 | __isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p,
|
---|
51 | int width);
|
---|
52 |
|
---|
53 | isl_bool isl_printer_has_note(__isl_keep isl_printer *p,
|
---|
54 | __isl_keep isl_id *id);
|
---|
55 | __isl_give isl_id *isl_printer_get_note(__isl_keep isl_printer *p,
|
---|
56 | __isl_take isl_id *id);
|
---|
57 | __isl_give isl_printer *isl_printer_set_note(__isl_take isl_printer *p,
|
---|
58 | __isl_take isl_id *id, __isl_take isl_id *note);
|
---|
59 |
|
---|
60 | __isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p);
|
---|
61 | __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p);
|
---|
62 | __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p,
|
---|
63 | double d);
|
---|
64 | __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i);
|
---|
65 | __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
|
---|
66 | const char *s);
|
---|
67 |
|
---|
68 | __isl_give isl_printer *isl_printer_yaml_start_mapping(
|
---|
69 | __isl_take isl_printer *p);
|
---|
70 | __isl_give isl_printer *isl_printer_yaml_end_mapping(
|
---|
71 | __isl_take isl_printer *p);
|
---|
72 | __isl_give isl_printer *isl_printer_yaml_start_sequence(
|
---|
73 | __isl_take isl_printer *p);
|
---|
74 | __isl_give isl_printer *isl_printer_yaml_end_sequence(
|
---|
75 | __isl_take isl_printer *p);
|
---|
76 | __isl_give isl_printer *isl_printer_yaml_next(__isl_take isl_printer *p);
|
---|
77 |
|
---|
78 | __isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p);
|
---|
79 |
|
---|
80 | #if defined(__cplusplus)
|
---|
81 | }
|
---|
82 | #endif
|
---|
83 |
|
---|
84 | #endif
|
---|