#ifndef ISL_PRINTER_H
#define ISL_PRINTER_H

#include <stdio.h>
#include <isl/ctx.h>

#if defined(__cplusplus)
extern "C" {
#endif

struct isl_printer;
typedef struct isl_printer isl_printer;

__isl_give isl_printer *isl_printer_to_file(isl_ctx *ctx, FILE *file);
__isl_give isl_printer *isl_printer_to_str(isl_ctx *ctx);
void *isl_printer_free(__isl_take isl_printer *printer);

isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer);
FILE *isl_printer_get_file(__isl_keep isl_printer *printer);

__isl_give char *isl_printer_get_str(__isl_keep isl_printer *printer);

__isl_give isl_printer *isl_printer_set_indent(__isl_take isl_printer *p,
	int indent);
__isl_give isl_printer *isl_printer_indent(__isl_take isl_printer *p,
	int indent);

#define ISL_FORMAT_ISL			0
#define ISL_FORMAT_POLYLIB		1
#define ISL_FORMAT_POLYLIB_CONSTRAINTS	2
#define ISL_FORMAT_OMEGA		3
#define ISL_FORMAT_C			4
#define ISL_FORMAT_LATEX		5
#define ISL_FORMAT_EXT_POLYLIB		6
__isl_give isl_printer *isl_printer_set_output_format(__isl_take isl_printer *p,
	int output_format);
int isl_printer_get_output_format(__isl_keep isl_printer *p);

__isl_give isl_printer *isl_printer_set_prefix(__isl_take isl_printer *p,
	const char *prefix);
__isl_give isl_printer *isl_printer_set_suffix(__isl_take isl_printer *p,
	const char *suffix);
__isl_give isl_printer *isl_printer_set_isl_int_width(__isl_take isl_printer *p,
	int width);

__isl_give isl_printer *isl_printer_start_line(__isl_take isl_printer *p);
__isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p);
__isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p,
	double d);
__isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i);
__isl_give isl_printer *isl_printer_print_isl_int(__isl_take isl_printer *p,
	isl_int i);
__isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
	const char *s);

__isl_give isl_printer *isl_printer_flush(__isl_take isl_printer *p);

#if defined(__cplusplus)
}
#endif

#endif
