


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





struct __isl_subclass(isl_map) isl_basic_map;
typedef struct isl_basic_map isl_basic_map;
struct isl_basic_map;							struct isl_basic_map_list;						typedef struct isl_basic_map_list isl_basic_map_list;
struct __isl_subclass(isl_union_map) isl_map;
typedef struct isl_map isl_map;
struct isl_map;							struct __isl_export isl_map_list;						typedef struct isl_map_list isl_map_list;


struct __isl_subclass(isl_set) isl_basic_set;
typedef struct isl_basic_set isl_basic_set;
struct isl_basic_set;							struct isl_basic_set_list;						typedef struct isl_basic_set_list isl_basic_set_list;



struct __isl_subclass(isl_union_set) isl_set;
typedef struct isl_set isl_set;
struct isl_set;							struct __isl_export isl_set_list;						typedef struct isl_set_list isl_set_list;


isl_ctx *isl_basic_set_list_get_ctx(__isl_keep isl_basic_set_list *list);	__isl_give isl_basic_set_list *isl_basic_set_to_list(__isl_take isl_basic_set *el);								__isl_give isl_basic_set_list *isl_basic_set_list_from_basic_set(	__isl_take isl_basic_set *el);	__isl_give isl_basic_set_list *isl_basic_set_list_alloc(isl_ctx *ctx, int n);	__isl_give isl_basic_set_list *isl_basic_set_list_copy(	__isl_keep isl_basic_set_list *list);				__isl_null isl_basic_set_list *isl_basic_set_list_free(	__isl_take isl_basic_set_list *list);	__isl_give isl_basic_set_list *isl_basic_set_list_add(	__isl_take isl_basic_set_list *list,	__isl_take isl_basic_set *el);	__isl_give isl_basic_set_list *isl_basic_set_list_insert(	__isl_take isl_basic_set_list *list, unsigned pos,	__isl_take isl_basic_set *el);	__isl_give isl_basic_set_list *isl_basic_set_list_drop(	__isl_take isl_basic_set_list *list, unsigned first, unsigned n);	__isl_give isl_basic_set_list *isl_basic_set_list_clear(	__isl_take isl_basic_set_list *list);				__isl_give isl_basic_set_list *isl_basic_set_list_swap(	__isl_take isl_basic_set_list *list, unsigned pos1,	unsigned pos2);							__isl_give isl_basic_set_list *isl_basic_set_list_reverse(	__isl_take isl_basic_set_list *list);	__isl_give isl_basic_set_list *isl_basic_set_list_concat(	__isl_take isl_basic_set_list *list1,	__isl_take isl_basic_set_list *list2);	isl_size isl_basic_set_list_size(__isl_keep isl_basic_set_list *list);	isl_size isl_basic_set_list_n_basic_set(__isl_keep isl_basic_set_list *list);	__isl_give isl_basic_set *isl_basic_set_list_get_at(	__isl_keep isl_basic_set_list *list, int index);			__isl_give struct isl_basic_set *isl_basic_set_list_get_basic_set(	__isl_keep isl_basic_set_list *list, int index);			__isl_give struct isl_basic_set_list *isl_basic_set_list_set_basic_set(	__isl_take struct isl_basic_set_list *list, int index,	__isl_take struct isl_basic_set *el);	isl_stat isl_basic_set_list_foreach(__isl_keep isl_basic_set_list *list,	isl_stat (*fn)(__isl_take isl_basic_set *el, void *user),	void *user);							isl_bool isl_basic_set_list_every(__isl_keep isl_basic_set_list *list,	isl_bool (*test)(__isl_keep isl_basic_set *el, void *user),	void *user);							__isl_give isl_basic_set_list *isl_basic_set_list_map(	__isl_take isl_basic_set_list *list,	__isl_give isl_basic_set * (*fn)(__isl_take isl_basic_set *el,	void *user),	void *user);							__isl_give isl_basic_set_list *isl_basic_set_list_sort(	__isl_take isl_basic_set_list *list,	int (*cmp)(__isl_keep struct isl_basic_set *a,	__isl_keep struct isl_basic_set *b,	void *user), void *user);	isl_stat isl_basic_set_list_foreach_scc(__isl_keep isl_basic_set_list *list,	isl_bool (*follows)(__isl_keep isl_basic_set *a,	__isl_keep isl_basic_set *b, void *user),	void *follows_user,	isl_stat (*fn)(__isl_take isl_basic_set_list *scc, void *user),	void *fn_user);							__isl_give char *isl_basic_set_list_to_str(	__isl_keep isl_basic_set_list *list);				__isl_give isl_printer *isl_printer_print_basic_set_list(	__isl_take isl_printer *p, __isl_keep isl_basic_set_list *list);	void isl_basic_set_list_dump(__isl_keep isl_basic_set_list *list);
isl_ctx *isl_set_list_get_ctx(__isl_keep isl_set_list *list);	__isl_export									__isl_give isl_set_list *isl_set_to_list(__isl_take isl_set *el);__isl_constructor								__isl_give isl_set_list *isl_set_list_from_set(	__isl_take isl_set *el);					__isl_constructor								__isl_give isl_set_list *isl_set_list_alloc(isl_ctx *ctx, int n);	__isl_give isl_set_list *isl_set_list_copy(	__isl_keep isl_set_list *list);				__isl_null isl_set_list *isl_set_list_free(	__isl_take isl_set_list *list);				__isl_export									__isl_give isl_set_list *isl_set_list_add(	__isl_take isl_set_list *list,	__isl_take isl_set *el);					__isl_export									__isl_give isl_set_list *isl_set_list_insert(	__isl_take isl_set_list *list, unsigned pos,	__isl_take isl_set *el);					__isl_export									__isl_give isl_set_list *isl_set_list_drop(	__isl_take isl_set_list *list, unsigned first, unsigned n);	__isl_export									__isl_give isl_set_list *isl_set_list_clear(	__isl_take isl_set_list *list);				__isl_give isl_set_list *isl_set_list_swap(	__isl_take isl_set_list *list, unsigned pos1,	unsigned pos2);							__isl_give isl_set_list *isl_set_list_reverse(	__isl_take isl_set_list *list);				__isl_export									__isl_give isl_set_list *isl_set_list_concat(	__isl_take isl_set_list *list1,	__isl_take isl_set_list *list2);				__isl_export									isl_size isl_set_list_size(__isl_keep isl_set_list *list);	isl_size isl_set_list_n_set(__isl_keep isl_set_list *list);	__isl_export									__isl_give isl_set *isl_set_list_get_at(	__isl_keep isl_set_list *list, int index);			__isl_give struct isl_set *isl_set_list_get_set(	__isl_keep isl_set_list *list, int index);			__isl_give struct isl_set_list *isl_set_list_set_set(	__isl_take struct isl_set_list *list, int index,	__isl_take struct isl_set *el);				__isl_export									isl_stat isl_set_list_foreach(__isl_keep isl_set_list *list,	isl_stat (*fn)(__isl_take isl_set *el, void *user),	void *user);							isl_bool isl_set_list_every(__isl_keep isl_set_list *list,	isl_bool (*test)(__isl_keep isl_set *el, void *user),	void *user);							__isl_give isl_set_list *isl_set_list_map(	__isl_take isl_set_list *list,	__isl_give isl_set * (*fn)(__isl_take isl_set *el,	void *user),	void *user);							__isl_give isl_set_list *isl_set_list_sort(	__isl_take isl_set_list *list,	int (*cmp)(__isl_keep struct isl_set *a,	__isl_keep struct isl_set *b,	void *user), void *user);				__isl_export									isl_stat isl_set_list_foreach_scc(__isl_keep isl_set_list *list,	isl_bool (*follows)(__isl_keep isl_set *a,	__isl_keep isl_set *b, void *user),	void *follows_user,	isl_stat (*fn)(__isl_take isl_set_list *scc, void *user),	void *fn_user);							__isl_give char *isl_set_list_to_str(	__isl_keep isl_set_list *list);				__isl_give isl_printer *isl_printer_print_set_list(	__isl_take isl_printer *p, __isl_keep isl_set_list *list);	void isl_set_list_dump(__isl_keep isl_set_list *list);
__isl_constructor								__isl_give isl_set_list *isl_set_list_read_from_str(	isl_ctx *ctx, const char *str);
