File indexing completed on 2026-05-10 08:48:19
0001 #ifndef ISL_PRINTER_H
0002 #define ISL_PRINTER_H
0003
0004 #include <stdio.h>
0005 #include <isl/ctx.h>
0006 #include <isl/printer_type.h>
0007 #include <isl/id_type.h>
0008
0009 #if defined(__cplusplus)
0010 extern "C" {
0011 #endif
0012
0013 __isl_give isl_printer *isl_printer_to_file(isl_ctx *ctx, FILE *file);
0014 __isl_give isl_printer *isl_printer_to_str(isl_ctx *ctx);
0015 __isl_null isl_printer *isl_printer_free(__isl_take isl_printer *printer);
0016
0017 isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer);
0018 FILE *isl_printer_get_file(__isl_keep isl_printer *printer);
0019
0020 __isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);
0021
0022 __isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
0023 int indent);
0024 __isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
0025 int indent);
0026
0027 #define ISL_FORMAT_ISL 0
0028 #define ISL_FORMAT_POLYLIB 1
0029 #define ISL_FORMAT_POLYLIB_CONSTRAINTS 2
0030 #define ISL_FORMAT_OMEGA 3
0031 #define ISL_FORMAT_C 4
0032 #define ISL_FORMAT_LATEX 5
0033 #define ISL_FORMAT_EXT_POLYLIB 6
0034 __isl_give isl_printer *isl_printer_set_output_format(__isl_take isl_printer *p,
0035 int output_format);
0036 int isl_printer_get_output_format(__isl_keep isl_printer *p);
0037
0038 #define ISL_YAML_STYLE_BLOCK 0
0039 #define ISL_YAML_STYLE_FLOW 1
0040 __isl_give isl_printer *isl_printer_set_yaml_style(__isl_take isl_printer *p,
0041 int yaml_style);
0042 int isl_printer_get_yaml_style(__isl_keep isl_printer *p);
0043
0044 __isl_give isl_printer *isl_printer_set_indent_prefix(__isl_take isl_printer *p,
0045 const char *prefix);
0046 __isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
0047 const char *prefix);
0048 __isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p,
0049 const char *suffix);
0050 __isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p,
0051 int width);
0052
0053 isl_bool isl_printer_has_note(__isl_keep isl_printer *p,
0054 __isl_keep isl_id *id);
0055 __isl_give isl_id *isl_printer_get_note(__isl_keep isl_printer *p,
0056 __isl_take isl_id *id);
0057 __isl_give isl_printer *isl_printer_set_note(__isl_take isl_printer *p,
0058 __isl_take isl_id *id, __isl_take isl_id *note);
0059
0060 __isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p);
0061 __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p);
0062 __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p,
0063 double d);
0064 __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i);
0065 __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
0066 const char *s);
0067
0068 __isl_give isl_printer *isl_printer_yaml_start_mapping(
0069 __isl_take isl_printer *p);
0070 __isl_give isl_printer *isl_printer_yaml_end_mapping(
0071 __isl_take isl_printer *p);
0072 __isl_give isl_printer *isl_printer_yaml_start_sequence(
0073 __isl_take isl_printer *p);
0074 __isl_give isl_printer *isl_printer_yaml_end_sequence(
0075 __isl_take isl_printer *p);
0076 __isl_give isl_printer *isl_printer_yaml_next(__isl_take isl_printer *p);
0077
0078 __isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p);
0079
0080 #if defined(__cplusplus)
0081 }
0082 #endif
0083
0084 #endif