be748dd6900ee1efa12621929d878bb7ebc11be6
[isl.git] / include / isl / printer.h
blobbe748dd6900ee1efa12621929d878bb7ebc11be6
1 #ifndef ISL_PRINTER_H
2 #define ISL_PRINTER_H
4 #include <stdio.h>
5 #include <isl/ctx.h>
6 #include <isl/int.h>
8 #if defined(__cplusplus)
9 extern "C" {
10 #endif
12 struct isl_printer;
13 typedef struct isl_printer isl_printer;
15 __isl_give isl_printer *isl_printer_to_file(isl_ctx *ctx, FILE *file);
16 __isl_give isl_printer *isl_printer_to_str(isl_ctx *ctx);
17 void *isl_printer_free(__isl_take isl_printer *printer);
19 isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer);
20 FILE *isl_printer_get_file(__isl_keep isl_printer *printer);
22 __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);
24 __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
25 int indent);
26 __isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
27 int indent);
29 #define ISL_FORMAT_ISL 0
30 #define ISL_FORMAT_POLYLIB 1
31 #define ISL_FORMAT_POLYLIB_CONSTRAINTS 2
32 #define ISL_FORMAT_OMEGA 3
33 #define ISL_FORMAT_C 4
34 #define ISL_FORMAT_LATEX 5
35 #define ISL_FORMAT_EXT_POLYLIB 6
36 __isl_give isl_printer *isl_printer_set_output_format(__isl_take isl_printer *p,
37 int output_format);
38 int isl_printer_get_output_format(__isl_keep isl_printer *p);
40 __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
41 const char *prefix);
42 __isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p,
43 const char *suffix);
44 __isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p,
45 int width);
47 __isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p);
48 __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p);
49 __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p,
50 double d);
51 __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i);
52 __isl_give isl_printer *isl_printer_print_isl_int(__isl_take isl_printer *p,
53 isl_int i);
54 __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
55 const char *s);
57 __isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p);
59 #if defined(__cplusplus)
61 #endif
63 #endif