[polly] r338505 - [isl++] drop the isl namespace qualifiers [NFC]

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 1 02:57:37 PDT 2018


Author: grosser
Date: Wed Aug  1 02:57:36 2018
New Revision: 338505

URL: http://llvm.org/viewvc/llvm-project?rev=338505&view=rev
Log:
[isl++] drop the isl namespace qualifiers [NFC]

These namespace qualifiers are not needed. Dropping them brings us
closer to the official isl namespace qualifiers.

While the delta of this change set is large, it only mechanically drops
the 'isl::' prefixes.

Modified:
    polly/trunk/lib/External/isl/include/isl/isl-noexceptions.h

Modified: polly/trunk/lib/External/isl/include/isl/isl-noexceptions.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/isl-noexceptions.h?rev=338505&r1=338504&r2=338505&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/isl-noexceptions.h (original)
+++ polly/trunk/lib/External/isl/include/isl/isl-noexceptions.h Wed Aug  1 02:57:36 2018
@@ -54,7 +54,7 @@ private:
   mutable bool checked = false;
   isl_bool val;
 
-  friend isl::boolean manage(isl_bool val);
+  friend boolean manage(isl_bool val);
   boolean(isl_bool val): val(val) {}
 public:
   boolean()
@@ -83,8 +83,8 @@ public:
   }
 };
 
-inline isl::boolean manage(isl_bool val) {
-  return isl::boolean(val);
+inline boolean manage(isl_bool val) {
+  return boolean(val);
 }
 
 class ctx {
@@ -219,12 +219,12 @@ class val_list;
 class vec;
 
 // declarations for isl::aff
-inline isl::aff manage(__isl_take isl_aff *ptr);
-inline isl::aff manage_copy(__isl_keep isl_aff *ptr);
+inline aff manage(__isl_take isl_aff *ptr);
+inline aff manage_copy(__isl_keep isl_aff *ptr);
 
 class aff {
-  friend inline isl::aff manage(__isl_take isl_aff *ptr);
-  friend inline isl::aff manage_copy(__isl_keep isl_aff *ptr);
+  friend inline aff manage(__isl_take isl_aff *ptr);
+  friend inline aff manage_copy(__isl_keep isl_aff *ptr);
 
   isl_aff *ptr = nullptr;
 
@@ -232,12 +232,12 @@ class aff {
 
 public:
   inline /* implicit */ aff();
-  inline /* implicit */ aff(const isl::aff &obj);
+  inline /* implicit */ aff(const aff &obj);
   inline /* implicit */ aff(std::nullptr_t);
-  inline explicit aff(isl::local_space ls);
-  inline explicit aff(isl::local_space ls, isl::val val);
-  inline explicit aff(isl::ctx ctx, const std::string &str);
-  inline isl::aff &operator=(isl::aff obj);
+  inline explicit aff(local_space ls);
+  inline explicit aff(local_space ls, val val);
+  inline explicit aff(ctx ctx, const std::string &str);
+  inline aff &operator=(aff obj);
   inline ~aff();
   inline __isl_give isl_aff *copy() const &;
   inline __isl_give isl_aff *copy() && = delete;
@@ -245,87 +245,87 @@ public:
   inline __isl_give isl_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::aff add(isl::aff aff2) const;
-  inline isl::aff add_coefficient_si(isl::dim type, int pos, int v) const;
-  inline isl::aff add_coefficient_val(isl::dim type, int pos, isl::val v) const;
-  inline isl::aff add_constant_num_si(int v) const;
-  inline isl::aff add_constant_si(int v) const;
-  inline isl::aff add_constant_val(isl::val v) const;
-  inline isl::aff add_dims(isl::dim type, unsigned int n) const;
-  inline isl::aff align_params(isl::space model) const;
-  inline isl::aff ceil() const;
+  inline aff add(aff aff2) const;
+  inline aff add_coefficient_si(isl::dim type, int pos, int v) const;
+  inline aff add_coefficient_val(isl::dim type, int pos, val v) const;
+  inline aff add_constant_num_si(int v) const;
+  inline aff add_constant_si(int v) const;
+  inline aff add_constant_val(val v) const;
+  inline aff add_dims(isl::dim type, unsigned int n) const;
+  inline aff align_params(space model) const;
+  inline aff ceil() const;
   inline int coefficient_sgn(isl::dim type, int pos) const;
   inline int dim(isl::dim type) const;
-  inline isl::aff div(isl::aff aff2) const;
-  inline isl::aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set eq_basic_set(isl::aff aff2) const;
-  inline isl::set eq_set(isl::aff aff2) const;
-  inline isl::val eval(isl::point pnt) const;
+  inline aff div(aff aff2) const;
+  inline aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set eq_basic_set(aff aff2) const;
+  inline set eq_set(aff aff2) const;
+  inline val eval(point pnt) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::aff floor() const;
-  inline isl::aff from_range() const;
-  inline isl::basic_set ge_basic_set(isl::aff aff2) const;
-  inline isl::set ge_set(isl::aff aff2) const;
-  inline isl::val get_coefficient_val(isl::dim type, int pos) const;
-  inline isl::val get_constant_val() const;
-  inline isl::val get_denominator_val() const;
+  inline aff floor() const;
+  inline aff from_range() const;
+  inline basic_set ge_basic_set(aff aff2) const;
+  inline set ge_set(aff aff2) const;
+  inline val get_coefficient_val(isl::dim type, int pos) const;
+  inline val get_constant_val() const;
+  inline val get_denominator_val() const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::aff get_div(int pos) const;
-  inline isl::local_space get_domain_local_space() const;
-  inline isl::space get_domain_space() const;
+  inline aff get_div(int pos) const;
+  inline local_space get_domain_local_space() const;
+  inline space get_domain_space() const;
   inline uint32_t get_hash() const;
-  inline isl::local_space get_local_space() const;
-  inline isl::space get_space() const;
-  inline isl::aff gist(isl::set context) const;
-  inline isl::aff gist_params(isl::set context) const;
-  inline isl::basic_set gt_basic_set(isl::aff aff2) const;
-  inline isl::set gt_set(isl::aff aff2) const;
-  inline isl::aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_cst() const;
-  inline isl::boolean is_nan() const;
-  inline isl::basic_set le_basic_set(isl::aff aff2) const;
-  inline isl::set le_set(isl::aff aff2) const;
-  inline isl::basic_set lt_basic_set(isl::aff aff2) const;
-  inline isl::set lt_set(isl::aff aff2) const;
-  inline isl::aff mod(isl::val mod) const;
-  inline isl::aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::aff mul(isl::aff aff2) const;
-  static inline isl::aff nan_on_domain(isl::local_space ls);
-  inline isl::set ne_set(isl::aff aff2) const;
-  inline isl::aff neg() const;
-  inline isl::basic_set neg_basic_set() const;
-  static inline isl::aff param_on_domain_space_id(isl::space space, isl::id id);
-  inline isl::boolean plain_is_equal(const isl::aff &aff2) const;
-  inline isl::boolean plain_is_zero() const;
-  inline isl::aff project_domain_on_params() const;
-  inline isl::aff pullback(isl::multi_aff ma) const;
-  inline isl::aff pullback_aff(isl::aff aff2) const;
-  inline isl::aff scale(isl::val v) const;
-  inline isl::aff scale_down(isl::val v) const;
-  inline isl::aff scale_down_ui(unsigned int f) const;
-  inline isl::aff set_coefficient_si(isl::dim type, int pos, int v) const;
-  inline isl::aff set_coefficient_val(isl::dim type, int pos, isl::val v) const;
-  inline isl::aff set_constant_si(int v) const;
-  inline isl::aff set_constant_val(isl::val v) const;
-  inline isl::aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::aff sub(isl::aff aff2) const;
-  static inline isl::aff var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos);
-  inline isl::basic_set zero_basic_set() const;
+  inline local_space get_local_space() const;
+  inline space get_space() const;
+  inline aff gist(set context) const;
+  inline aff gist_params(set context) const;
+  inline basic_set gt_basic_set(aff aff2) const;
+  inline set gt_set(aff aff2) const;
+  inline aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_cst() const;
+  inline boolean is_nan() const;
+  inline basic_set le_basic_set(aff aff2) const;
+  inline set le_set(aff aff2) const;
+  inline basic_set lt_basic_set(aff aff2) const;
+  inline set lt_set(aff aff2) const;
+  inline aff mod(val mod) const;
+  inline aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline aff mul(aff aff2) const;
+  static inline aff nan_on_domain(local_space ls);
+  inline set ne_set(aff aff2) const;
+  inline aff neg() const;
+  inline basic_set neg_basic_set() const;
+  static inline aff param_on_domain_space_id(space space, id id);
+  inline boolean plain_is_equal(const aff &aff2) const;
+  inline boolean plain_is_zero() const;
+  inline aff project_domain_on_params() const;
+  inline aff pullback(multi_aff ma) const;
+  inline aff pullback_aff(aff aff2) const;
+  inline aff scale(val v) const;
+  inline aff scale_down(val v) const;
+  inline aff scale_down_ui(unsigned int f) const;
+  inline aff set_coefficient_si(isl::dim type, int pos, int v) const;
+  inline aff set_coefficient_val(isl::dim type, int pos, val v) const;
+  inline aff set_constant_si(int v) const;
+  inline aff set_constant_val(val v) const;
+  inline aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline aff set_tuple_id(isl::dim type, id id) const;
+  inline aff sub(aff aff2) const;
+  static inline aff var_on_domain(local_space ls, isl::dim type, unsigned int pos);
+  inline basic_set zero_basic_set() const;
 };
 
 // declarations for isl::aff_list
-inline isl::aff_list manage(__isl_take isl_aff_list *ptr);
-inline isl::aff_list manage_copy(__isl_keep isl_aff_list *ptr);
+inline aff_list manage(__isl_take isl_aff_list *ptr);
+inline aff_list manage_copy(__isl_keep isl_aff_list *ptr);
 
 class aff_list {
-  friend inline isl::aff_list manage(__isl_take isl_aff_list *ptr);
-  friend inline isl::aff_list manage_copy(__isl_keep isl_aff_list *ptr);
+  friend inline aff_list manage(__isl_take isl_aff_list *ptr);
+  friend inline aff_list manage_copy(__isl_keep isl_aff_list *ptr);
 
   isl_aff_list *ptr = nullptr;
 
@@ -333,9 +333,9 @@ class aff_list {
 
 public:
   inline /* implicit */ aff_list();
-  inline /* implicit */ aff_list(const isl::aff_list &obj);
+  inline /* implicit */ aff_list(const aff_list &obj);
   inline /* implicit */ aff_list(std::nullptr_t);
-  inline isl::aff_list &operator=(isl::aff_list obj);
+  inline aff_list &operator=(aff_list obj);
   inline ~aff_list();
   inline __isl_give isl_aff_list *copy() const &;
   inline __isl_give isl_aff_list *copy() && = delete;
@@ -343,32 +343,32 @@ public:
   inline __isl_give isl_aff_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::aff_list add(isl::aff el) const;
-  static inline isl::aff_list alloc(isl::ctx ctx, int n);
-  inline isl::aff_list concat(isl::aff_list list2) const;
-  inline isl::aff_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::aff)> &fn) const;
-  static inline isl::aff_list from_aff(isl::aff el);
-  inline isl::aff get_aff(int index) const;
-  inline isl::aff get_at(int index) const;
-  inline isl::aff_list insert(unsigned int pos, isl::aff el) const;
+  inline aff_list add(aff el) const;
+  static inline aff_list alloc(ctx ctx, int n);
+  inline aff_list concat(aff_list list2) const;
+  inline aff_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(aff)> &fn) const;
+  static inline aff_list from_aff(aff el);
+  inline aff get_aff(int index) const;
+  inline aff get_at(int index) const;
+  inline aff_list insert(unsigned int pos, aff el) const;
   inline int n_aff() const;
-  inline isl::aff_list reverse() const;
-  inline isl::aff_list set_aff(int index, isl::aff el) const;
+  inline aff_list reverse() const;
+  inline aff_list set_aff(int index, aff el) const;
   inline int size() const;
-  inline isl::aff_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline aff_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::ast_build
-inline isl::ast_build manage(__isl_take isl_ast_build *ptr);
-inline isl::ast_build manage_copy(__isl_keep isl_ast_build *ptr);
+inline ast_build manage(__isl_take isl_ast_build *ptr);
+inline ast_build manage_copy(__isl_keep isl_ast_build *ptr);
 
 class ast_build {
-  friend inline isl::ast_build manage(__isl_take isl_ast_build *ptr);
-  friend inline isl::ast_build manage_copy(__isl_keep isl_ast_build *ptr);
+  friend inline ast_build manage(__isl_take isl_ast_build *ptr);
+  friend inline ast_build manage_copy(__isl_keep isl_ast_build *ptr);
 
   isl_ast_build *ptr = nullptr;
 
@@ -376,10 +376,10 @@ class ast_build {
 
 public:
   inline /* implicit */ ast_build();
-  inline /* implicit */ ast_build(const isl::ast_build &obj);
+  inline /* implicit */ ast_build(const ast_build &obj);
   inline /* implicit */ ast_build(std::nullptr_t);
-  inline explicit ast_build(isl::ctx ctx);
-  inline isl::ast_build &operator=(isl::ast_build obj);
+  inline explicit ast_build(ctx ctx);
+  inline ast_build &operator=(ast_build obj);
   inline ~ast_build();
   inline __isl_give isl_ast_build *copy() const &;
   inline __isl_give isl_ast_build *copy() && = delete;
@@ -387,30 +387,30 @@ public:
   inline __isl_give isl_ast_build *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
 
-  inline isl::ast_expr access_from(isl::pw_multi_aff pma) const;
-  inline isl::ast_expr access_from(isl::multi_pw_aff mpa) const;
-  inline isl::ast_node ast_from_schedule(isl::union_map schedule) const;
-  inline isl::ast_expr call_from(isl::pw_multi_aff pma) const;
-  inline isl::ast_expr call_from(isl::multi_pw_aff mpa) const;
-  inline isl::ast_expr expr_from(isl::set set) const;
-  inline isl::ast_expr expr_from(isl::pw_aff pa) const;
-  static inline isl::ast_build from_context(isl::set set);
-  inline isl::union_map get_schedule() const;
-  inline isl::space get_schedule_space() const;
-  inline isl::ast_node node_from_schedule(isl::schedule schedule) const;
-  inline isl::ast_node node_from_schedule_map(isl::union_map schedule) const;
-  inline isl::ast_build restrict(isl::set set) const;
+  inline ast_expr access_from(pw_multi_aff pma) const;
+  inline ast_expr access_from(multi_pw_aff mpa) const;
+  inline ast_node ast_from_schedule(union_map schedule) const;
+  inline ast_expr call_from(pw_multi_aff pma) const;
+  inline ast_expr call_from(multi_pw_aff mpa) const;
+  inline ast_expr expr_from(set set) const;
+  inline ast_expr expr_from(pw_aff pa) const;
+  static inline ast_build from_context(set set);
+  inline union_map get_schedule() const;
+  inline space get_schedule_space() const;
+  inline ast_node node_from_schedule(schedule schedule) const;
+  inline ast_node node_from_schedule_map(union_map schedule) const;
+  inline ast_build restrict(set set) const;
 };
 
 // declarations for isl::ast_expr
-inline isl::ast_expr manage(__isl_take isl_ast_expr *ptr);
-inline isl::ast_expr manage_copy(__isl_keep isl_ast_expr *ptr);
+inline ast_expr manage(__isl_take isl_ast_expr *ptr);
+inline ast_expr manage_copy(__isl_keep isl_ast_expr *ptr);
 
 class ast_expr {
-  friend inline isl::ast_expr manage(__isl_take isl_ast_expr *ptr);
-  friend inline isl::ast_expr manage_copy(__isl_keep isl_ast_expr *ptr);
+  friend inline ast_expr manage(__isl_take isl_ast_expr *ptr);
+  friend inline ast_expr manage_copy(__isl_keep isl_ast_expr *ptr);
 
   isl_ast_expr *ptr = nullptr;
 
@@ -418,9 +418,9 @@ class ast_expr {
 
 public:
   inline /* implicit */ ast_expr();
-  inline /* implicit */ ast_expr(const isl::ast_expr &obj);
+  inline /* implicit */ ast_expr(const ast_expr &obj);
   inline /* implicit */ ast_expr(std::nullptr_t);
-  inline isl::ast_expr &operator=(isl::ast_expr obj);
+  inline ast_expr &operator=(ast_expr obj);
   inline ~ast_expr();
   inline __isl_give isl_ast_expr *copy() const &;
   inline __isl_give isl_ast_expr *copy() && = delete;
@@ -428,44 +428,44 @@ public:
   inline __isl_give isl_ast_expr *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::ast_expr access(isl::ast_expr_list indices) const;
-  inline isl::ast_expr add(isl::ast_expr expr2) const;
-  inline isl::ast_expr address_of() const;
-  inline isl::ast_expr call(isl::ast_expr_list arguments) const;
-  inline isl::ast_expr div(isl::ast_expr expr2) const;
-  inline isl::ast_expr eq(isl::ast_expr expr2) const;
-  static inline isl::ast_expr from_id(isl::id id);
-  static inline isl::ast_expr from_val(isl::val v);
-  inline isl::ast_expr ge(isl::ast_expr expr2) const;
-  inline isl::id get_id() const;
-  inline isl::ast_expr get_op_arg(int pos) const;
+  inline ast_expr access(ast_expr_list indices) const;
+  inline ast_expr add(ast_expr expr2) const;
+  inline ast_expr address_of() const;
+  inline ast_expr call(ast_expr_list arguments) const;
+  inline ast_expr div(ast_expr expr2) const;
+  inline ast_expr eq(ast_expr expr2) const;
+  static inline ast_expr from_id(id id);
+  static inline ast_expr from_val(val v);
+  inline ast_expr ge(ast_expr expr2) const;
+  inline id get_id() const;
+  inline ast_expr get_op_arg(int pos) const;
   inline int get_op_n_arg() const;
-  inline isl::val get_val() const;
-  inline isl::ast_expr gt(isl::ast_expr expr2) const;
-  inline isl::boolean is_equal(const isl::ast_expr &expr2) const;
-  inline isl::ast_expr le(isl::ast_expr expr2) const;
-  inline isl::ast_expr lt(isl::ast_expr expr2) const;
-  inline isl::ast_expr mul(isl::ast_expr expr2) const;
-  inline isl::ast_expr neg() const;
-  inline isl::ast_expr pdiv_q(isl::ast_expr expr2) const;
-  inline isl::ast_expr pdiv_r(isl::ast_expr expr2) const;
-  inline isl::ast_expr set_op_arg(int pos, isl::ast_expr arg) const;
-  inline isl::ast_expr sub(isl::ast_expr expr2) const;
-  inline isl::ast_expr substitute_ids(isl::id_to_ast_expr id2expr) const;
+  inline val get_val() const;
+  inline ast_expr gt(ast_expr expr2) const;
+  inline boolean is_equal(const ast_expr &expr2) const;
+  inline ast_expr le(ast_expr expr2) const;
+  inline ast_expr lt(ast_expr expr2) const;
+  inline ast_expr mul(ast_expr expr2) const;
+  inline ast_expr neg() const;
+  inline ast_expr pdiv_q(ast_expr expr2) const;
+  inline ast_expr pdiv_r(ast_expr expr2) const;
+  inline ast_expr set_op_arg(int pos, ast_expr arg) const;
+  inline ast_expr sub(ast_expr expr2) const;
+  inline ast_expr substitute_ids(id_to_ast_expr id2expr) const;
   inline std::string to_C_str() const;
 };
 
 // declarations for isl::ast_expr_list
-inline isl::ast_expr_list manage(__isl_take isl_ast_expr_list *ptr);
-inline isl::ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr);
+inline ast_expr_list manage(__isl_take isl_ast_expr_list *ptr);
+inline ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr);
 
 class ast_expr_list {
-  friend inline isl::ast_expr_list manage(__isl_take isl_ast_expr_list *ptr);
-  friend inline isl::ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr);
+  friend inline ast_expr_list manage(__isl_take isl_ast_expr_list *ptr);
+  friend inline ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr);
 
   isl_ast_expr_list *ptr = nullptr;
 
@@ -473,9 +473,9 @@ class ast_expr_list {
 
 public:
   inline /* implicit */ ast_expr_list();
-  inline /* implicit */ ast_expr_list(const isl::ast_expr_list &obj);
+  inline /* implicit */ ast_expr_list(const ast_expr_list &obj);
   inline /* implicit */ ast_expr_list(std::nullptr_t);
-  inline isl::ast_expr_list &operator=(isl::ast_expr_list obj);
+  inline ast_expr_list &operator=(ast_expr_list obj);
   inline ~ast_expr_list();
   inline __isl_give isl_ast_expr_list *copy() const &;
   inline __isl_give isl_ast_expr_list *copy() && = delete;
@@ -483,32 +483,32 @@ public:
   inline __isl_give isl_ast_expr_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::ast_expr_list add(isl::ast_expr el) const;
-  static inline isl::ast_expr_list alloc(isl::ctx ctx, int n);
-  inline isl::ast_expr_list concat(isl::ast_expr_list list2) const;
-  inline isl::ast_expr_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::ast_expr)> &fn) const;
-  static inline isl::ast_expr_list from_ast_expr(isl::ast_expr el);
-  inline isl::ast_expr get_ast_expr(int index) const;
-  inline isl::ast_expr get_at(int index) const;
-  inline isl::ast_expr_list insert(unsigned int pos, isl::ast_expr el) const;
+  inline ast_expr_list add(ast_expr el) const;
+  static inline ast_expr_list alloc(ctx ctx, int n);
+  inline ast_expr_list concat(ast_expr_list list2) const;
+  inline ast_expr_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(ast_expr)> &fn) const;
+  static inline ast_expr_list from_ast_expr(ast_expr el);
+  inline ast_expr get_ast_expr(int index) const;
+  inline ast_expr get_at(int index) const;
+  inline ast_expr_list insert(unsigned int pos, ast_expr el) const;
   inline int n_ast_expr() const;
-  inline isl::ast_expr_list reverse() const;
-  inline isl::ast_expr_list set_ast_expr(int index, isl::ast_expr el) const;
+  inline ast_expr_list reverse() const;
+  inline ast_expr_list set_ast_expr(int index, ast_expr el) const;
   inline int size() const;
-  inline isl::ast_expr_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline ast_expr_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::ast_node
-inline isl::ast_node manage(__isl_take isl_ast_node *ptr);
-inline isl::ast_node manage_copy(__isl_keep isl_ast_node *ptr);
+inline ast_node manage(__isl_take isl_ast_node *ptr);
+inline ast_node manage_copy(__isl_keep isl_ast_node *ptr);
 
 class ast_node {
-  friend inline isl::ast_node manage(__isl_take isl_ast_node *ptr);
-  friend inline isl::ast_node manage_copy(__isl_keep isl_ast_node *ptr);
+  friend inline ast_node manage(__isl_take isl_ast_node *ptr);
+  friend inline ast_node manage_copy(__isl_keep isl_ast_node *ptr);
 
   isl_ast_node *ptr = nullptr;
 
@@ -516,9 +516,9 @@ class ast_node {
 
 public:
   inline /* implicit */ ast_node();
-  inline /* implicit */ ast_node(const isl::ast_node &obj);
+  inline /* implicit */ ast_node(const ast_node &obj);
   inline /* implicit */ ast_node(std::nullptr_t);
-  inline isl::ast_node &operator=(isl::ast_node obj);
+  inline ast_node &operator=(ast_node obj);
   inline ~ast_node();
   inline __isl_give isl_ast_node *copy() const &;
   inline __isl_give isl_ast_node *copy() && = delete;
@@ -526,37 +526,37 @@ public:
   inline __isl_give isl_ast_node *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  static inline isl::ast_node alloc_user(isl::ast_expr expr);
-  inline isl::ast_node_list block_get_children() const;
-  inline isl::ast_node for_get_body() const;
-  inline isl::ast_expr for_get_cond() const;
-  inline isl::ast_expr for_get_inc() const;
-  inline isl::ast_expr for_get_init() const;
-  inline isl::ast_expr for_get_iterator() const;
-  inline isl::boolean for_is_degenerate() const;
-  inline isl::id get_annotation() const;
-  inline isl::ast_expr if_get_cond() const;
-  inline isl::ast_node if_get_else() const;
-  inline isl::ast_node if_get_then() const;
-  inline isl::boolean if_has_else() const;
-  inline isl::id mark_get_id() const;
-  inline isl::ast_node mark_get_node() const;
-  inline isl::ast_node set_annotation(isl::id annotation) const;
+  static inline ast_node alloc_user(ast_expr expr);
+  inline ast_node_list block_get_children() const;
+  inline ast_node for_get_body() const;
+  inline ast_expr for_get_cond() const;
+  inline ast_expr for_get_inc() const;
+  inline ast_expr for_get_init() const;
+  inline ast_expr for_get_iterator() const;
+  inline boolean for_is_degenerate() const;
+  inline id get_annotation() const;
+  inline ast_expr if_get_cond() const;
+  inline ast_node if_get_else() const;
+  inline ast_node if_get_then() const;
+  inline boolean if_has_else() const;
+  inline id mark_get_id() const;
+  inline ast_node mark_get_node() const;
+  inline ast_node set_annotation(id annotation) const;
   inline std::string to_C_str() const;
-  inline isl::ast_expr user_get_expr() const;
+  inline ast_expr user_get_expr() const;
 };
 
 // declarations for isl::ast_node_list
-inline isl::ast_node_list manage(__isl_take isl_ast_node_list *ptr);
-inline isl::ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr);
+inline ast_node_list manage(__isl_take isl_ast_node_list *ptr);
+inline ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr);
 
 class ast_node_list {
-  friend inline isl::ast_node_list manage(__isl_take isl_ast_node_list *ptr);
-  friend inline isl::ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr);
+  friend inline ast_node_list manage(__isl_take isl_ast_node_list *ptr);
+  friend inline ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr);
 
   isl_ast_node_list *ptr = nullptr;
 
@@ -564,9 +564,9 @@ class ast_node_list {
 
 public:
   inline /* implicit */ ast_node_list();
-  inline /* implicit */ ast_node_list(const isl::ast_node_list &obj);
+  inline /* implicit */ ast_node_list(const ast_node_list &obj);
   inline /* implicit */ ast_node_list(std::nullptr_t);
-  inline isl::ast_node_list &operator=(isl::ast_node_list obj);
+  inline ast_node_list &operator=(ast_node_list obj);
   inline ~ast_node_list();
   inline __isl_give isl_ast_node_list *copy() const &;
   inline __isl_give isl_ast_node_list *copy() && = delete;
@@ -574,32 +574,32 @@ public:
   inline __isl_give isl_ast_node_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::ast_node_list add(isl::ast_node el) const;
-  static inline isl::ast_node_list alloc(isl::ctx ctx, int n);
-  inline isl::ast_node_list concat(isl::ast_node_list list2) const;
-  inline isl::ast_node_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::ast_node)> &fn) const;
-  static inline isl::ast_node_list from_ast_node(isl::ast_node el);
-  inline isl::ast_node get_ast_node(int index) const;
-  inline isl::ast_node get_at(int index) const;
-  inline isl::ast_node_list insert(unsigned int pos, isl::ast_node el) const;
+  inline ast_node_list add(ast_node el) const;
+  static inline ast_node_list alloc(ctx ctx, int n);
+  inline ast_node_list concat(ast_node_list list2) const;
+  inline ast_node_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(ast_node)> &fn) const;
+  static inline ast_node_list from_ast_node(ast_node el);
+  inline ast_node get_ast_node(int index) const;
+  inline ast_node get_at(int index) const;
+  inline ast_node_list insert(unsigned int pos, ast_node el) const;
   inline int n_ast_node() const;
-  inline isl::ast_node_list reverse() const;
-  inline isl::ast_node_list set_ast_node(int index, isl::ast_node el) const;
+  inline ast_node_list reverse() const;
+  inline ast_node_list set_ast_node(int index, ast_node el) const;
   inline int size() const;
-  inline isl::ast_node_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline ast_node_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::basic_map
-inline isl::basic_map manage(__isl_take isl_basic_map *ptr);
-inline isl::basic_map manage_copy(__isl_keep isl_basic_map *ptr);
+inline basic_map manage(__isl_take isl_basic_map *ptr);
+inline basic_map manage_copy(__isl_keep isl_basic_map *ptr);
 
 class basic_map {
-  friend inline isl::basic_map manage(__isl_take isl_basic_map *ptr);
-  friend inline isl::basic_map manage_copy(__isl_keep isl_basic_map *ptr);
+  friend inline basic_map manage(__isl_take isl_basic_map *ptr);
+  friend inline basic_map manage_copy(__isl_keep isl_basic_map *ptr);
 
   isl_basic_map *ptr = nullptr;
 
@@ -607,10 +607,10 @@ class basic_map {
 
 public:
   inline /* implicit */ basic_map();
-  inline /* implicit */ basic_map(const isl::basic_map &obj);
+  inline /* implicit */ basic_map(const basic_map &obj);
   inline /* implicit */ basic_map(std::nullptr_t);
-  inline explicit basic_map(isl::ctx ctx, const std::string &str);
-  inline isl::basic_map &operator=(isl::basic_map obj);
+  inline explicit basic_map(ctx ctx, const std::string &str);
+  inline basic_map &operator=(basic_map obj);
   inline ~basic_map();
   inline __isl_give isl_basic_map *copy() const &;
   inline __isl_give isl_basic_map *copy() && = delete;
@@ -618,123 +618,123 @@ public:
   inline __isl_give isl_basic_map *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::basic_map add_constraint(isl::constraint constraint) const;
-  inline isl::basic_map add_dims(isl::dim type, unsigned int n) const;
-  inline isl::basic_map affine_hull() const;
-  inline isl::basic_map align_params(isl::space model) const;
-  inline isl::basic_map apply_domain(isl::basic_map bmap2) const;
-  inline isl::basic_map apply_range(isl::basic_map bmap2) const;
-  inline isl::boolean can_curry() const;
-  inline isl::boolean can_uncurry() const;
-  inline isl::boolean can_zip() const;
-  inline isl::basic_map curry() const;
-  inline isl::basic_set deltas() const;
-  inline isl::basic_map deltas_map() const;
-  inline isl::basic_map detect_equalities() const;
+  inline basic_map add_constraint(constraint constraint) const;
+  inline basic_map add_dims(isl::dim type, unsigned int n) const;
+  inline basic_map affine_hull() const;
+  inline basic_map align_params(space model) const;
+  inline basic_map apply_domain(basic_map bmap2) const;
+  inline basic_map apply_range(basic_map bmap2) const;
+  inline boolean can_curry() const;
+  inline boolean can_uncurry() const;
+  inline boolean can_zip() const;
+  inline basic_map curry() const;
+  inline basic_set deltas() const;
+  inline basic_map deltas_map() const;
+  inline basic_map detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::basic_set domain() const;
-  inline isl::basic_map domain_map() const;
-  inline isl::basic_map domain_product(isl::basic_map bmap2) const;
-  inline isl::basic_map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_map drop_unused_params() const;
-  inline isl::basic_map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::basic_map empty(isl::space space);
-  static inline isl::basic_map equal(isl::space dim, unsigned int n_equal);
-  inline isl::mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
-  inline isl::basic_map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline basic_set domain() const;
+  inline basic_map domain_map() const;
+  inline basic_map domain_product(basic_map bmap2) const;
+  inline basic_map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_map drop_unused_params() const;
+  inline basic_map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline basic_map empty(space space);
+  static inline basic_map equal(space dim, unsigned int n_equal);
+  inline mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
+  inline basic_map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::basic_map fix_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::basic_map fix_val(isl::dim type, unsigned int pos, isl::val v) const;
-  inline isl::basic_map flat_product(isl::basic_map bmap2) const;
-  inline isl::basic_map flat_range_product(isl::basic_map bmap2) const;
-  inline isl::basic_map flatten() const;
-  inline isl::basic_map flatten_domain() const;
-  inline isl::basic_map flatten_range() const;
-  inline isl::stat foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const;
-  static inline isl::basic_map from_aff(isl::aff aff);
-  static inline isl::basic_map from_aff_list(isl::space domain_space, isl::aff_list list);
-  static inline isl::basic_map from_constraint(isl::constraint constraint);
-  static inline isl::basic_map from_domain(isl::basic_set bset);
-  static inline isl::basic_map from_domain_and_range(isl::basic_set domain, isl::basic_set range);
-  static inline isl::basic_map from_multi_aff(isl::multi_aff maff);
-  static inline isl::basic_map from_qpolynomial(isl::qpolynomial qp);
-  static inline isl::basic_map from_range(isl::basic_set bset);
-  inline isl::constraint_list get_constraint_list() const;
+  inline basic_map fix_si(isl::dim type, unsigned int pos, int value) const;
+  inline basic_map fix_val(isl::dim type, unsigned int pos, val v) const;
+  inline basic_map flat_product(basic_map bmap2) const;
+  inline basic_map flat_range_product(basic_map bmap2) const;
+  inline basic_map flatten() const;
+  inline basic_map flatten_domain() const;
+  inline basic_map flatten_range() const;
+  inline stat foreach_constraint(const std::function<stat(constraint)> &fn) const;
+  static inline basic_map from_aff(aff aff);
+  static inline basic_map from_aff_list(space domain_space, aff_list list);
+  static inline basic_map from_constraint(constraint constraint);
+  static inline basic_map from_domain(basic_set bset);
+  static inline basic_map from_domain_and_range(basic_set domain, basic_set range);
+  static inline basic_map from_multi_aff(multi_aff maff);
+  static inline basic_map from_qpolynomial(qpolynomial qp);
+  static inline basic_map from_range(basic_set bset);
+  inline constraint_list get_constraint_list() const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::aff get_div(int pos) const;
-  inline isl::local_space get_local_space() const;
-  inline isl::space get_space() const;
+  inline aff get_div(int pos) const;
+  inline local_space get_local_space() const;
+  inline space get_space() const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::basic_map gist(isl::basic_map context) const;
-  inline isl::basic_map gist_domain(isl::basic_set context) const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  static inline isl::basic_map identity(isl::space dim);
-  inline isl::boolean image_is_bounded() const;
-  inline isl::mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
-  inline isl::basic_map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
-  inline isl::basic_map intersect(isl::basic_map bmap2) const;
-  inline isl::basic_map intersect_domain(isl::basic_set bset) const;
-  inline isl::basic_map intersect_range(isl::basic_set bset) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_disjoint(const isl::basic_map &bmap2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::basic_map &bmap2) const;
-  inline isl::boolean is_rational() const;
-  inline isl::boolean is_single_valued() const;
-  inline isl::boolean is_strict_subset(const isl::basic_map &bmap2) const;
-  inline isl::boolean is_subset(const isl::basic_map &bmap2) const;
-  inline isl::boolean is_universe() const;
-  static inline isl::basic_map less_at(isl::space dim, unsigned int pos);
-  inline isl::map lexmax() const;
-  inline isl::map lexmin() const;
-  inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
-  inline isl::basic_map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
-  static inline isl::basic_map more_at(isl::space dim, unsigned int pos);
-  inline isl::basic_map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline basic_map gist(basic_map context) const;
+  inline basic_map gist_domain(basic_set context) const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  static inline basic_map identity(space dim);
+  inline boolean image_is_bounded() const;
+  inline mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
+  inline basic_map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+  inline basic_map intersect(basic_map bmap2) const;
+  inline basic_map intersect_domain(basic_set bset) const;
+  inline basic_map intersect_range(basic_set bset) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_disjoint(const basic_map &bmap2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const basic_map &bmap2) const;
+  inline boolean is_rational() const;
+  inline boolean is_single_valued() const;
+  inline boolean is_strict_subset(const basic_map &bmap2) const;
+  inline boolean is_subset(const basic_map &bmap2) const;
+  inline boolean is_universe() const;
+  static inline basic_map less_at(space dim, unsigned int pos);
+  inline map lexmax() const;
+  inline map lexmin() const;
+  inline pw_multi_aff lexmin_pw_multi_aff() const;
+  inline basic_map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
+  static inline basic_map more_at(space dim, unsigned int pos);
+  inline basic_map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
   inline int n_constraint() const;
-  static inline isl::basic_map nat_universe(isl::space dim);
-  inline isl::basic_map neg() const;
-  inline isl::basic_map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::basic_map order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
-  inline isl::boolean plain_is_empty() const;
-  inline isl::boolean plain_is_universe() const;
-  inline isl::basic_map preimage_domain_multi_aff(isl::multi_aff ma) const;
-  inline isl::basic_map preimage_range_multi_aff(isl::multi_aff ma) const;
-  inline isl::basic_map product(isl::basic_map bmap2) const;
-  inline isl::basic_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set range() const;
-  inline isl::basic_map range_map() const;
-  inline isl::basic_map range_product(isl::basic_map bmap2) const;
-  inline isl::basic_map remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_map remove_divs() const;
-  inline isl::basic_map remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_map remove_redundancies() const;
-  inline isl::basic_map reverse() const;
-  inline isl::basic_map sample() const;
-  inline isl::basic_map set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::basic_map set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::basic_map sum(isl::basic_map bmap2) const;
-  inline isl::basic_map uncurry() const;
-  inline isl::map unite(isl::basic_map bmap2) const;
-  static inline isl::basic_map universe(isl::space space);
-  inline isl::basic_map upper_bound_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::basic_set wrap() const;
-  inline isl::basic_map zip() const;
+  static inline basic_map nat_universe(space dim);
+  inline basic_map neg() const;
+  inline basic_map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline basic_map order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
+  inline boolean plain_is_empty() const;
+  inline boolean plain_is_universe() const;
+  inline basic_map preimage_domain_multi_aff(multi_aff ma) const;
+  inline basic_map preimage_range_multi_aff(multi_aff ma) const;
+  inline basic_map product(basic_map bmap2) const;
+  inline basic_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set range() const;
+  inline basic_map range_map() const;
+  inline basic_map range_product(basic_map bmap2) const;
+  inline basic_map remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_map remove_divs() const;
+  inline basic_map remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_map remove_redundancies() const;
+  inline basic_map reverse() const;
+  inline basic_map sample() const;
+  inline basic_map set_tuple_id(isl::dim type, id id) const;
+  inline basic_map set_tuple_name(isl::dim type, const std::string &s) const;
+  inline basic_map sum(basic_map bmap2) const;
+  inline basic_map uncurry() const;
+  inline map unite(basic_map bmap2) const;
+  static inline basic_map universe(space space);
+  inline basic_map upper_bound_si(isl::dim type, unsigned int pos, int value) const;
+  inline basic_set wrap() const;
+  inline basic_map zip() const;
 };
 
 // declarations for isl::basic_map_list
-inline isl::basic_map_list manage(__isl_take isl_basic_map_list *ptr);
-inline isl::basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr);
+inline basic_map_list manage(__isl_take isl_basic_map_list *ptr);
+inline basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr);
 
 class basic_map_list {
-  friend inline isl::basic_map_list manage(__isl_take isl_basic_map_list *ptr);
-  friend inline isl::basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr);
+  friend inline basic_map_list manage(__isl_take isl_basic_map_list *ptr);
+  friend inline basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr);
 
   isl_basic_map_list *ptr = nullptr;
 
@@ -742,9 +742,9 @@ class basic_map_list {
 
 public:
   inline /* implicit */ basic_map_list();
-  inline /* implicit */ basic_map_list(const isl::basic_map_list &obj);
+  inline /* implicit */ basic_map_list(const basic_map_list &obj);
   inline /* implicit */ basic_map_list(std::nullptr_t);
-  inline isl::basic_map_list &operator=(isl::basic_map_list obj);
+  inline basic_map_list &operator=(basic_map_list obj);
   inline ~basic_map_list();
   inline __isl_give isl_basic_map_list *copy() const &;
   inline __isl_give isl_basic_map_list *copy() && = delete;
@@ -752,32 +752,32 @@ public:
   inline __isl_give isl_basic_map_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::basic_map_list add(isl::basic_map el) const;
-  static inline isl::basic_map_list alloc(isl::ctx ctx, int n);
-  inline isl::basic_map_list concat(isl::basic_map_list list2) const;
-  inline isl::basic_map_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::basic_map)> &fn) const;
-  static inline isl::basic_map_list from_basic_map(isl::basic_map el);
-  inline isl::basic_map get_at(int index) const;
-  inline isl::basic_map get_basic_map(int index) const;
-  inline isl::basic_map_list insert(unsigned int pos, isl::basic_map el) const;
+  inline basic_map_list add(basic_map el) const;
+  static inline basic_map_list alloc(ctx ctx, int n);
+  inline basic_map_list concat(basic_map_list list2) const;
+  inline basic_map_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(basic_map)> &fn) const;
+  static inline basic_map_list from_basic_map(basic_map el);
+  inline basic_map get_at(int index) const;
+  inline basic_map get_basic_map(int index) const;
+  inline basic_map_list insert(unsigned int pos, basic_map el) const;
   inline int n_basic_map() const;
-  inline isl::basic_map_list reverse() const;
-  inline isl::basic_map_list set_basic_map(int index, isl::basic_map el) const;
+  inline basic_map_list reverse() const;
+  inline basic_map_list set_basic_map(int index, basic_map el) const;
   inline int size() const;
-  inline isl::basic_map_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline basic_map_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::basic_set
-inline isl::basic_set manage(__isl_take isl_basic_set *ptr);
-inline isl::basic_set manage_copy(__isl_keep isl_basic_set *ptr);
+inline basic_set manage(__isl_take isl_basic_set *ptr);
+inline basic_set manage_copy(__isl_keep isl_basic_set *ptr);
 
 class basic_set {
-  friend inline isl::basic_set manage(__isl_take isl_basic_set *ptr);
-  friend inline isl::basic_set manage_copy(__isl_keep isl_basic_set *ptr);
+  friend inline basic_set manage(__isl_take isl_basic_set *ptr);
+  friend inline basic_set manage_copy(__isl_keep isl_basic_set *ptr);
 
   isl_basic_set *ptr = nullptr;
 
@@ -785,11 +785,11 @@ class basic_set {
 
 public:
   inline /* implicit */ basic_set();
-  inline /* implicit */ basic_set(const isl::basic_set &obj);
+  inline /* implicit */ basic_set(const basic_set &obj);
   inline /* implicit */ basic_set(std::nullptr_t);
-  inline explicit basic_set(isl::ctx ctx, const std::string &str);
-  inline /* implicit */ basic_set(isl::point pnt);
-  inline isl::basic_set &operator=(isl::basic_set obj);
+  inline explicit basic_set(ctx ctx, const std::string &str);
+  inline /* implicit */ basic_set(point pnt);
+  inline basic_set &operator=(basic_set obj);
   inline ~basic_set();
   inline __isl_give isl_basic_set *copy() const &;
   inline __isl_give isl_basic_set *copy() && = delete;
@@ -797,94 +797,94 @@ public:
   inline __isl_give isl_basic_set *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::basic_set affine_hull() const;
-  inline isl::basic_set align_params(isl::space model) const;
-  inline isl::basic_set apply(isl::basic_map bmap) const;
-  static inline isl::basic_set box_from_points(isl::point pnt1, isl::point pnt2);
-  inline isl::basic_set coefficients() const;
-  inline isl::basic_set detect_equalities() const;
+  inline basic_set affine_hull() const;
+  inline basic_set align_params(space model) const;
+  inline basic_set apply(basic_map bmap) const;
+  static inline basic_set box_from_points(point pnt1, point pnt2);
+  inline basic_set coefficients() const;
+  inline basic_set detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::val dim_max_val(int pos) const;
-  inline isl::basic_set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set drop_unused_params() const;
-  inline isl::basic_set eliminate(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::basic_set empty(isl::space space);
-  inline isl::mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const;
-  inline isl::basic_set fix_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::basic_set fix_val(isl::dim type, unsigned int pos, isl::val v) const;
-  inline isl::basic_set flat_product(isl::basic_set bset2) const;
-  inline isl::basic_set flatten() const;
-  inline isl::stat foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> &fn) const;
-  inline isl::stat foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const;
-  static inline isl::basic_set from_constraint(isl::constraint constraint);
-  static inline isl::basic_set from_multi_aff(isl::multi_aff ma);
-  inline isl::basic_set from_params() const;
-  inline isl::constraint_list get_constraint_list() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline val dim_max_val(int pos) const;
+  inline basic_set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set drop_unused_params() const;
+  inline basic_set eliminate(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline basic_set empty(space space);
+  inline mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const;
+  inline basic_set fix_si(isl::dim type, unsigned int pos, int value) const;
+  inline basic_set fix_val(isl::dim type, unsigned int pos, val v) const;
+  inline basic_set flat_product(basic_set bset2) const;
+  inline basic_set flatten() const;
+  inline stat foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<stat(constraint, constraint, basic_set)> &fn) const;
+  inline stat foreach_constraint(const std::function<stat(constraint)> &fn) const;
+  static inline basic_set from_constraint(constraint constraint);
+  static inline basic_set from_multi_aff(multi_aff ma);
+  inline basic_set from_params() const;
+  inline constraint_list get_constraint_list() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::aff get_div(int pos) const;
-  inline isl::local_space get_local_space() const;
-  inline isl::space get_space() const;
+  inline aff get_div(int pos) const;
+  inline local_space get_local_space() const;
+  inline space get_space() const;
   inline std::string get_tuple_name() const;
-  inline isl::basic_set gist(isl::basic_set context) const;
-  inline isl::mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const;
-  inline isl::basic_set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
-  inline isl::basic_set intersect(isl::basic_set bset2) const;
-  inline isl::basic_set intersect_params(isl::basic_set bset2) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_bounded() const;
-  inline isl::boolean is_disjoint(const isl::basic_set &bset2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::basic_set &bset2) const;
+  inline basic_set gist(basic_set context) const;
+  inline mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const;
+  inline basic_set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+  inline basic_set intersect(basic_set bset2) const;
+  inline basic_set intersect_params(basic_set bset2) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_bounded() const;
+  inline boolean is_disjoint(const basic_set &bset2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const basic_set &bset2) const;
   inline int is_rational() const;
-  inline isl::boolean is_subset(const isl::basic_set &bset2) const;
-  inline isl::boolean is_universe() const;
-  inline isl::boolean is_wrapping() const;
-  inline isl::set lexmax() const;
-  inline isl::set lexmin() const;
-  inline isl::basic_set lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const;
-  inline isl::val max_val(const isl::aff &obj) const;
-  inline isl::basic_set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline boolean is_subset(const basic_set &bset2) const;
+  inline boolean is_universe() const;
+  inline boolean is_wrapping() const;
+  inline set lexmax() const;
+  inline set lexmin() const;
+  inline basic_set lower_bound_val(isl::dim type, unsigned int pos, val value) const;
+  inline val max_val(const aff &obj) const;
+  inline basic_set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
   inline int n_constraint() const;
   inline unsigned int n_dim() const;
-  static inline isl::basic_set nat_universe(isl::space dim);
-  inline isl::basic_set neg() const;
-  inline isl::basic_set params() const;
-  inline isl::boolean plain_is_empty() const;
-  inline isl::boolean plain_is_equal(const isl::basic_set &bset2) const;
-  inline isl::boolean plain_is_universe() const;
-  static inline isl::basic_set positive_orthant(isl::space space);
-  inline isl::basic_set preimage_multi_aff(isl::multi_aff ma) const;
-  inline isl::basic_set project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::mat reduced_basis() const;
-  inline isl::basic_set remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set remove_divs() const;
-  inline isl::basic_set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::basic_set remove_redundancies() const;
-  inline isl::basic_set remove_unknown_divs() const;
-  inline isl::basic_set sample() const;
-  inline isl::point sample_point() const;
-  inline isl::basic_set set_tuple_id(isl::id id) const;
-  inline isl::basic_set set_tuple_name(const std::string &s) const;
-  inline isl::basic_set solutions() const;
-  inline isl::set unite(isl::basic_set bset2) const;
-  static inline isl::basic_set universe(isl::space space);
-  inline isl::basic_map unwrap() const;
-  inline isl::basic_set upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const;
+  static inline basic_set nat_universe(space dim);
+  inline basic_set neg() const;
+  inline basic_set params() const;
+  inline boolean plain_is_empty() const;
+  inline boolean plain_is_equal(const basic_set &bset2) const;
+  inline boolean plain_is_universe() const;
+  static inline basic_set positive_orthant(space space);
+  inline basic_set preimage_multi_aff(multi_aff ma) const;
+  inline basic_set project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline mat reduced_basis() const;
+  inline basic_set remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set remove_divs() const;
+  inline basic_set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline basic_set remove_redundancies() const;
+  inline basic_set remove_unknown_divs() const;
+  inline basic_set sample() const;
+  inline point sample_point() const;
+  inline basic_set set_tuple_id(id id) const;
+  inline basic_set set_tuple_name(const std::string &s) const;
+  inline basic_set solutions() const;
+  inline set unite(basic_set bset2) const;
+  static inline basic_set universe(space space);
+  inline basic_map unwrap() const;
+  inline basic_set upper_bound_val(isl::dim type, unsigned int pos, val value) const;
 };
 
 // declarations for isl::basic_set_list
-inline isl::basic_set_list manage(__isl_take isl_basic_set_list *ptr);
-inline isl::basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr);
+inline basic_set_list manage(__isl_take isl_basic_set_list *ptr);
+inline basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr);
 
 class basic_set_list {
-  friend inline isl::basic_set_list manage(__isl_take isl_basic_set_list *ptr);
-  friend inline isl::basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr);
+  friend inline basic_set_list manage(__isl_take isl_basic_set_list *ptr);
+  friend inline basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr);
 
   isl_basic_set_list *ptr = nullptr;
 
@@ -892,9 +892,9 @@ class basic_set_list {
 
 public:
   inline /* implicit */ basic_set_list();
-  inline /* implicit */ basic_set_list(const isl::basic_set_list &obj);
+  inline /* implicit */ basic_set_list(const basic_set_list &obj);
   inline /* implicit */ basic_set_list(std::nullptr_t);
-  inline isl::basic_set_list &operator=(isl::basic_set_list obj);
+  inline basic_set_list &operator=(basic_set_list obj);
   inline ~basic_set_list();
   inline __isl_give isl_basic_set_list *copy() const &;
   inline __isl_give isl_basic_set_list *copy() && = delete;
@@ -902,33 +902,33 @@ public:
   inline __isl_give isl_basic_set_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::basic_set_list add(isl::basic_set el) const;
-  static inline isl::basic_set_list alloc(isl::ctx ctx, int n);
-  inline isl::basic_set_list coefficients() const;
-  inline isl::basic_set_list concat(isl::basic_set_list list2) const;
-  inline isl::basic_set_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::basic_set)> &fn) const;
-  static inline isl::basic_set_list from_basic_set(isl::basic_set el);
-  inline isl::basic_set get_at(int index) const;
-  inline isl::basic_set get_basic_set(int index) const;
-  inline isl::basic_set_list insert(unsigned int pos, isl::basic_set el) const;
+  inline basic_set_list add(basic_set el) const;
+  static inline basic_set_list alloc(ctx ctx, int n);
+  inline basic_set_list coefficients() const;
+  inline basic_set_list concat(basic_set_list list2) const;
+  inline basic_set_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(basic_set)> &fn) const;
+  static inline basic_set_list from_basic_set(basic_set el);
+  inline basic_set get_at(int index) const;
+  inline basic_set get_basic_set(int index) const;
+  inline basic_set_list insert(unsigned int pos, basic_set el) const;
   inline int n_basic_set() const;
-  inline isl::basic_set_list reverse() const;
-  inline isl::basic_set_list set_basic_set(int index, isl::basic_set el) const;
+  inline basic_set_list reverse() const;
+  inline basic_set_list set_basic_set(int index, basic_set el) const;
   inline int size() const;
-  inline isl::basic_set_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline basic_set_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::constraint
-inline isl::constraint manage(__isl_take isl_constraint *ptr);
-inline isl::constraint manage_copy(__isl_keep isl_constraint *ptr);
+inline constraint manage(__isl_take isl_constraint *ptr);
+inline constraint manage_copy(__isl_keep isl_constraint *ptr);
 
 class constraint {
-  friend inline isl::constraint manage(__isl_take isl_constraint *ptr);
-  friend inline isl::constraint manage_copy(__isl_keep isl_constraint *ptr);
+  friend inline constraint manage(__isl_take isl_constraint *ptr);
+  friend inline constraint manage_copy(__isl_keep isl_constraint *ptr);
 
   isl_constraint *ptr = nullptr;
 
@@ -936,9 +936,9 @@ class constraint {
 
 public:
   inline /* implicit */ constraint();
-  inline /* implicit */ constraint(const isl::constraint &obj);
+  inline /* implicit */ constraint(const constraint &obj);
   inline /* implicit */ constraint(std::nullptr_t);
-  inline isl::constraint &operator=(isl::constraint obj);
+  inline constraint &operator=(constraint obj);
   inline ~constraint();
   inline __isl_give isl_constraint *copy() const &;
   inline __isl_give isl_constraint *copy() && = delete;
@@ -946,38 +946,38 @@ public:
   inline __isl_give isl_constraint *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  static inline isl::constraint alloc_equality(isl::local_space ls);
-  static inline isl::constraint alloc_inequality(isl::local_space ls);
-  inline int cmp_last_non_zero(const isl::constraint &c2) const;
-  inline isl::aff get_aff() const;
-  inline isl::aff get_bound(isl::dim type, int pos) const;
-  inline isl::val get_coefficient_val(isl::dim type, int pos) const;
-  inline isl::val get_constant_val() const;
+  static inline constraint alloc_equality(local_space ls);
+  static inline constraint alloc_inequality(local_space ls);
+  inline int cmp_last_non_zero(const constraint &c2) const;
+  inline aff get_aff() const;
+  inline aff get_bound(isl::dim type, int pos) const;
+  inline val get_coefficient_val(isl::dim type, int pos) const;
+  inline val get_constant_val() const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::aff get_div(int pos) const;
-  inline isl::local_space get_local_space() const;
-  inline isl::space get_space() const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline aff get_div(int pos) const;
+  inline local_space get_local_space() const;
+  inline space get_space() const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
   inline int is_div_constraint() const;
-  inline isl::boolean is_lower_bound(isl::dim type, unsigned int pos) const;
-  inline isl::boolean is_upper_bound(isl::dim type, unsigned int pos) const;
-  inline int plain_cmp(const isl::constraint &c2) const;
-  inline isl::constraint set_coefficient_si(isl::dim type, int pos, int v) const;
-  inline isl::constraint set_coefficient_val(isl::dim type, int pos, isl::val v) const;
-  inline isl::constraint set_constant_si(int v) const;
-  inline isl::constraint set_constant_val(isl::val v) const;
+  inline boolean is_lower_bound(isl::dim type, unsigned int pos) const;
+  inline boolean is_upper_bound(isl::dim type, unsigned int pos) const;
+  inline int plain_cmp(const constraint &c2) const;
+  inline constraint set_coefficient_si(isl::dim type, int pos, int v) const;
+  inline constraint set_coefficient_val(isl::dim type, int pos, val v) const;
+  inline constraint set_constant_si(int v) const;
+  inline constraint set_constant_val(val v) const;
 };
 
 // declarations for isl::constraint_list
-inline isl::constraint_list manage(__isl_take isl_constraint_list *ptr);
-inline isl::constraint_list manage_copy(__isl_keep isl_constraint_list *ptr);
+inline constraint_list manage(__isl_take isl_constraint_list *ptr);
+inline constraint_list manage_copy(__isl_keep isl_constraint_list *ptr);
 
 class constraint_list {
-  friend inline isl::constraint_list manage(__isl_take isl_constraint_list *ptr);
-  friend inline isl::constraint_list manage_copy(__isl_keep isl_constraint_list *ptr);
+  friend inline constraint_list manage(__isl_take isl_constraint_list *ptr);
+  friend inline constraint_list manage_copy(__isl_keep isl_constraint_list *ptr);
 
   isl_constraint_list *ptr = nullptr;
 
@@ -985,9 +985,9 @@ class constraint_list {
 
 public:
   inline /* implicit */ constraint_list();
-  inline /* implicit */ constraint_list(const isl::constraint_list &obj);
+  inline /* implicit */ constraint_list(const constraint_list &obj);
   inline /* implicit */ constraint_list(std::nullptr_t);
-  inline isl::constraint_list &operator=(isl::constraint_list obj);
+  inline constraint_list &operator=(constraint_list obj);
   inline ~constraint_list();
   inline __isl_give isl_constraint_list *copy() const &;
   inline __isl_give isl_constraint_list *copy() && = delete;
@@ -995,32 +995,32 @@ public:
   inline __isl_give isl_constraint_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::constraint_list add(isl::constraint el) const;
-  static inline isl::constraint_list alloc(isl::ctx ctx, int n);
-  inline isl::constraint_list concat(isl::constraint_list list2) const;
-  inline isl::constraint_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::constraint)> &fn) const;
-  static inline isl::constraint_list from_constraint(isl::constraint el);
-  inline isl::constraint get_at(int index) const;
-  inline isl::constraint get_constraint(int index) const;
-  inline isl::constraint_list insert(unsigned int pos, isl::constraint el) const;
+  inline constraint_list add(constraint el) const;
+  static inline constraint_list alloc(ctx ctx, int n);
+  inline constraint_list concat(constraint_list list2) const;
+  inline constraint_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(constraint)> &fn) const;
+  static inline constraint_list from_constraint(constraint el);
+  inline constraint get_at(int index) const;
+  inline constraint get_constraint(int index) const;
+  inline constraint_list insert(unsigned int pos, constraint el) const;
   inline int n_constraint() const;
-  inline isl::constraint_list reverse() const;
-  inline isl::constraint_list set_constraint(int index, isl::constraint el) const;
+  inline constraint_list reverse() const;
+  inline constraint_list set_constraint(int index, constraint el) const;
   inline int size() const;
-  inline isl::constraint_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline constraint_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::fixed_box
-inline isl::fixed_box manage(__isl_take isl_fixed_box *ptr);
-inline isl::fixed_box manage_copy(__isl_keep isl_fixed_box *ptr);
+inline fixed_box manage(__isl_take isl_fixed_box *ptr);
+inline fixed_box manage_copy(__isl_keep isl_fixed_box *ptr);
 
 class fixed_box {
-  friend inline isl::fixed_box manage(__isl_take isl_fixed_box *ptr);
-  friend inline isl::fixed_box manage_copy(__isl_keep isl_fixed_box *ptr);
+  friend inline fixed_box manage(__isl_take isl_fixed_box *ptr);
+  friend inline fixed_box manage_copy(__isl_keep isl_fixed_box *ptr);
 
   isl_fixed_box *ptr = nullptr;
 
@@ -1028,9 +1028,9 @@ class fixed_box {
 
 public:
   inline /* implicit */ fixed_box();
-  inline /* implicit */ fixed_box(const isl::fixed_box &obj);
+  inline /* implicit */ fixed_box(const fixed_box &obj);
   inline /* implicit */ fixed_box(std::nullptr_t);
-  inline isl::fixed_box &operator=(isl::fixed_box obj);
+  inline fixed_box &operator=(fixed_box obj);
   inline ~fixed_box();
   inline __isl_give isl_fixed_box *copy() const &;
   inline __isl_give isl_fixed_box *copy() && = delete;
@@ -1038,21 +1038,21 @@ public:
   inline __isl_give isl_fixed_box *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
 
-  inline isl::multi_aff get_offset() const;
-  inline isl::multi_val get_size() const;
-  inline isl::space get_space() const;
-  inline isl::boolean is_valid() const;
+  inline multi_aff get_offset() const;
+  inline multi_val get_size() const;
+  inline space get_space() const;
+  inline boolean is_valid() const;
 };
 
 // declarations for isl::id
-inline isl::id manage(__isl_take isl_id *ptr);
-inline isl::id manage_copy(__isl_keep isl_id *ptr);
+inline id manage(__isl_take isl_id *ptr);
+inline id manage_copy(__isl_keep isl_id *ptr);
 
 class id {
-  friend inline isl::id manage(__isl_take isl_id *ptr);
-  friend inline isl::id manage_copy(__isl_keep isl_id *ptr);
+  friend inline id manage(__isl_take isl_id *ptr);
+  friend inline id manage_copy(__isl_keep isl_id *ptr);
 
   isl_id *ptr = nullptr;
 
@@ -1060,9 +1060,9 @@ class id {
 
 public:
   inline /* implicit */ id();
-  inline /* implicit */ id(const isl::id &obj);
+  inline /* implicit */ id(const id &obj);
   inline /* implicit */ id(std::nullptr_t);
-  inline isl::id &operator=(isl::id obj);
+  inline id &operator=(id obj);
   inline ~id();
   inline __isl_give isl_id *copy() const &;
   inline __isl_give isl_id *copy() && = delete;
@@ -1070,23 +1070,23 @@ public:
   inline __isl_give isl_id *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  static inline isl::id alloc(isl::ctx ctx, const std::string &name, void * user);
+  static inline id alloc(ctx ctx, const std::string &name, void * user);
   inline uint32_t get_hash() const;
   inline std::string get_name() const;
   inline void * get_user() const;
 };
 
 // declarations for isl::id_list
-inline isl::id_list manage(__isl_take isl_id_list *ptr);
-inline isl::id_list manage_copy(__isl_keep isl_id_list *ptr);
+inline id_list manage(__isl_take isl_id_list *ptr);
+inline id_list manage_copy(__isl_keep isl_id_list *ptr);
 
 class id_list {
-  friend inline isl::id_list manage(__isl_take isl_id_list *ptr);
-  friend inline isl::id_list manage_copy(__isl_keep isl_id_list *ptr);
+  friend inline id_list manage(__isl_take isl_id_list *ptr);
+  friend inline id_list manage_copy(__isl_keep isl_id_list *ptr);
 
   isl_id_list *ptr = nullptr;
 
@@ -1094,9 +1094,9 @@ class id_list {
 
 public:
   inline /* implicit */ id_list();
-  inline /* implicit */ id_list(const isl::id_list &obj);
+  inline /* implicit */ id_list(const id_list &obj);
   inline /* implicit */ id_list(std::nullptr_t);
-  inline isl::id_list &operator=(isl::id_list obj);
+  inline id_list &operator=(id_list obj);
   inline ~id_list();
   inline __isl_give isl_id_list *copy() const &;
   inline __isl_give isl_id_list *copy() && = delete;
@@ -1104,32 +1104,32 @@ public:
   inline __isl_give isl_id_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::id_list add(isl::id el) const;
-  static inline isl::id_list alloc(isl::ctx ctx, int n);
-  inline isl::id_list concat(isl::id_list list2) const;
-  inline isl::id_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::id)> &fn) const;
-  static inline isl::id_list from_id(isl::id el);
-  inline isl::id get_at(int index) const;
-  inline isl::id get_id(int index) const;
-  inline isl::id_list insert(unsigned int pos, isl::id el) const;
+  inline id_list add(id el) const;
+  static inline id_list alloc(ctx ctx, int n);
+  inline id_list concat(id_list list2) const;
+  inline id_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(id)> &fn) const;
+  static inline id_list from_id(id el);
+  inline id get_at(int index) const;
+  inline id get_id(int index) const;
+  inline id_list insert(unsigned int pos, id el) const;
   inline int n_id() const;
-  inline isl::id_list reverse() const;
-  inline isl::id_list set_id(int index, isl::id el) const;
+  inline id_list reverse() const;
+  inline id_list set_id(int index, id el) const;
   inline int size() const;
-  inline isl::id_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline id_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::id_to_ast_expr
-inline isl::id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr);
-inline isl::id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr);
+inline id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr);
+inline id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr);
 
 class id_to_ast_expr {
-  friend inline isl::id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr);
-  friend inline isl::id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr);
+  friend inline id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr);
+  friend inline id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr);
 
   isl_id_to_ast_expr *ptr = nullptr;
 
@@ -1137,9 +1137,9 @@ class id_to_ast_expr {
 
 public:
   inline /* implicit */ id_to_ast_expr();
-  inline /* implicit */ id_to_ast_expr(const isl::id_to_ast_expr &obj);
+  inline /* implicit */ id_to_ast_expr(const id_to_ast_expr &obj);
   inline /* implicit */ id_to_ast_expr(std::nullptr_t);
-  inline isl::id_to_ast_expr &operator=(isl::id_to_ast_expr obj);
+  inline id_to_ast_expr &operator=(id_to_ast_expr obj);
   inline ~id_to_ast_expr();
   inline __isl_give isl_id_to_ast_expr *copy() const &;
   inline __isl_give isl_id_to_ast_expr *copy() && = delete;
@@ -1147,24 +1147,24 @@ public:
   inline __isl_give isl_id_to_ast_expr *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  static inline isl::id_to_ast_expr alloc(isl::ctx ctx, int min_size);
-  inline isl::id_to_ast_expr drop(isl::id key) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::id, isl::ast_expr)> &fn) const;
-  inline isl::ast_expr get(isl::id key) const;
-  inline isl::boolean has(const isl::id &key) const;
-  inline isl::id_to_ast_expr set(isl::id key, isl::ast_expr val) const;
+  static inline id_to_ast_expr alloc(ctx ctx, int min_size);
+  inline id_to_ast_expr drop(id key) const;
+  inline stat foreach(const std::function<stat(id, ast_expr)> &fn) const;
+  inline ast_expr get(id key) const;
+  inline boolean has(const id &key) const;
+  inline id_to_ast_expr set(id key, ast_expr val) const;
 };
 
 // declarations for isl::local_space
-inline isl::local_space manage(__isl_take isl_local_space *ptr);
-inline isl::local_space manage_copy(__isl_keep isl_local_space *ptr);
+inline local_space manage(__isl_take isl_local_space *ptr);
+inline local_space manage_copy(__isl_keep isl_local_space *ptr);
 
 class local_space {
-  friend inline isl::local_space manage(__isl_take isl_local_space *ptr);
-  friend inline isl::local_space manage_copy(__isl_keep isl_local_space *ptr);
+  friend inline local_space manage(__isl_take isl_local_space *ptr);
+  friend inline local_space manage_copy(__isl_keep isl_local_space *ptr);
 
   isl_local_space *ptr = nullptr;
 
@@ -1172,10 +1172,10 @@ class local_space {
 
 public:
   inline /* implicit */ local_space();
-  inline /* implicit */ local_space(const isl::local_space &obj);
+  inline /* implicit */ local_space(const local_space &obj);
   inline /* implicit */ local_space(std::nullptr_t);
-  inline explicit local_space(isl::space dim);
-  inline isl::local_space &operator=(isl::local_space obj);
+  inline explicit local_space(space dim);
+  inline local_space &operator=(local_space obj);
   inline ~local_space();
   inline __isl_give isl_local_space *copy() const &;
   inline __isl_give isl_local_space *copy() && = delete;
@@ -1183,42 +1183,42 @@ public:
   inline __isl_give isl_local_space *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::local_space add_dims(isl::dim type, unsigned int n) const;
+  inline local_space add_dims(isl::dim type, unsigned int n) const;
   inline int dim(isl::dim type) const;
-  inline isl::local_space domain() const;
-  inline isl::local_space drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline local_space domain() const;
+  inline local_space drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::local_space flatten_domain() const;
-  inline isl::local_space flatten_range() const;
-  inline isl::local_space from_domain() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline local_space flatten_domain() const;
+  inline local_space flatten_range() const;
+  inline local_space from_domain() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::aff get_div(int pos) const;
-  inline isl::space get_space() const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::local_space insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::local_space intersect(isl::local_space ls2) const;
-  inline isl::boolean is_equal(const isl::local_space &ls2) const;
-  inline isl::boolean is_params() const;
-  inline isl::boolean is_set() const;
-  inline isl::local_space range() const;
-  inline isl::local_space set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::local_space set_from_params() const;
-  inline isl::local_space set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::local_space wrap() const;
+  inline aff get_div(int pos) const;
+  inline space get_space() const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  inline boolean has_dim_name(isl::dim type, unsigned int pos) const;
+  inline local_space insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline local_space intersect(local_space ls2) const;
+  inline boolean is_equal(const local_space &ls2) const;
+  inline boolean is_params() const;
+  inline boolean is_set() const;
+  inline local_space range() const;
+  inline local_space set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline local_space set_from_params() const;
+  inline local_space set_tuple_id(isl::dim type, id id) const;
+  inline local_space wrap() const;
 };
 
 // declarations for isl::map
-inline isl::map manage(__isl_take isl_map *ptr);
-inline isl::map manage_copy(__isl_keep isl_map *ptr);
+inline map manage(__isl_take isl_map *ptr);
+inline map manage_copy(__isl_keep isl_map *ptr);
 
 class map {
-  friend inline isl::map manage(__isl_take isl_map *ptr);
-  friend inline isl::map manage_copy(__isl_keep isl_map *ptr);
+  friend inline map manage(__isl_take isl_map *ptr);
+  friend inline map manage_copy(__isl_keep isl_map *ptr);
 
   isl_map *ptr = nullptr;
 
@@ -1226,11 +1226,11 @@ class map {
 
 public:
   inline /* implicit */ map();
-  inline /* implicit */ map(const isl::map &obj);
+  inline /* implicit */ map(const map &obj);
   inline /* implicit */ map(std::nullptr_t);
-  inline explicit map(isl::ctx ctx, const std::string &str);
-  inline /* implicit */ map(isl::basic_map bmap);
-  inline isl::map &operator=(isl::map obj);
+  inline explicit map(ctx ctx, const std::string &str);
+  inline /* implicit */ map(basic_map bmap);
+  inline map &operator=(map obj);
   inline ~map();
   inline __isl_give isl_map *copy() const &;
   inline __isl_give isl_map *copy() && = delete;
@@ -1238,187 +1238,187 @@ public:
   inline __isl_give isl_map *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::map add_constraint(isl::constraint constraint) const;
-  inline isl::map add_dims(isl::dim type, unsigned int n) const;
-  inline isl::basic_map affine_hull() const;
-  inline isl::map align_params(isl::space model) const;
-  inline isl::map apply_domain(isl::map map2) const;
-  inline isl::map apply_range(isl::map map2) const;
-  inline isl::boolean can_curry() const;
-  inline isl::boolean can_range_curry() const;
-  inline isl::boolean can_uncurry() const;
-  inline isl::boolean can_zip() const;
-  inline isl::map coalesce() const;
-  inline isl::map complement() const;
-  inline isl::basic_map convex_hull() const;
-  inline isl::map curry() const;
-  inline isl::set deltas() const;
-  inline isl::map deltas_map() const;
-  inline isl::map detect_equalities() const;
+  inline map add_constraint(constraint constraint) const;
+  inline map add_dims(isl::dim type, unsigned int n) const;
+  inline basic_map affine_hull() const;
+  inline map align_params(space model) const;
+  inline map apply_domain(map map2) const;
+  inline map apply_range(map map2) const;
+  inline boolean can_curry() const;
+  inline boolean can_range_curry() const;
+  inline boolean can_uncurry() const;
+  inline boolean can_zip() const;
+  inline map coalesce() const;
+  inline map complement() const;
+  inline basic_map convex_hull() const;
+  inline map curry() const;
+  inline set deltas() const;
+  inline map deltas_map() const;
+  inline map detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::pw_aff dim_max(int pos) const;
-  inline isl::pw_aff dim_min(int pos) const;
-  inline isl::set domain() const;
-  inline isl::map domain_factor_domain() const;
-  inline isl::map domain_factor_range() const;
-  inline isl::boolean domain_is_wrapping() const;
-  inline isl::map domain_map() const;
-  inline isl::map domain_product(isl::map map2) const;
-  inline isl::map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::map drop_unused_params() const;
-  inline isl::map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::map empty(isl::space space);
-  inline isl::map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::map factor_domain() const;
-  inline isl::map factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline pw_aff dim_max(int pos) const;
+  inline pw_aff dim_min(int pos) const;
+  inline set domain() const;
+  inline map domain_factor_domain() const;
+  inline map domain_factor_range() const;
+  inline boolean domain_is_wrapping() const;
+  inline map domain_map() const;
+  inline map domain_product(map map2) const;
+  inline map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline map drop_unused_params() const;
+  inline map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline map empty(space space);
+  inline map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline map factor_domain() const;
+  inline map factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::map fix_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::map fix_val(isl::dim type, unsigned int pos, isl::val v) const;
-  inline isl::map fixed_power_val(isl::val exp) const;
-  inline isl::map flat_domain_product(isl::map map2) const;
-  inline isl::map flat_product(isl::map map2) const;
-  inline isl::map flat_range_product(isl::map map2) const;
-  inline isl::map flatten() const;
-  inline isl::map flatten_domain() const;
-  inline isl::map flatten_range() const;
-  inline isl::map floordiv_val(isl::val d) const;
-  inline isl::stat foreach_basic_map(const std::function<isl::stat(isl::basic_map)> &fn) const;
-  static inline isl::map from_aff(isl::aff aff);
-  static inline isl::map from_domain(isl::set set);
-  static inline isl::map from_domain_and_range(isl::set domain, isl::set range);
-  static inline isl::map from_multi_aff(isl::multi_aff maff);
-  static inline isl::map from_multi_pw_aff(isl::multi_pw_aff mpa);
-  static inline isl::map from_pw_aff(isl::pw_aff pwaff);
-  static inline isl::map from_pw_multi_aff(isl::pw_multi_aff pma);
-  static inline isl::map from_range(isl::set set);
-  static inline isl::map from_union_map(isl::union_map umap);
-  inline isl::basic_map_list get_basic_map_list() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline map fix_si(isl::dim type, unsigned int pos, int value) const;
+  inline map fix_val(isl::dim type, unsigned int pos, val v) const;
+  inline map fixed_power_val(val exp) const;
+  inline map flat_domain_product(map map2) const;
+  inline map flat_product(map map2) const;
+  inline map flat_range_product(map map2) const;
+  inline map flatten() const;
+  inline map flatten_domain() const;
+  inline map flatten_range() const;
+  inline map floordiv_val(val d) const;
+  inline stat foreach_basic_map(const std::function<stat(basic_map)> &fn) const;
+  static inline map from_aff(aff aff);
+  static inline map from_domain(set set);
+  static inline map from_domain_and_range(set domain, set range);
+  static inline map from_multi_aff(multi_aff maff);
+  static inline map from_multi_pw_aff(multi_pw_aff mpa);
+  static inline map from_pw_aff(pw_aff pwaff);
+  static inline map from_pw_multi_aff(pw_multi_aff pma);
+  static inline map from_range(set set);
+  static inline map from_union_map(union_map umap);
+  inline basic_map_list get_basic_map_list() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
   inline uint32_t get_hash() const;
-  inline isl::fixed_box get_range_simple_fixed_box_hull() const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline fixed_box get_range_simple_fixed_box_hull() const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::map gist(isl::map context) const;
-  inline isl::map gist_basic_map(isl::basic_map context) const;
-  inline isl::map gist_domain(isl::set context) const;
-  inline isl::map gist_params(isl::set context) const;
-  inline isl::map gist_range(isl::set context) const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_equal_space(const isl::map &map2) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::boolean has_tuple_name(isl::dim type) const;
-  static inline isl::map identity(isl::space dim);
-  inline isl::map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
-  inline isl::map intersect(isl::map map2) const;
-  inline isl::map intersect_domain(isl::set set) const;
-  inline isl::map intersect_domain_factor_range(isl::map factor) const;
-  inline isl::map intersect_params(isl::set params) const;
-  inline isl::map intersect_range(isl::set set) const;
-  inline isl::map intersect_range_factor_range(isl::map factor) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_bijective() const;
-  inline isl::boolean is_disjoint(const isl::map &map2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::map &map2) const;
-  inline isl::boolean is_identity() const;
-  inline isl::boolean is_injective() const;
-  inline isl::boolean is_product() const;
-  inline isl::boolean is_single_valued() const;
-  inline isl::boolean is_strict_subset(const isl::map &map2) const;
-  inline isl::boolean is_subset(const isl::map &map2) const;
+  inline map gist(map context) const;
+  inline map gist_basic_map(basic_map context) const;
+  inline map gist_domain(set context) const;
+  inline map gist_params(set context) const;
+  inline map gist_range(set context) const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  inline boolean has_dim_name(isl::dim type, unsigned int pos) const;
+  inline boolean has_equal_space(const map &map2) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline boolean has_tuple_name(isl::dim type) const;
+  static inline map identity(space dim);
+  inline map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+  inline map intersect(map map2) const;
+  inline map intersect_domain(set set) const;
+  inline map intersect_domain_factor_range(map factor) const;
+  inline map intersect_params(set params) const;
+  inline map intersect_range(set set) const;
+  inline map intersect_range_factor_range(map factor) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_bijective() const;
+  inline boolean is_disjoint(const map &map2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const map &map2) const;
+  inline boolean is_identity() const;
+  inline boolean is_injective() const;
+  inline boolean is_product() const;
+  inline boolean is_single_valued() const;
+  inline boolean is_strict_subset(const map &map2) const;
+  inline boolean is_subset(const map &map2) const;
   inline int is_translation() const;
-  static inline isl::map lex_ge(isl::space set_dim);
-  static inline isl::map lex_ge_first(isl::space dim, unsigned int n);
-  inline isl::map lex_ge_map(isl::map map2) const;
-  static inline isl::map lex_gt(isl::space set_dim);
-  static inline isl::map lex_gt_first(isl::space dim, unsigned int n);
-  inline isl::map lex_gt_map(isl::map map2) const;
-  static inline isl::map lex_le(isl::space set_dim);
-  static inline isl::map lex_le_first(isl::space dim, unsigned int n);
-  inline isl::map lex_le_map(isl::map map2) const;
-  static inline isl::map lex_lt(isl::space set_dim);
-  static inline isl::map lex_lt_first(isl::space dim, unsigned int n);
-  inline isl::map lex_lt_map(isl::map map2) const;
-  inline isl::map lexmax() const;
-  inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
-  inline isl::map lexmin() const;
-  inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
-  inline isl::map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  static inline map lex_ge(space set_dim);
+  static inline map lex_ge_first(space dim, unsigned int n);
+  inline map lex_ge_map(map map2) const;
+  static inline map lex_gt(space set_dim);
+  static inline map lex_gt_first(space dim, unsigned int n);
+  inline map lex_gt_map(map map2) const;
+  static inline map lex_le(space set_dim);
+  static inline map lex_le_first(space dim, unsigned int n);
+  inline map lex_le_map(map map2) const;
+  static inline map lex_lt(space set_dim);
+  static inline map lex_lt_first(space dim, unsigned int n);
+  inline map lex_lt_map(map map2) const;
+  inline map lexmax() const;
+  inline pw_multi_aff lexmax_pw_multi_aff() const;
+  inline map lexmin() const;
+  inline pw_multi_aff lexmin_pw_multi_aff() const;
+  inline map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
+  inline map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
   inline int n_basic_map() const;
-  static inline isl::map nat_universe(isl::space dim);
-  inline isl::map neg() const;
-  inline isl::map oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::map order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::map order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::map order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline isl::set params() const;
-  inline isl::val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
-  inline isl::boolean plain_is_empty() const;
-  inline isl::boolean plain_is_equal(const isl::map &map2) const;
-  inline isl::boolean plain_is_injective() const;
-  inline isl::boolean plain_is_single_valued() const;
-  inline isl::boolean plain_is_universe() const;
-  inline isl::basic_map plain_unshifted_simple_hull() const;
-  inline isl::basic_map polyhedral_hull() const;
-  inline isl::map preimage_domain_multi_aff(isl::multi_aff ma) const;
-  inline isl::map preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const;
-  inline isl::map preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::map preimage_range_multi_aff(isl::multi_aff ma) const;
-  inline isl::map preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::map product(isl::map map2) const;
-  inline isl::map project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set range() const;
-  inline isl::map range_curry() const;
-  inline isl::map range_factor_domain() const;
-  inline isl::map range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  inline isl::map range_map() const;
-  inline isl::map range_product(isl::map map2) const;
-  inline isl::map remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::map remove_divs() const;
-  inline isl::map remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::map remove_redundancies() const;
-  inline isl::map remove_unknown_divs() const;
-  inline isl::map reset_tuple_id(isl::dim type) const;
-  inline isl::map reset_user() const;
-  inline isl::map reverse() const;
-  inline isl::basic_map sample() const;
-  inline isl::map set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::map set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::map set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::basic_map simple_hull() const;
-  inline isl::map subtract(isl::map map2) const;
-  inline isl::map subtract_domain(isl::set dom) const;
-  inline isl::map subtract_range(isl::set dom) const;
-  inline isl::map sum(isl::map map2) const;
-  inline isl::map uncurry() const;
-  inline isl::map unite(isl::map map2) const;
-  static inline isl::map universe(isl::space space);
-  inline isl::basic_map unshifted_simple_hull() const;
-  inline isl::basic_map unshifted_simple_hull_from_map_list(isl::map_list list) const;
-  inline isl::map upper_bound_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::set wrap() const;
-  inline isl::map zip() const;
+  static inline map nat_universe(space dim);
+  inline map neg() const;
+  inline map oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline map order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline map order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline map order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline set params() const;
+  inline val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
+  inline boolean plain_is_empty() const;
+  inline boolean plain_is_equal(const map &map2) const;
+  inline boolean plain_is_injective() const;
+  inline boolean plain_is_single_valued() const;
+  inline boolean plain_is_universe() const;
+  inline basic_map plain_unshifted_simple_hull() const;
+  inline basic_map polyhedral_hull() const;
+  inline map preimage_domain_multi_aff(multi_aff ma) const;
+  inline map preimage_domain_multi_pw_aff(multi_pw_aff mpa) const;
+  inline map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
+  inline map preimage_range_multi_aff(multi_aff ma) const;
+  inline map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
+  inline map product(map map2) const;
+  inline map project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set range() const;
+  inline map range_curry() const;
+  inline map range_factor_domain() const;
+  inline map range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  inline map range_map() const;
+  inline map range_product(map map2) const;
+  inline map remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline map remove_divs() const;
+  inline map remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline map remove_redundancies() const;
+  inline map remove_unknown_divs() const;
+  inline map reset_tuple_id(isl::dim type) const;
+  inline map reset_user() const;
+  inline map reverse() const;
+  inline basic_map sample() const;
+  inline map set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline map set_tuple_id(isl::dim type, id id) const;
+  inline map set_tuple_name(isl::dim type, const std::string &s) const;
+  inline basic_map simple_hull() const;
+  inline map subtract(map map2) const;
+  inline map subtract_domain(set dom) const;
+  inline map subtract_range(set dom) const;
+  inline map sum(map map2) const;
+  inline map uncurry() const;
+  inline map unite(map map2) const;
+  static inline map universe(space space);
+  inline basic_map unshifted_simple_hull() const;
+  inline basic_map unshifted_simple_hull_from_map_list(map_list list) const;
+  inline map upper_bound_si(isl::dim type, unsigned int pos, int value) const;
+  inline set wrap() const;
+  inline map zip() const;
 };
 
 // declarations for isl::map_list
-inline isl::map_list manage(__isl_take isl_map_list *ptr);
-inline isl::map_list manage_copy(__isl_keep isl_map_list *ptr);
+inline map_list manage(__isl_take isl_map_list *ptr);
+inline map_list manage_copy(__isl_keep isl_map_list *ptr);
 
 class map_list {
-  friend inline isl::map_list manage(__isl_take isl_map_list *ptr);
-  friend inline isl::map_list manage_copy(__isl_keep isl_map_list *ptr);
+  friend inline map_list manage(__isl_take isl_map_list *ptr);
+  friend inline map_list manage_copy(__isl_keep isl_map_list *ptr);
 
   isl_map_list *ptr = nullptr;
 
@@ -1426,9 +1426,9 @@ class map_list {
 
 public:
   inline /* implicit */ map_list();
-  inline /* implicit */ map_list(const isl::map_list &obj);
+  inline /* implicit */ map_list(const map_list &obj);
   inline /* implicit */ map_list(std::nullptr_t);
-  inline isl::map_list &operator=(isl::map_list obj);
+  inline map_list &operator=(map_list obj);
   inline ~map_list();
   inline __isl_give isl_map_list *copy() const &;
   inline __isl_give isl_map_list *copy() && = delete;
@@ -1436,32 +1436,32 @@ public:
   inline __isl_give isl_map_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::map_list add(isl::map el) const;
-  static inline isl::map_list alloc(isl::ctx ctx, int n);
-  inline isl::map_list concat(isl::map_list list2) const;
-  inline isl::map_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::map)> &fn) const;
-  static inline isl::map_list from_map(isl::map el);
-  inline isl::map get_at(int index) const;
-  inline isl::map get_map(int index) const;
-  inline isl::map_list insert(unsigned int pos, isl::map el) const;
+  inline map_list add(map el) const;
+  static inline map_list alloc(ctx ctx, int n);
+  inline map_list concat(map_list list2) const;
+  inline map_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(map)> &fn) const;
+  static inline map_list from_map(map el);
+  inline map get_at(int index) const;
+  inline map get_map(int index) const;
+  inline map_list insert(unsigned int pos, map el) const;
   inline int n_map() const;
-  inline isl::map_list reverse() const;
-  inline isl::map_list set_map(int index, isl::map el) const;
+  inline map_list reverse() const;
+  inline map_list set_map(int index, map el) const;
   inline int size() const;
-  inline isl::map_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline map_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::mat
-inline isl::mat manage(__isl_take isl_mat *ptr);
-inline isl::mat manage_copy(__isl_keep isl_mat *ptr);
+inline mat manage(__isl_take isl_mat *ptr);
+inline mat manage_copy(__isl_keep isl_mat *ptr);
 
 class mat {
-  friend inline isl::mat manage(__isl_take isl_mat *ptr);
-  friend inline isl::mat manage_copy(__isl_keep isl_mat *ptr);
+  friend inline mat manage(__isl_take isl_mat *ptr);
+  friend inline mat manage_copy(__isl_keep isl_mat *ptr);
 
   isl_mat *ptr = nullptr;
 
@@ -1469,9 +1469,9 @@ class mat {
 
 public:
   inline /* implicit */ mat();
-  inline /* implicit */ mat(const isl::mat &obj);
+  inline /* implicit */ mat(const mat &obj);
   inline /* implicit */ mat(std::nullptr_t);
-  inline isl::mat &operator=(isl::mat obj);
+  inline mat &operator=(mat obj);
   inline ~mat();
   inline __isl_give isl_mat *copy() const &;
   inline __isl_give isl_mat *copy() && = delete;
@@ -1479,58 +1479,58 @@ public:
   inline __isl_give isl_mat *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::mat add_rows(unsigned int n) const;
-  inline isl::mat add_zero_cols(unsigned int n) const;
-  inline isl::mat add_zero_rows(unsigned int n) const;
-  inline isl::mat aff_direct_sum(isl::mat right) const;
-  static inline isl::mat alloc(isl::ctx ctx, unsigned int n_row, unsigned int n_col);
+  inline mat add_rows(unsigned int n) const;
+  inline mat add_zero_cols(unsigned int n) const;
+  inline mat add_zero_rows(unsigned int n) const;
+  inline mat aff_direct_sum(mat right) const;
+  static inline mat alloc(ctx ctx, unsigned int n_row, unsigned int n_col);
   inline int cols() const;
-  inline isl::mat concat(isl::mat bot) const;
-  inline isl::mat diagonal(isl::mat mat2) const;
-  inline isl::mat drop_cols(unsigned int col, unsigned int n) const;
-  inline isl::mat drop_rows(unsigned int row, unsigned int n) const;
-  static inline isl::mat from_row_vec(isl::vec vec);
-  inline isl::val get_element_val(int row, int col) const;
-  inline isl::boolean has_linearly_independent_rows(const isl::mat &mat2) const;
+  inline mat concat(mat bot) const;
+  inline mat diagonal(mat mat2) const;
+  inline mat drop_cols(unsigned int col, unsigned int n) const;
+  inline mat drop_rows(unsigned int row, unsigned int n) const;
+  static inline mat from_row_vec(vec vec);
+  inline val get_element_val(int row, int col) const;
+  inline boolean has_linearly_independent_rows(const mat &mat2) const;
   inline int initial_non_zero_cols() const;
-  inline isl::mat insert_cols(unsigned int col, unsigned int n) const;
-  inline isl::mat insert_rows(unsigned int row, unsigned int n) const;
-  inline isl::mat insert_zero_cols(unsigned int first, unsigned int n) const;
-  inline isl::mat insert_zero_rows(unsigned int row, unsigned int n) const;
-  inline isl::mat inverse_product(isl::mat right) const;
-  inline isl::boolean is_equal(const isl::mat &mat2) const;
-  inline isl::mat lin_to_aff() const;
-  inline isl::mat move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const;
-  inline isl::mat normalize() const;
-  inline isl::mat normalize_row(int row) const;
-  inline isl::mat product(isl::mat right) const;
+  inline mat insert_cols(unsigned int col, unsigned int n) const;
+  inline mat insert_rows(unsigned int row, unsigned int n) const;
+  inline mat insert_zero_cols(unsigned int first, unsigned int n) const;
+  inline mat insert_zero_rows(unsigned int row, unsigned int n) const;
+  inline mat inverse_product(mat right) const;
+  inline boolean is_equal(const mat &mat2) const;
+  inline mat lin_to_aff() const;
+  inline mat move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const;
+  inline mat normalize() const;
+  inline mat normalize_row(int row) const;
+  inline mat product(mat right) const;
   inline int rank() const;
-  inline isl::mat right_inverse() const;
-  inline isl::mat right_kernel() const;
-  inline isl::mat row_basis() const;
-  inline isl::mat row_basis_extension(isl::mat mat2) const;
+  inline mat right_inverse() const;
+  inline mat right_kernel() const;
+  inline mat row_basis() const;
+  inline mat row_basis_extension(mat mat2) const;
   inline int rows() const;
-  inline isl::mat set_element_si(int row, int col, int v) const;
-  inline isl::mat set_element_val(int row, int col, isl::val v) const;
-  inline isl::mat swap_cols(unsigned int i, unsigned int j) const;
-  inline isl::mat swap_rows(unsigned int i, unsigned int j) const;
-  inline isl::mat transpose() const;
-  inline isl::mat unimodular_complete(int row) const;
-  inline isl::mat vec_concat(isl::vec bot) const;
-  inline isl::vec vec_inverse_product(isl::vec vec) const;
-  inline isl::vec vec_product(isl::vec vec) const;
+  inline mat set_element_si(int row, int col, int v) const;
+  inline mat set_element_val(int row, int col, val v) const;
+  inline mat swap_cols(unsigned int i, unsigned int j) const;
+  inline mat swap_rows(unsigned int i, unsigned int j) const;
+  inline mat transpose() const;
+  inline mat unimodular_complete(int row) const;
+  inline mat vec_concat(vec bot) const;
+  inline vec vec_inverse_product(vec vec) const;
+  inline vec vec_product(vec vec) const;
 };
 
 // declarations for isl::multi_aff
-inline isl::multi_aff manage(__isl_take isl_multi_aff *ptr);
-inline isl::multi_aff manage_copy(__isl_keep isl_multi_aff *ptr);
+inline multi_aff manage(__isl_take isl_multi_aff *ptr);
+inline multi_aff manage_copy(__isl_keep isl_multi_aff *ptr);
 
 class multi_aff {
-  friend inline isl::multi_aff manage(__isl_take isl_multi_aff *ptr);
-  friend inline isl::multi_aff manage_copy(__isl_keep isl_multi_aff *ptr);
+  friend inline multi_aff manage(__isl_take isl_multi_aff *ptr);
+  friend inline multi_aff manage_copy(__isl_keep isl_multi_aff *ptr);
 
   isl_multi_aff *ptr = nullptr;
 
@@ -1538,11 +1538,11 @@ class multi_aff {
 
 public:
   inline /* implicit */ multi_aff();
-  inline /* implicit */ multi_aff(const isl::multi_aff &obj);
+  inline /* implicit */ multi_aff(const multi_aff &obj);
   inline /* implicit */ multi_aff(std::nullptr_t);
-  inline /* implicit */ multi_aff(isl::aff aff);
-  inline explicit multi_aff(isl::ctx ctx, const std::string &str);
-  inline isl::multi_aff &operator=(isl::multi_aff obj);
+  inline /* implicit */ multi_aff(aff aff);
+  inline explicit multi_aff(ctx ctx, const std::string &str);
+  inline multi_aff &operator=(multi_aff obj);
   inline ~multi_aff();
   inline __isl_give isl_multi_aff *copy() const &;
   inline __isl_give isl_multi_aff *copy() && = delete;
@@ -1550,80 +1550,80 @@ public:
   inline __isl_give isl_multi_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::multi_aff add(isl::multi_aff multi2) const;
-  inline isl::multi_aff add_dims(isl::dim type, unsigned int n) const;
-  inline isl::multi_aff align_params(isl::space model) const;
+  inline multi_aff add(multi_aff multi2) const;
+  inline multi_aff add_dims(isl::dim type, unsigned int n) const;
+  inline multi_aff align_params(space model) const;
   inline unsigned int dim(isl::dim type) const;
-  static inline isl::multi_aff domain_map(isl::space space);
-  inline isl::multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::multi_aff factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  static inline multi_aff domain_map(space space);
+  inline multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline multi_aff factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::multi_aff flat_range_product(isl::multi_aff multi2) const;
-  inline isl::multi_aff flatten_domain() const;
-  inline isl::multi_aff flatten_range() const;
-  inline isl::multi_aff floor() const;
-  static inline isl::multi_aff from_aff_list(isl::space space, isl::aff_list list);
-  inline isl::multi_aff from_range() const;
-  inline isl::aff get_aff(int pos) const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline multi_aff flat_range_product(multi_aff multi2) const;
+  inline multi_aff flatten_domain() const;
+  inline multi_aff flatten_range() const;
+  inline multi_aff floor() const;
+  static inline multi_aff from_aff_list(space space, aff_list list);
+  inline multi_aff from_range() const;
+  inline aff get_aff(int pos) const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline space get_domain_space() const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::multi_aff gist(isl::set context) const;
-  inline isl::multi_aff gist_params(isl::set context) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  static inline isl::multi_aff identity(isl::space space);
-  inline isl::multi_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::set lex_ge_set(isl::multi_aff ma2) const;
-  inline isl::set lex_gt_set(isl::multi_aff ma2) const;
-  inline isl::set lex_le_set(isl::multi_aff ma2) const;
-  inline isl::set lex_lt_set(isl::multi_aff ma2) const;
-  inline isl::multi_aff mod_multi_val(isl::multi_val mv) const;
-  inline isl::multi_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  static inline isl::multi_aff multi_val_on_space(isl::space space, isl::multi_val mv);
-  inline isl::multi_aff neg() const;
-  inline int plain_cmp(const isl::multi_aff &multi2) const;
-  inline isl::boolean plain_is_equal(const isl::multi_aff &multi2) const;
-  inline isl::multi_aff product(isl::multi_aff multi2) const;
-  inline isl::multi_aff project_domain_on_params() const;
-  static inline isl::multi_aff project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n);
-  inline isl::multi_aff pullback(isl::multi_aff ma2) const;
-  inline isl::multi_aff range_factor_domain() const;
-  inline isl::multi_aff range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  static inline isl::multi_aff range_map(isl::space space);
-  inline isl::multi_aff range_product(isl::multi_aff multi2) const;
-  inline isl::multi_aff range_splice(unsigned int pos, isl::multi_aff multi2) const;
-  inline isl::multi_aff reset_tuple_id(isl::dim type) const;
-  inline isl::multi_aff reset_user() const;
-  inline isl::multi_aff scale_down_multi_val(isl::multi_val mv) const;
-  inline isl::multi_aff scale_down_val(isl::val v) const;
-  inline isl::multi_aff scale_multi_val(isl::multi_val mv) const;
-  inline isl::multi_aff scale_val(isl::val v) const;
-  inline isl::multi_aff set_aff(int pos, isl::aff el) const;
-  inline isl::multi_aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::multi_aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::multi_aff set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::multi_aff splice(unsigned int in_pos, unsigned int out_pos, isl::multi_aff multi2) const;
-  inline isl::multi_aff sub(isl::multi_aff multi2) const;
-  static inline isl::multi_aff zero(isl::space space);
+  inline multi_aff gist(set context) const;
+  inline multi_aff gist_params(set context) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  static inline multi_aff identity(space space);
+  inline multi_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline set lex_ge_set(multi_aff ma2) const;
+  inline set lex_gt_set(multi_aff ma2) const;
+  inline set lex_le_set(multi_aff ma2) const;
+  inline set lex_lt_set(multi_aff ma2) const;
+  inline multi_aff mod_multi_val(multi_val mv) const;
+  inline multi_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  static inline multi_aff multi_val_on_space(space space, multi_val mv);
+  inline multi_aff neg() const;
+  inline int plain_cmp(const multi_aff &multi2) const;
+  inline boolean plain_is_equal(const multi_aff &multi2) const;
+  inline multi_aff product(multi_aff multi2) const;
+  inline multi_aff project_domain_on_params() const;
+  static inline multi_aff project_out_map(space space, isl::dim type, unsigned int first, unsigned int n);
+  inline multi_aff pullback(multi_aff ma2) const;
+  inline multi_aff range_factor_domain() const;
+  inline multi_aff range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  static inline multi_aff range_map(space space);
+  inline multi_aff range_product(multi_aff multi2) const;
+  inline multi_aff range_splice(unsigned int pos, multi_aff multi2) const;
+  inline multi_aff reset_tuple_id(isl::dim type) const;
+  inline multi_aff reset_user() const;
+  inline multi_aff scale_down_multi_val(multi_val mv) const;
+  inline multi_aff scale_down_val(val v) const;
+  inline multi_aff scale_multi_val(multi_val mv) const;
+  inline multi_aff scale_val(val v) const;
+  inline multi_aff set_aff(int pos, aff el) const;
+  inline multi_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline multi_aff set_tuple_id(isl::dim type, id id) const;
+  inline multi_aff set_tuple_name(isl::dim type, const std::string &s) const;
+  inline multi_aff splice(unsigned int in_pos, unsigned int out_pos, multi_aff multi2) const;
+  inline multi_aff sub(multi_aff multi2) const;
+  static inline multi_aff zero(space space);
 };
 
 // declarations for isl::multi_pw_aff
-inline isl::multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr);
-inline isl::multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr);
+inline multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr);
+inline multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr);
 
 class multi_pw_aff {
-  friend inline isl::multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr);
-  friend inline isl::multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr);
+  friend inline multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr);
+  friend inline multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr);
 
   isl_multi_pw_aff *ptr = nullptr;
 
@@ -1631,13 +1631,13 @@ class multi_pw_aff {
 
 public:
   inline /* implicit */ multi_pw_aff();
-  inline /* implicit */ multi_pw_aff(const isl::multi_pw_aff &obj);
+  inline /* implicit */ multi_pw_aff(const multi_pw_aff &obj);
   inline /* implicit */ multi_pw_aff(std::nullptr_t);
-  inline /* implicit */ multi_pw_aff(isl::multi_aff ma);
-  inline /* implicit */ multi_pw_aff(isl::pw_aff pa);
-  inline /* implicit */ multi_pw_aff(isl::pw_multi_aff pma);
-  inline explicit multi_pw_aff(isl::ctx ctx, const std::string &str);
-  inline isl::multi_pw_aff &operator=(isl::multi_pw_aff obj);
+  inline /* implicit */ multi_pw_aff(multi_aff ma);
+  inline /* implicit */ multi_pw_aff(pw_aff pa);
+  inline /* implicit */ multi_pw_aff(pw_multi_aff pma);
+  inline explicit multi_pw_aff(ctx ctx, const std::string &str);
+  inline multi_pw_aff &operator=(multi_pw_aff obj);
   inline ~multi_pw_aff();
   inline __isl_give isl_multi_pw_aff *copy() const &;
   inline __isl_give isl_multi_pw_aff *copy() && = delete;
@@ -1645,81 +1645,81 @@ public:
   inline __isl_give isl_multi_pw_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::multi_pw_aff add(isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff add_dims(isl::dim type, unsigned int n) const;
-  inline isl::multi_pw_aff align_params(isl::space model) const;
-  inline isl::multi_pw_aff coalesce() const;
+  inline multi_pw_aff add(multi_pw_aff multi2) const;
+  inline multi_pw_aff add_dims(isl::dim type, unsigned int n) const;
+  inline multi_pw_aff align_params(space model) const;
+  inline multi_pw_aff coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::set domain() const;
-  inline isl::multi_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::map eq_map(isl::multi_pw_aff mpa2) const;
-  inline isl::multi_pw_aff factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline set domain() const;
+  inline multi_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline map eq_map(multi_pw_aff mpa2) const;
+  inline multi_pw_aff factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::multi_pw_aff flat_range_product(isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff flatten_range() const;
-  static inline isl::multi_pw_aff from_pw_aff_list(isl::space space, isl::pw_aff_list list);
-  inline isl::multi_pw_aff from_range() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
+  inline multi_pw_aff flat_range_product(multi_pw_aff multi2) const;
+  inline multi_pw_aff flatten_range() const;
+  static inline multi_pw_aff from_pw_aff_list(space space, pw_aff_list list);
+  inline multi_pw_aff from_range() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline space get_domain_space() const;
   inline uint32_t get_hash() const;
-  inline isl::pw_aff get_pw_aff(int pos) const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline pw_aff get_pw_aff(int pos) const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::multi_pw_aff gist(isl::set set) const;
-  inline isl::multi_pw_aff gist_params(isl::set set) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  static inline isl::multi_pw_aff identity(isl::space space);
-  inline isl::multi_pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::multi_pw_aff intersect_domain(isl::set domain) const;
-  inline isl::multi_pw_aff intersect_params(isl::set set) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::boolean is_cst() const;
-  inline isl::boolean is_equal(const isl::multi_pw_aff &mpa2) const;
-  inline isl::map lex_gt_map(isl::multi_pw_aff mpa2) const;
-  inline isl::map lex_lt_map(isl::multi_pw_aff mpa2) const;
-  inline isl::multi_pw_aff mod_multi_val(isl::multi_val mv) const;
-  inline isl::multi_pw_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::multi_pw_aff neg() const;
-  inline isl::boolean plain_is_equal(const isl::multi_pw_aff &multi2) const;
-  inline isl::multi_pw_aff product(isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff project_domain_on_params() const;
-  inline isl::multi_pw_aff pullback(isl::multi_aff ma) const;
-  inline isl::multi_pw_aff pullback(isl::pw_multi_aff pma) const;
-  inline isl::multi_pw_aff pullback(isl::multi_pw_aff mpa2) const;
-  inline isl::multi_pw_aff range_factor_domain() const;
-  inline isl::multi_pw_aff range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  inline isl::multi_pw_aff range_product(isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff range_splice(unsigned int pos, isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff reset_tuple_id(isl::dim type) const;
-  inline isl::multi_pw_aff reset_user() const;
-  inline isl::multi_pw_aff scale_down_multi_val(isl::multi_val mv) const;
-  inline isl::multi_pw_aff scale_down_val(isl::val v) const;
-  inline isl::multi_pw_aff scale_multi_val(isl::multi_val mv) const;
-  inline isl::multi_pw_aff scale_val(isl::val v) const;
-  inline isl::multi_pw_aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::multi_pw_aff set_pw_aff(int pos, isl::pw_aff el) const;
-  inline isl::multi_pw_aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::multi_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::multi_pw_aff splice(unsigned int in_pos, unsigned int out_pos, isl::multi_pw_aff multi2) const;
-  inline isl::multi_pw_aff sub(isl::multi_pw_aff multi2) const;
-  static inline isl::multi_pw_aff zero(isl::space space);
+  inline multi_pw_aff gist(set set) const;
+  inline multi_pw_aff gist_params(set set) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  static inline multi_pw_aff identity(space space);
+  inline multi_pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline multi_pw_aff intersect_domain(set domain) const;
+  inline multi_pw_aff intersect_params(set set) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline boolean is_cst() const;
+  inline boolean is_equal(const multi_pw_aff &mpa2) const;
+  inline map lex_gt_map(multi_pw_aff mpa2) const;
+  inline map lex_lt_map(multi_pw_aff mpa2) const;
+  inline multi_pw_aff mod_multi_val(multi_val mv) const;
+  inline multi_pw_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline multi_pw_aff neg() const;
+  inline boolean plain_is_equal(const multi_pw_aff &multi2) const;
+  inline multi_pw_aff product(multi_pw_aff multi2) const;
+  inline multi_pw_aff project_domain_on_params() const;
+  inline multi_pw_aff pullback(multi_aff ma) const;
+  inline multi_pw_aff pullback(pw_multi_aff pma) const;
+  inline multi_pw_aff pullback(multi_pw_aff mpa2) const;
+  inline multi_pw_aff range_factor_domain() const;
+  inline multi_pw_aff range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  inline multi_pw_aff range_product(multi_pw_aff multi2) const;
+  inline multi_pw_aff range_splice(unsigned int pos, multi_pw_aff multi2) const;
+  inline multi_pw_aff reset_tuple_id(isl::dim type) const;
+  inline multi_pw_aff reset_user() const;
+  inline multi_pw_aff scale_down_multi_val(multi_val mv) const;
+  inline multi_pw_aff scale_down_val(val v) const;
+  inline multi_pw_aff scale_multi_val(multi_val mv) const;
+  inline multi_pw_aff scale_val(val v) const;
+  inline multi_pw_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline multi_pw_aff set_pw_aff(int pos, pw_aff el) const;
+  inline multi_pw_aff set_tuple_id(isl::dim type, id id) const;
+  inline multi_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
+  inline multi_pw_aff splice(unsigned int in_pos, unsigned int out_pos, multi_pw_aff multi2) const;
+  inline multi_pw_aff sub(multi_pw_aff multi2) const;
+  static inline multi_pw_aff zero(space space);
 };
 
 // declarations for isl::multi_union_pw_aff
-inline isl::multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr);
-inline isl::multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr);
+inline multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr);
+inline multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr);
 
 class multi_union_pw_aff {
-  friend inline isl::multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr);
-  friend inline isl::multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr);
+  friend inline multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr);
+  friend inline multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr);
 
   isl_multi_union_pw_aff *ptr = nullptr;
 
@@ -1727,13 +1727,13 @@ class multi_union_pw_aff {
 
 public:
   inline /* implicit */ multi_union_pw_aff();
-  inline /* implicit */ multi_union_pw_aff(const isl::multi_union_pw_aff &obj);
+  inline /* implicit */ multi_union_pw_aff(const multi_union_pw_aff &obj);
   inline /* implicit */ multi_union_pw_aff(std::nullptr_t);
-  inline /* implicit */ multi_union_pw_aff(isl::union_pw_aff upa);
-  inline /* implicit */ multi_union_pw_aff(isl::multi_pw_aff mpa);
-  inline explicit multi_union_pw_aff(isl::union_pw_multi_aff upma);
-  inline explicit multi_union_pw_aff(isl::ctx ctx, const std::string &str);
-  inline isl::multi_union_pw_aff &operator=(isl::multi_union_pw_aff obj);
+  inline /* implicit */ multi_union_pw_aff(union_pw_aff upa);
+  inline /* implicit */ multi_union_pw_aff(multi_pw_aff mpa);
+  inline explicit multi_union_pw_aff(union_pw_multi_aff upma);
+  inline explicit multi_union_pw_aff(ctx ctx, const std::string &str);
+  inline multi_union_pw_aff &operator=(multi_union_pw_aff obj);
   inline ~multi_union_pw_aff();
   inline __isl_give isl_multi_union_pw_aff *copy() const &;
   inline __isl_give isl_multi_union_pw_aff *copy() && = delete;
@@ -1741,80 +1741,80 @@ public:
   inline __isl_give isl_multi_union_pw_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::multi_union_pw_aff add(isl::multi_union_pw_aff multi2) const;
-  inline isl::multi_union_pw_aff align_params(isl::space model) const;
-  inline isl::union_pw_aff apply_aff(isl::aff aff) const;
-  inline isl::union_pw_aff apply_pw_aff(isl::pw_aff pa) const;
-  inline isl::multi_union_pw_aff apply_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::multi_union_pw_aff coalesce() const;
+  inline multi_union_pw_aff add(multi_union_pw_aff multi2) const;
+  inline multi_union_pw_aff align_params(space model) const;
+  inline union_pw_aff apply_aff(aff aff) const;
+  inline union_pw_aff apply_pw_aff(pw_aff pa) const;
+  inline multi_union_pw_aff apply_pw_multi_aff(pw_multi_aff pma) const;
+  inline multi_union_pw_aff coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::union_set domain() const;
-  inline isl::multi_union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::multi_pw_aff extract_multi_pw_aff(isl::space space) const;
-  inline isl::multi_union_pw_aff factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline union_set domain() const;
+  inline multi_union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline multi_pw_aff extract_multi_pw_aff(space space) const;
+  inline multi_union_pw_aff factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::multi_union_pw_aff flat_range_product(isl::multi_union_pw_aff multi2) const;
-  inline isl::multi_union_pw_aff flatten_range() const;
-  inline isl::multi_union_pw_aff floor() const;
-  static inline isl::multi_union_pw_aff from_multi_aff(isl::multi_aff ma);
-  inline isl::multi_union_pw_aff from_range() const;
-  static inline isl::multi_union_pw_aff from_union_map(isl::union_map umap);
-  static inline isl::multi_union_pw_aff from_union_pw_aff_list(isl::space space, isl::union_pw_aff_list list);
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline multi_union_pw_aff flat_range_product(multi_union_pw_aff multi2) const;
+  inline multi_union_pw_aff flatten_range() const;
+  inline multi_union_pw_aff floor() const;
+  static inline multi_union_pw_aff from_multi_aff(multi_aff ma);
+  inline multi_union_pw_aff from_range() const;
+  static inline multi_union_pw_aff from_union_map(union_map umap);
+  static inline multi_union_pw_aff from_union_pw_aff_list(space space, union_pw_aff_list list);
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline space get_domain_space() const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::union_pw_aff get_union_pw_aff(int pos) const;
-  inline isl::multi_union_pw_aff gist(isl::union_set context) const;
-  inline isl::multi_union_pw_aff gist_params(isl::set context) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::multi_union_pw_aff intersect_domain(isl::union_set uset) const;
-  inline isl::multi_union_pw_aff intersect_params(isl::set params) const;
-  inline isl::multi_union_pw_aff intersect_range(isl::set set) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::multi_val max_multi_val() const;
-  inline isl::multi_val min_multi_val() const;
-  inline isl::multi_union_pw_aff mod_multi_val(isl::multi_val mv) const;
-  static inline isl::multi_union_pw_aff multi_aff_on_domain(isl::union_set domain, isl::multi_aff ma);
-  static inline isl::multi_union_pw_aff multi_val_on_domain(isl::union_set domain, isl::multi_val mv);
-  inline isl::multi_union_pw_aff neg() const;
-  inline isl::boolean plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
-  inline isl::multi_union_pw_aff pullback(isl::union_pw_multi_aff upma) const;
-  static inline isl::multi_union_pw_aff pw_multi_aff_on_domain(isl::union_set domain, isl::pw_multi_aff pma);
-  inline isl::multi_union_pw_aff range_factor_domain() const;
-  inline isl::multi_union_pw_aff range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  inline isl::multi_union_pw_aff range_product(isl::multi_union_pw_aff multi2) const;
-  inline isl::multi_union_pw_aff range_splice(unsigned int pos, isl::multi_union_pw_aff multi2) const;
-  inline isl::multi_union_pw_aff reset_tuple_id(isl::dim type) const;
-  inline isl::multi_union_pw_aff reset_user() const;
-  inline isl::multi_union_pw_aff scale_down_multi_val(isl::multi_val mv) const;
-  inline isl::multi_union_pw_aff scale_down_val(isl::val v) const;
-  inline isl::multi_union_pw_aff scale_multi_val(isl::multi_val mv) const;
-  inline isl::multi_union_pw_aff scale_val(isl::val v) const;
-  inline isl::multi_union_pw_aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::multi_union_pw_aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::multi_union_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::multi_union_pw_aff set_union_pw_aff(int pos, isl::union_pw_aff el) const;
-  inline isl::multi_union_pw_aff sub(isl::multi_union_pw_aff multi2) const;
-  inline isl::multi_union_pw_aff union_add(isl::multi_union_pw_aff mupa2) const;
-  static inline isl::multi_union_pw_aff zero(isl::space space);
-  inline isl::union_set zero_union_set() const;
+  inline union_pw_aff get_union_pw_aff(int pos) const;
+  inline multi_union_pw_aff gist(union_set context) const;
+  inline multi_union_pw_aff gist_params(set context) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline multi_union_pw_aff intersect_domain(union_set uset) const;
+  inline multi_union_pw_aff intersect_params(set params) const;
+  inline multi_union_pw_aff intersect_range(set set) const;
+  inline boolean involves_nan() const;
+  inline multi_val max_multi_val() const;
+  inline multi_val min_multi_val() const;
+  inline multi_union_pw_aff mod_multi_val(multi_val mv) const;
+  static inline multi_union_pw_aff multi_aff_on_domain(union_set domain, multi_aff ma);
+  static inline multi_union_pw_aff multi_val_on_domain(union_set domain, multi_val mv);
+  inline multi_union_pw_aff neg() const;
+  inline boolean plain_is_equal(const multi_union_pw_aff &multi2) const;
+  inline multi_union_pw_aff pullback(union_pw_multi_aff upma) const;
+  static inline multi_union_pw_aff pw_multi_aff_on_domain(union_set domain, pw_multi_aff pma);
+  inline multi_union_pw_aff range_factor_domain() const;
+  inline multi_union_pw_aff range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  inline multi_union_pw_aff range_product(multi_union_pw_aff multi2) const;
+  inline multi_union_pw_aff range_splice(unsigned int pos, multi_union_pw_aff multi2) const;
+  inline multi_union_pw_aff reset_tuple_id(isl::dim type) const;
+  inline multi_union_pw_aff reset_user() const;
+  inline multi_union_pw_aff scale_down_multi_val(multi_val mv) const;
+  inline multi_union_pw_aff scale_down_val(val v) const;
+  inline multi_union_pw_aff scale_multi_val(multi_val mv) const;
+  inline multi_union_pw_aff scale_val(val v) const;
+  inline multi_union_pw_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline multi_union_pw_aff set_tuple_id(isl::dim type, id id) const;
+  inline multi_union_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
+  inline multi_union_pw_aff set_union_pw_aff(int pos, union_pw_aff el) const;
+  inline multi_union_pw_aff sub(multi_union_pw_aff multi2) const;
+  inline multi_union_pw_aff union_add(multi_union_pw_aff mupa2) const;
+  static inline multi_union_pw_aff zero(space space);
+  inline union_set zero_union_set() const;
 };
 
 // declarations for isl::multi_val
-inline isl::multi_val manage(__isl_take isl_multi_val *ptr);
-inline isl::multi_val manage_copy(__isl_keep isl_multi_val *ptr);
+inline multi_val manage(__isl_take isl_multi_val *ptr);
+inline multi_val manage_copy(__isl_keep isl_multi_val *ptr);
 
 class multi_val {
-  friend inline isl::multi_val manage(__isl_take isl_multi_val *ptr);
-  friend inline isl::multi_val manage_copy(__isl_keep isl_multi_val *ptr);
+  friend inline multi_val manage(__isl_take isl_multi_val *ptr);
+  friend inline multi_val manage_copy(__isl_keep isl_multi_val *ptr);
 
   isl_multi_val *ptr = nullptr;
 
@@ -1822,9 +1822,9 @@ class multi_val {
 
 public:
   inline /* implicit */ multi_val();
-  inline /* implicit */ multi_val(const isl::multi_val &obj);
+  inline /* implicit */ multi_val(const multi_val &obj);
   inline /* implicit */ multi_val(std::nullptr_t);
-  inline isl::multi_val &operator=(isl::multi_val obj);
+  inline multi_val &operator=(multi_val obj);
   inline ~multi_val();
   inline __isl_give isl_multi_val *copy() const &;
   inline __isl_give isl_multi_val *copy() && = delete;
@@ -1832,67 +1832,67 @@ public:
   inline __isl_give isl_multi_val *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::multi_val add(isl::multi_val multi2) const;
-  inline isl::multi_val add_dims(isl::dim type, unsigned int n) const;
-  inline isl::multi_val add_val(isl::val v) const;
-  inline isl::multi_val align_params(isl::space model) const;
+  inline multi_val add(multi_val multi2) const;
+  inline multi_val add_dims(isl::dim type, unsigned int n) const;
+  inline multi_val add_val(val v) const;
+  inline multi_val align_params(space model) const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::multi_val drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::multi_val factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline multi_val drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline multi_val factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::multi_val flat_range_product(isl::multi_val multi2) const;
-  inline isl::multi_val flatten_range() const;
-  inline isl::multi_val from_range() const;
-  static inline isl::multi_val from_val_list(isl::space space, isl::val_list list);
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline multi_val flat_range_product(multi_val multi2) const;
+  inline multi_val flatten_range() const;
+  inline multi_val from_range() const;
+  static inline multi_val from_val_list(space space, val_list list);
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline space get_domain_space() const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::val get_val(int pos) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::multi_val insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::multi_val mod_multi_val(isl::multi_val mv) const;
-  inline isl::multi_val mod_val(isl::val v) const;
-  inline isl::multi_val neg() const;
-  inline isl::boolean plain_is_equal(const isl::multi_val &multi2) const;
-  inline isl::multi_val product(isl::multi_val multi2) const;
-  inline isl::multi_val project_domain_on_params() const;
-  inline isl::multi_val range_factor_domain() const;
-  inline isl::multi_val range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  inline isl::multi_val range_product(isl::multi_val multi2) const;
-  inline isl::multi_val range_splice(unsigned int pos, isl::multi_val multi2) const;
-  static inline isl::multi_val read_from_str(isl::ctx ctx, const std::string &str);
-  inline isl::multi_val reset_tuple_id(isl::dim type) const;
-  inline isl::multi_val reset_user() const;
-  inline isl::multi_val scale_down_multi_val(isl::multi_val mv) const;
-  inline isl::multi_val scale_down_val(isl::val v) const;
-  inline isl::multi_val scale_multi_val(isl::multi_val mv) const;
-  inline isl::multi_val scale_val(isl::val v) const;
-  inline isl::multi_val set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::multi_val set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::multi_val set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::multi_val set_val(int pos, isl::val el) const;
-  inline isl::multi_val splice(unsigned int in_pos, unsigned int out_pos, isl::multi_val multi2) const;
-  inline isl::multi_val sub(isl::multi_val multi2) const;
-  static inline isl::multi_val zero(isl::space space);
+  inline val get_val(int pos) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline multi_val insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline multi_val mod_multi_val(multi_val mv) const;
+  inline multi_val mod_val(val v) const;
+  inline multi_val neg() const;
+  inline boolean plain_is_equal(const multi_val &multi2) const;
+  inline multi_val product(multi_val multi2) const;
+  inline multi_val project_domain_on_params() const;
+  inline multi_val range_factor_domain() const;
+  inline multi_val range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  inline multi_val range_product(multi_val multi2) const;
+  inline multi_val range_splice(unsigned int pos, multi_val multi2) const;
+  static inline multi_val read_from_str(ctx ctx, const std::string &str);
+  inline multi_val reset_tuple_id(isl::dim type) const;
+  inline multi_val reset_user() const;
+  inline multi_val scale_down_multi_val(multi_val mv) const;
+  inline multi_val scale_down_val(val v) const;
+  inline multi_val scale_multi_val(multi_val mv) const;
+  inline multi_val scale_val(val v) const;
+  inline multi_val set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline multi_val set_tuple_id(isl::dim type, id id) const;
+  inline multi_val set_tuple_name(isl::dim type, const std::string &s) const;
+  inline multi_val set_val(int pos, val el) const;
+  inline multi_val splice(unsigned int in_pos, unsigned int out_pos, multi_val multi2) const;
+  inline multi_val sub(multi_val multi2) const;
+  static inline multi_val zero(space space);
 };
 
 // declarations for isl::point
-inline isl::point manage(__isl_take isl_point *ptr);
-inline isl::point manage_copy(__isl_keep isl_point *ptr);
+inline point manage(__isl_take isl_point *ptr);
+inline point manage_copy(__isl_keep isl_point *ptr);
 
 class point {
-  friend inline isl::point manage(__isl_take isl_point *ptr);
-  friend inline isl::point manage_copy(__isl_keep isl_point *ptr);
+  friend inline point manage(__isl_take isl_point *ptr);
+  friend inline point manage_copy(__isl_keep isl_point *ptr);
 
   isl_point *ptr = nullptr;
 
@@ -1900,10 +1900,10 @@ class point {
 
 public:
   inline /* implicit */ point();
-  inline /* implicit */ point(const isl::point &obj);
+  inline /* implicit */ point(const point &obj);
   inline /* implicit */ point(std::nullptr_t);
-  inline explicit point(isl::space dim);
-  inline isl::point &operator=(isl::point obj);
+  inline explicit point(space dim);
+  inline point &operator=(point obj);
   inline ~point();
   inline __isl_give isl_point *copy() const &;
   inline __isl_give isl_point *copy() && = delete;
@@ -1911,24 +1911,24 @@ public:
   inline __isl_give isl_point *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::point add_ui(isl::dim type, int pos, unsigned int val) const;
-  inline isl::val get_coordinate_val(isl::dim type, int pos) const;
-  inline isl::space get_space() const;
-  inline isl::point set_coordinate_val(isl::dim type, int pos, isl::val v) const;
-  inline isl::point sub_ui(isl::dim type, int pos, unsigned int val) const;
+  inline point add_ui(isl::dim type, int pos, unsigned int val) const;
+  inline val get_coordinate_val(isl::dim type, int pos) const;
+  inline space get_space() const;
+  inline point set_coordinate_val(isl::dim type, int pos, val v) const;
+  inline point sub_ui(isl::dim type, int pos, unsigned int val) const;
 };
 
 // declarations for isl::pw_aff
-inline isl::pw_aff manage(__isl_take isl_pw_aff *ptr);
-inline isl::pw_aff manage_copy(__isl_keep isl_pw_aff *ptr);
+inline pw_aff manage(__isl_take isl_pw_aff *ptr);
+inline pw_aff manage_copy(__isl_keep isl_pw_aff *ptr);
 
 class pw_aff {
-  friend inline isl::pw_aff manage(__isl_take isl_pw_aff *ptr);
-  friend inline isl::pw_aff manage_copy(__isl_keep isl_pw_aff *ptr);
+  friend inline pw_aff manage(__isl_take isl_pw_aff *ptr);
+  friend inline pw_aff manage_copy(__isl_keep isl_pw_aff *ptr);
 
   isl_pw_aff *ptr = nullptr;
 
@@ -1936,13 +1936,13 @@ class pw_aff {
 
 public:
   inline /* implicit */ pw_aff();
-  inline /* implicit */ pw_aff(const isl::pw_aff &obj);
+  inline /* implicit */ pw_aff(const pw_aff &obj);
   inline /* implicit */ pw_aff(std::nullptr_t);
-  inline /* implicit */ pw_aff(isl::aff aff);
-  inline explicit pw_aff(isl::local_space ls);
-  inline explicit pw_aff(isl::set domain, isl::val v);
-  inline explicit pw_aff(isl::ctx ctx, const std::string &str);
-  inline isl::pw_aff &operator=(isl::pw_aff obj);
+  inline /* implicit */ pw_aff(aff aff);
+  inline explicit pw_aff(local_space ls);
+  inline explicit pw_aff(set domain, val v);
+  inline explicit pw_aff(ctx ctx, const std::string &str);
+  inline pw_aff &operator=(pw_aff obj);
   inline ~pw_aff();
   inline __isl_give isl_pw_aff *copy() const &;
   inline __isl_give isl_pw_aff *copy() && = delete;
@@ -1950,97 +1950,97 @@ public:
   inline __isl_give isl_pw_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::pw_aff add(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff add_dims(isl::dim type, unsigned int n) const;
-  inline isl::pw_aff align_params(isl::space model) const;
-  static inline isl::pw_aff alloc(isl::set set, isl::aff aff);
-  inline isl::pw_aff ceil() const;
-  inline isl::pw_aff coalesce() const;
-  inline isl::pw_aff cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const;
+  inline pw_aff add(pw_aff pwaff2) const;
+  inline pw_aff add_dims(isl::dim type, unsigned int n) const;
+  inline pw_aff align_params(space model) const;
+  static inline pw_aff alloc(set set, aff aff);
+  inline pw_aff ceil() const;
+  inline pw_aff coalesce() const;
+  inline pw_aff cond(pw_aff pwaff_true, pw_aff pwaff_false) const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::pw_aff div(isl::pw_aff pa2) const;
-  inline isl::set domain() const;
-  inline isl::pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_aff drop_unused_params() const;
-  static inline isl::pw_aff empty(isl::space dim);
-  inline isl::map eq_map(isl::pw_aff pa2) const;
-  inline isl::set eq_set(isl::pw_aff pwaff2) const;
-  inline isl::val eval(isl::point pnt) const;
+  inline pw_aff div(pw_aff pa2) const;
+  inline set domain() const;
+  inline pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_aff drop_unused_params() const;
+  static inline pw_aff empty(space dim);
+  inline map eq_map(pw_aff pa2) const;
+  inline set eq_set(pw_aff pwaff2) const;
+  inline val eval(point pnt) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::pw_aff floor() const;
-  inline isl::stat foreach_piece(const std::function<isl::stat(isl::set, isl::aff)> &fn) const;
-  inline isl::pw_aff from_range() const;
-  inline isl::set ge_set(isl::pw_aff pwaff2) const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline pw_aff floor() const;
+  inline stat foreach_piece(const std::function<stat(set, aff)> &fn) const;
+  inline pw_aff from_range() const;
+  inline set ge_set(pw_aff pwaff2) const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
+  inline space get_domain_space() const;
   inline uint32_t get_hash() const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
-  inline isl::pw_aff gist(isl::set context) const;
-  inline isl::pw_aff gist_params(isl::set context) const;
-  inline isl::map gt_map(isl::pw_aff pa2) const;
-  inline isl::set gt_set(isl::pw_aff pwaff2) const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_aff intersect_domain(isl::set set) const;
-  inline isl::pw_aff intersect_params(isl::set set) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::boolean is_cst() const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::pw_aff &pa2) const;
-  inline isl::set le_set(isl::pw_aff pwaff2) const;
-  inline isl::map lt_map(isl::pw_aff pa2) const;
-  inline isl::set lt_set(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff max(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff min(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff mod(isl::val mod) const;
-  inline isl::pw_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::pw_aff mul(isl::pw_aff pwaff2) const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
+  inline pw_aff gist(set context) const;
+  inline pw_aff gist_params(set context) const;
+  inline map gt_map(pw_aff pa2) const;
+  inline set gt_set(pw_aff pwaff2) const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_aff intersect_domain(set set) const;
+  inline pw_aff intersect_params(set set) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline boolean is_cst() const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const pw_aff &pa2) const;
+  inline set le_set(pw_aff pwaff2) const;
+  inline map lt_map(pw_aff pa2) const;
+  inline set lt_set(pw_aff pwaff2) const;
+  inline pw_aff max(pw_aff pwaff2) const;
+  inline pw_aff min(pw_aff pwaff2) const;
+  inline pw_aff mod(val mod) const;
+  inline pw_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline pw_aff mul(pw_aff pwaff2) const;
   inline int n_piece() const;
-  static inline isl::pw_aff nan_on_domain(isl::local_space ls);
-  inline isl::set ne_set(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff neg() const;
-  inline isl::set non_zero_set() const;
-  inline isl::set nonneg_set() const;
-  inline isl::set params() const;
-  inline int plain_cmp(const isl::pw_aff &pa2) const;
-  inline isl::boolean plain_is_equal(const isl::pw_aff &pwaff2) const;
-  inline isl::set pos_set() const;
-  inline isl::pw_aff project_domain_on_params() const;
-  inline isl::pw_aff pullback(isl::multi_aff ma) const;
-  inline isl::pw_aff pullback(isl::pw_multi_aff pma) const;
-  inline isl::pw_aff pullback(isl::multi_pw_aff mpa) const;
-  inline isl::pw_aff reset_tuple_id(isl::dim type) const;
-  inline isl::pw_aff reset_user() const;
-  inline isl::pw_aff scale(isl::val v) const;
-  inline isl::pw_aff scale_down(isl::val f) const;
-  inline isl::pw_aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::pw_aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::pw_aff sub(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff subtract_domain(isl::set set) const;
-  inline isl::pw_aff tdiv_q(isl::pw_aff pa2) const;
-  inline isl::pw_aff tdiv_r(isl::pw_aff pa2) const;
-  inline isl::pw_aff union_add(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff union_max(isl::pw_aff pwaff2) const;
-  inline isl::pw_aff union_min(isl::pw_aff pwaff2) const;
-  static inline isl::pw_aff var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos);
-  inline isl::set zero_set() const;
+  static inline pw_aff nan_on_domain(local_space ls);
+  inline set ne_set(pw_aff pwaff2) const;
+  inline pw_aff neg() const;
+  inline set non_zero_set() const;
+  inline set nonneg_set() const;
+  inline set params() const;
+  inline int plain_cmp(const pw_aff &pa2) const;
+  inline boolean plain_is_equal(const pw_aff &pwaff2) const;
+  inline set pos_set() const;
+  inline pw_aff project_domain_on_params() const;
+  inline pw_aff pullback(multi_aff ma) const;
+  inline pw_aff pullback(pw_multi_aff pma) const;
+  inline pw_aff pullback(multi_pw_aff mpa) const;
+  inline pw_aff reset_tuple_id(isl::dim type) const;
+  inline pw_aff reset_user() const;
+  inline pw_aff scale(val v) const;
+  inline pw_aff scale_down(val f) const;
+  inline pw_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline pw_aff set_tuple_id(isl::dim type, id id) const;
+  inline pw_aff sub(pw_aff pwaff2) const;
+  inline pw_aff subtract_domain(set set) const;
+  inline pw_aff tdiv_q(pw_aff pa2) const;
+  inline pw_aff tdiv_r(pw_aff pa2) const;
+  inline pw_aff union_add(pw_aff pwaff2) const;
+  inline pw_aff union_max(pw_aff pwaff2) const;
+  inline pw_aff union_min(pw_aff pwaff2) const;
+  static inline pw_aff var_on_domain(local_space ls, isl::dim type, unsigned int pos);
+  inline set zero_set() const;
 };
 
 // declarations for isl::pw_aff_list
-inline isl::pw_aff_list manage(__isl_take isl_pw_aff_list *ptr);
-inline isl::pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr);
+inline pw_aff_list manage(__isl_take isl_pw_aff_list *ptr);
+inline pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr);
 
 class pw_aff_list {
-  friend inline isl::pw_aff_list manage(__isl_take isl_pw_aff_list *ptr);
-  friend inline isl::pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr);
+  friend inline pw_aff_list manage(__isl_take isl_pw_aff_list *ptr);
+  friend inline pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr);
 
   isl_pw_aff_list *ptr = nullptr;
 
@@ -2048,9 +2048,9 @@ class pw_aff_list {
 
 public:
   inline /* implicit */ pw_aff_list();
-  inline /* implicit */ pw_aff_list(const isl::pw_aff_list &obj);
+  inline /* implicit */ pw_aff_list(const pw_aff_list &obj);
   inline /* implicit */ pw_aff_list(std::nullptr_t);
-  inline isl::pw_aff_list &operator=(isl::pw_aff_list obj);
+  inline pw_aff_list &operator=(pw_aff_list obj);
   inline ~pw_aff_list();
   inline __isl_give isl_pw_aff_list *copy() const &;
   inline __isl_give isl_pw_aff_list *copy() && = delete;
@@ -2058,40 +2058,40 @@ public:
   inline __isl_give isl_pw_aff_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::pw_aff_list add(isl::pw_aff el) const;
-  static inline isl::pw_aff_list alloc(isl::ctx ctx, int n);
-  inline isl::pw_aff_list concat(isl::pw_aff_list list2) const;
-  inline isl::pw_aff_list drop(unsigned int first, unsigned int n) const;
-  inline isl::set eq_set(isl::pw_aff_list list2) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::pw_aff)> &fn) const;
-  static inline isl::pw_aff_list from_pw_aff(isl::pw_aff el);
-  inline isl::set ge_set(isl::pw_aff_list list2) const;
-  inline isl::pw_aff get_at(int index) const;
-  inline isl::pw_aff get_pw_aff(int index) const;
-  inline isl::set gt_set(isl::pw_aff_list list2) const;
-  inline isl::pw_aff_list insert(unsigned int pos, isl::pw_aff el) const;
-  inline isl::set le_set(isl::pw_aff_list list2) const;
-  inline isl::set lt_set(isl::pw_aff_list list2) const;
-  inline isl::pw_aff max() const;
-  inline isl::pw_aff min() const;
+  inline pw_aff_list add(pw_aff el) const;
+  static inline pw_aff_list alloc(ctx ctx, int n);
+  inline pw_aff_list concat(pw_aff_list list2) const;
+  inline pw_aff_list drop(unsigned int first, unsigned int n) const;
+  inline set eq_set(pw_aff_list list2) const;
+  inline stat foreach(const std::function<stat(pw_aff)> &fn) const;
+  static inline pw_aff_list from_pw_aff(pw_aff el);
+  inline set ge_set(pw_aff_list list2) const;
+  inline pw_aff get_at(int index) const;
+  inline pw_aff get_pw_aff(int index) const;
+  inline set gt_set(pw_aff_list list2) const;
+  inline pw_aff_list insert(unsigned int pos, pw_aff el) const;
+  inline set le_set(pw_aff_list list2) const;
+  inline set lt_set(pw_aff_list list2) const;
+  inline pw_aff max() const;
+  inline pw_aff min() const;
   inline int n_pw_aff() const;
-  inline isl::set ne_set(isl::pw_aff_list list2) const;
-  inline isl::pw_aff_list reverse() const;
-  inline isl::pw_aff_list set_pw_aff(int index, isl::pw_aff el) const;
+  inline set ne_set(pw_aff_list list2) const;
+  inline pw_aff_list reverse() const;
+  inline pw_aff_list set_pw_aff(int index, pw_aff el) const;
   inline int size() const;
-  inline isl::pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::pw_multi_aff
-inline isl::pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
-inline isl::pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
+inline pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
+inline pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
 
 class pw_multi_aff {
-  friend inline isl::pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
-  friend inline isl::pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
+  friend inline pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
+  friend inline pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
 
   isl_pw_multi_aff *ptr = nullptr;
 
@@ -2099,12 +2099,12 @@ class pw_multi_aff {
 
 public:
   inline /* implicit */ pw_multi_aff();
-  inline /* implicit */ pw_multi_aff(const isl::pw_multi_aff &obj);
+  inline /* implicit */ pw_multi_aff(const pw_multi_aff &obj);
   inline /* implicit */ pw_multi_aff(std::nullptr_t);
-  inline /* implicit */ pw_multi_aff(isl::multi_aff ma);
-  inline /* implicit */ pw_multi_aff(isl::pw_aff pa);
-  inline explicit pw_multi_aff(isl::ctx ctx, const std::string &str);
-  inline isl::pw_multi_aff &operator=(isl::pw_multi_aff obj);
+  inline /* implicit */ pw_multi_aff(multi_aff ma);
+  inline /* implicit */ pw_multi_aff(pw_aff pa);
+  inline explicit pw_multi_aff(ctx ctx, const std::string &str);
+  inline pw_multi_aff &operator=(pw_multi_aff obj);
   inline ~pw_multi_aff();
   inline __isl_give isl_pw_multi_aff *copy() const &;
   inline __isl_give isl_pw_multi_aff *copy() && = delete;
@@ -2112,78 +2112,78 @@ public:
   inline __isl_give isl_pw_multi_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::pw_multi_aff add(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff align_params(isl::space model) const;
-  static inline isl::pw_multi_aff alloc(isl::set set, isl::multi_aff maff);
-  inline isl::pw_multi_aff coalesce() const;
+  inline pw_multi_aff add(pw_multi_aff pma2) const;
+  inline pw_multi_aff align_params(space model) const;
+  static inline pw_multi_aff alloc(set set, multi_aff maff);
+  inline pw_multi_aff coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::set domain() const;
-  inline isl::pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_multi_aff drop_unused_params() const;
-  static inline isl::pw_multi_aff empty(isl::space space);
+  inline set domain() const;
+  inline pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_multi_aff drop_unused_params() const;
+  static inline pw_multi_aff empty(space space);
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::pw_multi_aff fix_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::pw_multi_aff flat_range_product(isl::pw_multi_aff pma2) const;
-  inline isl::stat foreach_piece(const std::function<isl::stat(isl::set, isl::multi_aff)> &fn) const;
-  static inline isl::pw_multi_aff from_domain(isl::set set);
-  static inline isl::pw_multi_aff from_map(isl::map map);
-  static inline isl::pw_multi_aff from_multi_pw_aff(isl::multi_pw_aff mpa);
-  static inline isl::pw_multi_aff from_set(isl::set set);
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline pw_multi_aff fix_si(isl::dim type, unsigned int pos, int value) const;
+  inline pw_multi_aff flat_range_product(pw_multi_aff pma2) const;
+  inline stat foreach_piece(const std::function<stat(set, multi_aff)> &fn) const;
+  static inline pw_multi_aff from_domain(set set);
+  static inline pw_multi_aff from_map(map map);
+  static inline pw_multi_aff from_multi_pw_aff(multi_pw_aff mpa);
+  static inline pw_multi_aff from_set(set set);
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::space get_domain_space() const;
-  inline isl::pw_aff get_pw_aff(int pos) const;
-  inline isl::space get_space() const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline space get_domain_space() const;
+  inline pw_aff get_pw_aff(int pos) const;
+  inline space get_space() const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::pw_multi_aff gist(isl::set set) const;
-  inline isl::pw_multi_aff gist_params(isl::set set) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::boolean has_tuple_name(isl::dim type) const;
-  static inline isl::pw_multi_aff identity(isl::space space);
-  inline isl::pw_multi_aff intersect_domain(isl::set set) const;
-  inline isl::pw_multi_aff intersect_params(isl::set set) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::boolean is_equal(const isl::pw_multi_aff &pma2) const;
-  static inline isl::pw_multi_aff multi_val_on_domain(isl::set domain, isl::multi_val mv);
+  inline pw_multi_aff gist(set set) const;
+  inline pw_multi_aff gist_params(set set) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline boolean has_tuple_name(isl::dim type) const;
+  static inline pw_multi_aff identity(space space);
+  inline pw_multi_aff intersect_domain(set set) const;
+  inline pw_multi_aff intersect_params(set set) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline boolean is_equal(const pw_multi_aff &pma2) const;
+  static inline pw_multi_aff multi_val_on_domain(set domain, multi_val mv);
   inline int n_piece() const;
-  inline isl::pw_multi_aff neg() const;
-  inline isl::boolean plain_is_equal(const isl::pw_multi_aff &pma2) const;
-  inline isl::pw_multi_aff product(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff project_domain_on_params() const;
-  static inline isl::pw_multi_aff project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n);
-  inline isl::pw_multi_aff pullback(isl::multi_aff ma) const;
-  inline isl::pw_multi_aff pullback(isl::pw_multi_aff pma2) const;
-  static inline isl::pw_multi_aff range_map(isl::space space);
-  inline isl::pw_multi_aff range_product(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff reset_tuple_id(isl::dim type) const;
-  inline isl::pw_multi_aff reset_user() const;
-  inline isl::pw_multi_aff scale_down_val(isl::val v) const;
-  inline isl::pw_multi_aff scale_multi_val(isl::multi_val mv) const;
-  inline isl::pw_multi_aff scale_val(isl::val v) const;
-  inline isl::pw_multi_aff set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::pw_multi_aff set_pw_aff(unsigned int pos, isl::pw_aff pa) const;
-  inline isl::pw_multi_aff set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::pw_multi_aff sub(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff subtract_domain(isl::set set) const;
-  inline isl::pw_multi_aff union_add(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff union_lexmax(isl::pw_multi_aff pma2) const;
-  inline isl::pw_multi_aff union_lexmin(isl::pw_multi_aff pma2) const;
-  static inline isl::pw_multi_aff zero(isl::space space);
+  inline pw_multi_aff neg() const;
+  inline boolean plain_is_equal(const pw_multi_aff &pma2) const;
+  inline pw_multi_aff product(pw_multi_aff pma2) const;
+  inline pw_multi_aff project_domain_on_params() const;
+  static inline pw_multi_aff project_out_map(space space, isl::dim type, unsigned int first, unsigned int n);
+  inline pw_multi_aff pullback(multi_aff ma) const;
+  inline pw_multi_aff pullback(pw_multi_aff pma2) const;
+  static inline pw_multi_aff range_map(space space);
+  inline pw_multi_aff range_product(pw_multi_aff pma2) const;
+  inline pw_multi_aff reset_tuple_id(isl::dim type) const;
+  inline pw_multi_aff reset_user() const;
+  inline pw_multi_aff scale_down_val(val v) const;
+  inline pw_multi_aff scale_multi_val(multi_val mv) const;
+  inline pw_multi_aff scale_val(val v) const;
+  inline pw_multi_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline pw_multi_aff set_pw_aff(unsigned int pos, pw_aff pa) const;
+  inline pw_multi_aff set_tuple_id(isl::dim type, id id) const;
+  inline pw_multi_aff sub(pw_multi_aff pma2) const;
+  inline pw_multi_aff subtract_domain(set set) const;
+  inline pw_multi_aff union_add(pw_multi_aff pma2) const;
+  inline pw_multi_aff union_lexmax(pw_multi_aff pma2) const;
+  inline pw_multi_aff union_lexmin(pw_multi_aff pma2) const;
+  static inline pw_multi_aff zero(space space);
 };
 
 // declarations for isl::pw_multi_aff_list
-inline isl::pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr);
-inline isl::pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr);
+inline pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr);
+inline pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr);
 
 class pw_multi_aff_list {
-  friend inline isl::pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr);
-  friend inline isl::pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr);
+  friend inline pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr);
+  friend inline pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr);
 
   isl_pw_multi_aff_list *ptr = nullptr;
 
@@ -2191,9 +2191,9 @@ class pw_multi_aff_list {
 
 public:
   inline /* implicit */ pw_multi_aff_list();
-  inline /* implicit */ pw_multi_aff_list(const isl::pw_multi_aff_list &obj);
+  inline /* implicit */ pw_multi_aff_list(const pw_multi_aff_list &obj);
   inline /* implicit */ pw_multi_aff_list(std::nullptr_t);
-  inline isl::pw_multi_aff_list &operator=(isl::pw_multi_aff_list obj);
+  inline pw_multi_aff_list &operator=(pw_multi_aff_list obj);
   inline ~pw_multi_aff_list();
   inline __isl_give isl_pw_multi_aff_list *copy() const &;
   inline __isl_give isl_pw_multi_aff_list *copy() && = delete;
@@ -2201,32 +2201,32 @@ public:
   inline __isl_give isl_pw_multi_aff_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::pw_multi_aff_list add(isl::pw_multi_aff el) const;
-  static inline isl::pw_multi_aff_list alloc(isl::ctx ctx, int n);
-  inline isl::pw_multi_aff_list concat(isl::pw_multi_aff_list list2) const;
-  inline isl::pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const;
-  static inline isl::pw_multi_aff_list from_pw_multi_aff(isl::pw_multi_aff el);
-  inline isl::pw_multi_aff get_at(int index) const;
-  inline isl::pw_multi_aff get_pw_multi_aff(int index) const;
-  inline isl::pw_multi_aff_list insert(unsigned int pos, isl::pw_multi_aff el) const;
+  inline pw_multi_aff_list add(pw_multi_aff el) const;
+  static inline pw_multi_aff_list alloc(ctx ctx, int n);
+  inline pw_multi_aff_list concat(pw_multi_aff_list list2) const;
+  inline pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(pw_multi_aff)> &fn) const;
+  static inline pw_multi_aff_list from_pw_multi_aff(pw_multi_aff el);
+  inline pw_multi_aff get_at(int index) const;
+  inline pw_multi_aff get_pw_multi_aff(int index) const;
+  inline pw_multi_aff_list insert(unsigned int pos, pw_multi_aff el) const;
   inline int n_pw_multi_aff() const;
-  inline isl::pw_multi_aff_list reverse() const;
-  inline isl::pw_multi_aff_list set_pw_multi_aff(int index, isl::pw_multi_aff el) const;
+  inline pw_multi_aff_list reverse() const;
+  inline pw_multi_aff_list set_pw_multi_aff(int index, pw_multi_aff el) const;
   inline int size() const;
-  inline isl::pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::pw_qpolynomial
-inline isl::pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr);
-inline isl::pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr);
+inline pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr);
+inline pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr);
 
 class pw_qpolynomial {
-  friend inline isl::pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr);
-  friend inline isl::pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr);
+  friend inline pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr);
+  friend inline pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr);
 
   isl_pw_qpolynomial *ptr = nullptr;
 
@@ -2234,10 +2234,10 @@ class pw_qpolynomial {
 
 public:
   inline /* implicit */ pw_qpolynomial();
-  inline /* implicit */ pw_qpolynomial(const isl::pw_qpolynomial &obj);
+  inline /* implicit */ pw_qpolynomial(const pw_qpolynomial &obj);
   inline /* implicit */ pw_qpolynomial(std::nullptr_t);
-  inline explicit pw_qpolynomial(isl::ctx ctx, const std::string &str);
-  inline isl::pw_qpolynomial &operator=(isl::pw_qpolynomial obj);
+  inline explicit pw_qpolynomial(ctx ctx, const std::string &str);
+  inline pw_qpolynomial &operator=(pw_qpolynomial obj);
   inline ~pw_qpolynomial();
   inline __isl_give isl_pw_qpolynomial *copy() const &;
   inline __isl_give isl_pw_qpolynomial *copy() && = delete;
@@ -2245,64 +2245,64 @@ public:
   inline __isl_give isl_pw_qpolynomial *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::pw_qpolynomial add(isl::pw_qpolynomial pwqp2) const;
-  inline isl::pw_qpolynomial add_dims(isl::dim type, unsigned int n) const;
-  static inline isl::pw_qpolynomial alloc(isl::set set, isl::qpolynomial qp);
-  inline isl::pw_qpolynomial coalesce() const;
+  inline pw_qpolynomial add(pw_qpolynomial pwqp2) const;
+  inline pw_qpolynomial add_dims(isl::dim type, unsigned int n) const;
+  static inline pw_qpolynomial alloc(set set, qpolynomial qp);
+  inline pw_qpolynomial coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::set domain() const;
-  inline isl::pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_qpolynomial drop_unused_params() const;
-  inline isl::val eval(isl::point pnt) const;
+  inline set domain() const;
+  inline pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_qpolynomial drop_unused_params() const;
+  inline val eval(point pnt) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::pw_qpolynomial fix_val(isl::dim type, unsigned int n, isl::val v) const;
-  inline isl::stat foreach_piece(const std::function<isl::stat(isl::set, isl::qpolynomial)> &fn) const;
-  static inline isl::pw_qpolynomial from_pw_aff(isl::pw_aff pwaff);
-  static inline isl::pw_qpolynomial from_qpolynomial(isl::qpolynomial qp);
-  inline isl::pw_qpolynomial from_range() const;
-  inline isl::space get_domain_space() const;
-  inline isl::space get_space() const;
-  inline isl::pw_qpolynomial gist(isl::set context) const;
-  inline isl::pw_qpolynomial gist_params(isl::set context) const;
-  inline isl::boolean has_equal_space(const isl::pw_qpolynomial &pwqp2) const;
-  inline isl::pw_qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_qpolynomial intersect_domain(isl::set set) const;
-  inline isl::pw_qpolynomial intersect_params(isl::set set) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::boolean is_zero() const;
-  inline isl::val max() const;
-  inline isl::val min() const;
-  inline isl::pw_qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::pw_qpolynomial mul(isl::pw_qpolynomial pwqp2) const;
+  inline pw_qpolynomial fix_val(isl::dim type, unsigned int n, val v) const;
+  inline stat foreach_piece(const std::function<stat(set, qpolynomial)> &fn) const;
+  static inline pw_qpolynomial from_pw_aff(pw_aff pwaff);
+  static inline pw_qpolynomial from_qpolynomial(qpolynomial qp);
+  inline pw_qpolynomial from_range() const;
+  inline space get_domain_space() const;
+  inline space get_space() const;
+  inline pw_qpolynomial gist(set context) const;
+  inline pw_qpolynomial gist_params(set context) const;
+  inline boolean has_equal_space(const pw_qpolynomial &pwqp2) const;
+  inline pw_qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_qpolynomial intersect_domain(set set) const;
+  inline pw_qpolynomial intersect_params(set set) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_nan() const;
+  inline boolean is_zero() const;
+  inline val max() const;
+  inline val min() const;
+  inline pw_qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline pw_qpolynomial mul(pw_qpolynomial pwqp2) const;
   inline int n_piece() const;
-  inline isl::pw_qpolynomial neg() const;
-  inline isl::boolean plain_is_equal(const isl::pw_qpolynomial &pwqp2) const;
-  inline isl::pw_qpolynomial pow(unsigned int exponent) const;
-  inline isl::pw_qpolynomial project_domain_on_params() const;
-  inline isl::pw_qpolynomial reset_domain_space(isl::space dim) const;
-  inline isl::pw_qpolynomial reset_user() const;
-  inline isl::pw_qpolynomial scale_down_val(isl::val v) const;
-  inline isl::pw_qpolynomial scale_val(isl::val v) const;
-  inline isl::pw_qpolynomial split_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::pw_qpolynomial split_periods(int max_periods) const;
-  inline isl::pw_qpolynomial sub(isl::pw_qpolynomial pwqp2) const;
-  inline isl::pw_qpolynomial subtract_domain(isl::set set) const;
-  inline isl::pw_qpolynomial to_polynomial(int sign) const;
-  static inline isl::pw_qpolynomial zero(isl::space dim);
+  inline pw_qpolynomial neg() const;
+  inline boolean plain_is_equal(const pw_qpolynomial &pwqp2) const;
+  inline pw_qpolynomial pow(unsigned int exponent) const;
+  inline pw_qpolynomial project_domain_on_params() const;
+  inline pw_qpolynomial reset_domain_space(space dim) const;
+  inline pw_qpolynomial reset_user() const;
+  inline pw_qpolynomial scale_down_val(val v) const;
+  inline pw_qpolynomial scale_val(val v) const;
+  inline pw_qpolynomial split_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline pw_qpolynomial split_periods(int max_periods) const;
+  inline pw_qpolynomial sub(pw_qpolynomial pwqp2) const;
+  inline pw_qpolynomial subtract_domain(set set) const;
+  inline pw_qpolynomial to_polynomial(int sign) const;
+  static inline pw_qpolynomial zero(space dim);
 };
 
 // declarations for isl::pw_qpolynomial_fold_list
-inline isl::pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr);
-inline isl::pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr);
+inline pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr);
+inline pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr);
 
 class pw_qpolynomial_fold_list {
-  friend inline isl::pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr);
-  friend inline isl::pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr);
+  friend inline pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr);
+  friend inline pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr);
 
   isl_pw_qpolynomial_fold_list *ptr = nullptr;
 
@@ -2310,9 +2310,9 @@ class pw_qpolynomial_fold_list {
 
 public:
   inline /* implicit */ pw_qpolynomial_fold_list();
-  inline /* implicit */ pw_qpolynomial_fold_list(const isl::pw_qpolynomial_fold_list &obj);
+  inline /* implicit */ pw_qpolynomial_fold_list(const pw_qpolynomial_fold_list &obj);
   inline /* implicit */ pw_qpolynomial_fold_list(std::nullptr_t);
-  inline isl::pw_qpolynomial_fold_list &operator=(isl::pw_qpolynomial_fold_list obj);
+  inline pw_qpolynomial_fold_list &operator=(pw_qpolynomial_fold_list obj);
   inline ~pw_qpolynomial_fold_list();
   inline __isl_give isl_pw_qpolynomial_fold_list *copy() const &;
   inline __isl_give isl_pw_qpolynomial_fold_list *copy() && = delete;
@@ -2320,18 +2320,18 @@ public:
   inline __isl_give isl_pw_qpolynomial_fold_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
 };
 
 // declarations for isl::pw_qpolynomial_list
-inline isl::pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr);
-inline isl::pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr);
+inline pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr);
+inline pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr);
 
 class pw_qpolynomial_list {
-  friend inline isl::pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr);
-  friend inline isl::pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr);
+  friend inline pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr);
+  friend inline pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr);
 
   isl_pw_qpolynomial_list *ptr = nullptr;
 
@@ -2339,9 +2339,9 @@ class pw_qpolynomial_list {
 
 public:
   inline /* implicit */ pw_qpolynomial_list();
-  inline /* implicit */ pw_qpolynomial_list(const isl::pw_qpolynomial_list &obj);
+  inline /* implicit */ pw_qpolynomial_list(const pw_qpolynomial_list &obj);
   inline /* implicit */ pw_qpolynomial_list(std::nullptr_t);
-  inline isl::pw_qpolynomial_list &operator=(isl::pw_qpolynomial_list obj);
+  inline pw_qpolynomial_list &operator=(pw_qpolynomial_list obj);
   inline ~pw_qpolynomial_list();
   inline __isl_give isl_pw_qpolynomial_list *copy() const &;
   inline __isl_give isl_pw_qpolynomial_list *copy() && = delete;
@@ -2349,32 +2349,32 @@ public:
   inline __isl_give isl_pw_qpolynomial_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::pw_qpolynomial_list add(isl::pw_qpolynomial el) const;
-  static inline isl::pw_qpolynomial_list alloc(isl::ctx ctx, int n);
-  inline isl::pw_qpolynomial_list concat(isl::pw_qpolynomial_list list2) const;
-  inline isl::pw_qpolynomial_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const;
-  static inline isl::pw_qpolynomial_list from_pw_qpolynomial(isl::pw_qpolynomial el);
-  inline isl::pw_qpolynomial get_at(int index) const;
-  inline isl::pw_qpolynomial get_pw_qpolynomial(int index) const;
-  inline isl::pw_qpolynomial_list insert(unsigned int pos, isl::pw_qpolynomial el) const;
+  inline pw_qpolynomial_list add(pw_qpolynomial el) const;
+  static inline pw_qpolynomial_list alloc(ctx ctx, int n);
+  inline pw_qpolynomial_list concat(pw_qpolynomial_list list2) const;
+  inline pw_qpolynomial_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(pw_qpolynomial)> &fn) const;
+  static inline pw_qpolynomial_list from_pw_qpolynomial(pw_qpolynomial el);
+  inline pw_qpolynomial get_at(int index) const;
+  inline pw_qpolynomial get_pw_qpolynomial(int index) const;
+  inline pw_qpolynomial_list insert(unsigned int pos, pw_qpolynomial el) const;
   inline int n_pw_qpolynomial() const;
-  inline isl::pw_qpolynomial_list reverse() const;
-  inline isl::pw_qpolynomial_list set_pw_qpolynomial(int index, isl::pw_qpolynomial el) const;
+  inline pw_qpolynomial_list reverse() const;
+  inline pw_qpolynomial_list set_pw_qpolynomial(int index, pw_qpolynomial el) const;
   inline int size() const;
-  inline isl::pw_qpolynomial_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline pw_qpolynomial_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::qpolynomial
-inline isl::qpolynomial manage(__isl_take isl_qpolynomial *ptr);
-inline isl::qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr);
+inline qpolynomial manage(__isl_take isl_qpolynomial *ptr);
+inline qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr);
 
 class qpolynomial {
-  friend inline isl::qpolynomial manage(__isl_take isl_qpolynomial *ptr);
-  friend inline isl::qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr);
+  friend inline qpolynomial manage(__isl_take isl_qpolynomial *ptr);
+  friend inline qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr);
 
   isl_qpolynomial *ptr = nullptr;
 
@@ -2382,9 +2382,9 @@ class qpolynomial {
 
 public:
   inline /* implicit */ qpolynomial();
-  inline /* implicit */ qpolynomial(const isl::qpolynomial &obj);
+  inline /* implicit */ qpolynomial(const qpolynomial &obj);
   inline /* implicit */ qpolynomial(std::nullptr_t);
-  inline isl::qpolynomial &operator=(isl::qpolynomial obj);
+  inline qpolynomial &operator=(qpolynomial obj);
   inline ~qpolynomial();
   inline __isl_give isl_qpolynomial *copy() const &;
   inline __isl_give isl_qpolynomial *copy() && = delete;
@@ -2392,58 +2392,58 @@ public:
   inline __isl_give isl_qpolynomial *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::qpolynomial add(isl::qpolynomial qp2) const;
-  inline isl::qpolynomial add_dims(isl::dim type, unsigned int n) const;
-  inline isl::qpolynomial align_params(isl::space model) const;
-  inline isl::stat as_polynomial_on_domain(const isl::basic_set &bset, const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> &fn) const;
+  inline qpolynomial add(qpolynomial qp2) const;
+  inline qpolynomial add_dims(isl::dim type, unsigned int n) const;
+  inline qpolynomial align_params(space model) const;
+  inline stat as_polynomial_on_domain(const basic_set &bset, const std::function<stat(basic_set, qpolynomial)> &fn) const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::val eval(isl::point pnt) const;
-  inline isl::stat foreach_term(const std::function<isl::stat(isl::term)> &fn) const;
-  static inline isl::qpolynomial from_aff(isl::aff aff);
-  static inline isl::qpolynomial from_constraint(isl::constraint c, isl::dim type, unsigned int pos);
-  static inline isl::qpolynomial from_term(isl::term term);
-  inline isl::val get_constant_val() const;
-  inline isl::space get_domain_space() const;
-  inline isl::space get_space() const;
-  inline isl::qpolynomial gist(isl::set context) const;
-  inline isl::qpolynomial gist_params(isl::set context) const;
-  inline isl::qpolynomial homogenize() const;
-  static inline isl::qpolynomial infty_on_domain(isl::space dim);
-  inline isl::qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_infty() const;
-  inline isl::boolean is_nan() const;
-  inline isl::boolean is_neginfty() const;
-  inline isl::boolean is_zero() const;
-  inline isl::qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::qpolynomial mul(isl::qpolynomial qp2) const;
-  static inline isl::qpolynomial nan_on_domain(isl::space dim);
-  inline isl::qpolynomial neg() const;
-  static inline isl::qpolynomial neginfty_on_domain(isl::space dim);
-  static inline isl::qpolynomial one_on_domain(isl::space dim);
-  inline isl::boolean plain_is_equal(const isl::qpolynomial &qp2) const;
-  inline isl::qpolynomial pow(unsigned int power) const;
-  inline isl::qpolynomial project_domain_on_params() const;
-  inline isl::qpolynomial scale_down_val(isl::val v) const;
-  inline isl::qpolynomial scale_val(isl::val v) const;
+  inline qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline val eval(point pnt) const;
+  inline stat foreach_term(const std::function<stat(term)> &fn) const;
+  static inline qpolynomial from_aff(aff aff);
+  static inline qpolynomial from_constraint(constraint c, isl::dim type, unsigned int pos);
+  static inline qpolynomial from_term(term term);
+  inline val get_constant_val() const;
+  inline space get_domain_space() const;
+  inline space get_space() const;
+  inline qpolynomial gist(set context) const;
+  inline qpolynomial gist_params(set context) const;
+  inline qpolynomial homogenize() const;
+  static inline qpolynomial infty_on_domain(space dim);
+  inline qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_infty() const;
+  inline boolean is_nan() const;
+  inline boolean is_neginfty() const;
+  inline boolean is_zero() const;
+  inline qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline qpolynomial mul(qpolynomial qp2) const;
+  static inline qpolynomial nan_on_domain(space dim);
+  inline qpolynomial neg() const;
+  static inline qpolynomial neginfty_on_domain(space dim);
+  static inline qpolynomial one_on_domain(space dim);
+  inline boolean plain_is_equal(const qpolynomial &qp2) const;
+  inline qpolynomial pow(unsigned int power) const;
+  inline qpolynomial project_domain_on_params() const;
+  inline qpolynomial scale_down_val(val v) const;
+  inline qpolynomial scale_val(val v) const;
   inline int sgn() const;
-  inline isl::qpolynomial sub(isl::qpolynomial qp2) const;
-  static inline isl::qpolynomial val_on_domain(isl::space space, isl::val val);
-  static inline isl::qpolynomial var_on_domain(isl::space dim, isl::dim type, unsigned int pos);
-  static inline isl::qpolynomial zero_on_domain(isl::space dim);
+  inline qpolynomial sub(qpolynomial qp2) const;
+  static inline qpolynomial val_on_domain(space space, val val);
+  static inline qpolynomial var_on_domain(space dim, isl::dim type, unsigned int pos);
+  static inline qpolynomial zero_on_domain(space dim);
 };
 
 // declarations for isl::schedule
-inline isl::schedule manage(__isl_take isl_schedule *ptr);
-inline isl::schedule manage_copy(__isl_keep isl_schedule *ptr);
+inline schedule manage(__isl_take isl_schedule *ptr);
+inline schedule manage_copy(__isl_keep isl_schedule *ptr);
 
 class schedule {
-  friend inline isl::schedule manage(__isl_take isl_schedule *ptr);
-  friend inline isl::schedule manage_copy(__isl_keep isl_schedule *ptr);
+  friend inline schedule manage(__isl_take isl_schedule *ptr);
+  friend inline schedule manage_copy(__isl_keep isl_schedule *ptr);
 
   isl_schedule *ptr = nullptr;
 
@@ -2451,10 +2451,10 @@ class schedule {
 
 public:
   inline /* implicit */ schedule();
-  inline /* implicit */ schedule(const isl::schedule &obj);
+  inline /* implicit */ schedule(const schedule &obj);
   inline /* implicit */ schedule(std::nullptr_t);
-  inline explicit schedule(isl::ctx ctx, const std::string &str);
-  inline isl::schedule &operator=(isl::schedule obj);
+  inline explicit schedule(ctx ctx, const std::string &str);
+  inline schedule &operator=(schedule obj);
   inline ~schedule();
   inline __isl_give isl_schedule *copy() const &;
   inline __isl_give isl_schedule *copy() && = delete;
@@ -2462,34 +2462,34 @@ public:
   inline __isl_give isl_schedule *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::schedule align_params(isl::space space) const;
-  static inline isl::schedule empty(isl::space space);
-  static inline isl::schedule from_domain(isl::union_set domain);
-  inline isl::union_set get_domain() const;
-  inline isl::union_map get_map() const;
-  inline isl::schedule_node get_root() const;
-  inline isl::schedule gist_domain_params(isl::set context) const;
-  inline isl::schedule insert_context(isl::set context) const;
-  inline isl::schedule insert_guard(isl::set guard) const;
-  inline isl::schedule insert_partial_schedule(isl::multi_union_pw_aff partial) const;
-  inline isl::schedule intersect_domain(isl::union_set domain) const;
-  inline isl::boolean plain_is_equal(const isl::schedule &schedule2) const;
-  inline isl::schedule pullback(isl::union_pw_multi_aff upma) const;
-  inline isl::schedule reset_user() const;
-  inline isl::schedule sequence(isl::schedule schedule2) const;
+  inline schedule align_params(space space) const;
+  static inline schedule empty(space space);
+  static inline schedule from_domain(union_set domain);
+  inline union_set get_domain() const;
+  inline union_map get_map() const;
+  inline schedule_node get_root() const;
+  inline schedule gist_domain_params(set context) const;
+  inline schedule insert_context(set context) const;
+  inline schedule insert_guard(set guard) const;
+  inline schedule insert_partial_schedule(multi_union_pw_aff partial) const;
+  inline schedule intersect_domain(union_set domain) const;
+  inline boolean plain_is_equal(const schedule &schedule2) const;
+  inline schedule pullback(union_pw_multi_aff upma) const;
+  inline schedule reset_user() const;
+  inline schedule sequence(schedule schedule2) const;
 };
 
 // declarations for isl::schedule_constraints
-inline isl::schedule_constraints manage(__isl_take isl_schedule_constraints *ptr);
-inline isl::schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr);
+inline schedule_constraints manage(__isl_take isl_schedule_constraints *ptr);
+inline schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr);
 
 class schedule_constraints {
-  friend inline isl::schedule_constraints manage(__isl_take isl_schedule_constraints *ptr);
-  friend inline isl::schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr);
+  friend inline schedule_constraints manage(__isl_take isl_schedule_constraints *ptr);
+  friend inline schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr);
 
   isl_schedule_constraints *ptr = nullptr;
 
@@ -2497,10 +2497,10 @@ class schedule_constraints {
 
 public:
   inline /* implicit */ schedule_constraints();
-  inline /* implicit */ schedule_constraints(const isl::schedule_constraints &obj);
+  inline /* implicit */ schedule_constraints(const schedule_constraints &obj);
   inline /* implicit */ schedule_constraints(std::nullptr_t);
-  inline explicit schedule_constraints(isl::ctx ctx, const std::string &str);
-  inline isl::schedule_constraints &operator=(isl::schedule_constraints obj);
+  inline explicit schedule_constraints(ctx ctx, const std::string &str);
+  inline schedule_constraints &operator=(schedule_constraints obj);
   inline ~schedule_constraints();
   inline __isl_give isl_schedule_constraints *copy() const &;
   inline __isl_give isl_schedule_constraints *copy() && = delete;
@@ -2508,34 +2508,34 @@ public:
   inline __isl_give isl_schedule_constraints *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::schedule_constraints apply(isl::union_map umap) const;
-  inline isl::schedule compute_schedule() const;
-  inline isl::union_map get_coincidence() const;
-  inline isl::union_map get_conditional_validity() const;
-  inline isl::union_map get_conditional_validity_condition() const;
-  inline isl::set get_context() const;
-  inline isl::union_set get_domain() const;
-  inline isl::union_map get_proximity() const;
-  inline isl::union_map get_validity() const;
-  static inline isl::schedule_constraints on_domain(isl::union_set domain);
-  inline isl::schedule_constraints set_coincidence(isl::union_map coincidence) const;
-  inline isl::schedule_constraints set_conditional_validity(isl::union_map condition, isl::union_map validity) const;
-  inline isl::schedule_constraints set_context(isl::set context) const;
-  inline isl::schedule_constraints set_proximity(isl::union_map proximity) const;
-  inline isl::schedule_constraints set_validity(isl::union_map validity) const;
+  inline schedule_constraints apply(union_map umap) const;
+  inline schedule compute_schedule() const;
+  inline union_map get_coincidence() const;
+  inline union_map get_conditional_validity() const;
+  inline union_map get_conditional_validity_condition() const;
+  inline set get_context() const;
+  inline union_set get_domain() const;
+  inline union_map get_proximity() const;
+  inline union_map get_validity() const;
+  static inline schedule_constraints on_domain(union_set domain);
+  inline schedule_constraints set_coincidence(union_map coincidence) const;
+  inline schedule_constraints set_conditional_validity(union_map condition, union_map validity) const;
+  inline schedule_constraints set_context(set context) const;
+  inline schedule_constraints set_proximity(union_map proximity) const;
+  inline schedule_constraints set_validity(union_map validity) const;
 };
 
 // declarations for isl::schedule_node
-inline isl::schedule_node manage(__isl_take isl_schedule_node *ptr);
-inline isl::schedule_node manage_copy(__isl_keep isl_schedule_node *ptr);
+inline schedule_node manage(__isl_take isl_schedule_node *ptr);
+inline schedule_node manage_copy(__isl_keep isl_schedule_node *ptr);
 
 class schedule_node {
-  friend inline isl::schedule_node manage(__isl_take isl_schedule_node *ptr);
-  friend inline isl::schedule_node manage_copy(__isl_keep isl_schedule_node *ptr);
+  friend inline schedule_node manage(__isl_take isl_schedule_node *ptr);
+  friend inline schedule_node manage_copy(__isl_keep isl_schedule_node *ptr);
 
   isl_schedule_node *ptr = nullptr;
 
@@ -2543,9 +2543,9 @@ class schedule_node {
 
 public:
   inline /* implicit */ schedule_node();
-  inline /* implicit */ schedule_node(const isl::schedule_node &obj);
+  inline /* implicit */ schedule_node(const schedule_node &obj);
   inline /* implicit */ schedule_node(std::nullptr_t);
-  inline isl::schedule_node &operator=(isl::schedule_node obj);
+  inline schedule_node &operator=(schedule_node obj);
   inline ~schedule_node();
   inline __isl_give isl_schedule_node *copy() const &;
   inline __isl_give isl_schedule_node *copy() && = delete;
@@ -2553,79 +2553,79 @@ public:
   inline __isl_give isl_schedule_node *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::schedule_node align_params(isl::space space) const;
-  inline isl::schedule_node ancestor(int generation) const;
-  inline isl::boolean band_member_get_coincident(int pos) const;
-  inline isl::schedule_node band_member_set_coincident(int pos, int coincident) const;
-  inline isl::schedule_node band_set_ast_build_options(isl::union_set options) const;
-  inline isl::schedule_node child(int pos) const;
-  inline isl::set context_get_context() const;
-  inline isl::schedule_node cut() const;
-  inline isl::union_set domain_get_domain() const;
-  inline isl::union_pw_multi_aff expansion_get_contraction() const;
-  inline isl::union_map expansion_get_expansion() const;
-  inline isl::union_map extension_get_extension() const;
-  inline isl::union_set filter_get_filter() const;
-  inline isl::schedule_node first_child() const;
-  inline isl::stat foreach_ancestor_top_down(const std::function<isl::stat(isl::schedule_node)> &fn) const;
-  static inline isl::schedule_node from_domain(isl::union_set domain);
-  static inline isl::schedule_node from_extension(isl::union_map extension);
-  inline int get_ancestor_child_position(const isl::schedule_node &ancestor) const;
-  inline isl::schedule_node get_child(int pos) const;
+  inline schedule_node align_params(space space) const;
+  inline schedule_node ancestor(int generation) const;
+  inline boolean band_member_get_coincident(int pos) const;
+  inline schedule_node band_member_set_coincident(int pos, int coincident) const;
+  inline schedule_node band_set_ast_build_options(union_set options) const;
+  inline schedule_node child(int pos) const;
+  inline set context_get_context() const;
+  inline schedule_node cut() const;
+  inline union_set domain_get_domain() const;
+  inline union_pw_multi_aff expansion_get_contraction() const;
+  inline union_map expansion_get_expansion() const;
+  inline union_map extension_get_extension() const;
+  inline union_set filter_get_filter() const;
+  inline schedule_node first_child() const;
+  inline stat foreach_ancestor_top_down(const std::function<stat(schedule_node)> &fn) const;
+  static inline schedule_node from_domain(union_set domain);
+  static inline schedule_node from_extension(union_map extension);
+  inline int get_ancestor_child_position(const schedule_node &ancestor) const;
+  inline schedule_node get_child(int pos) const;
   inline int get_child_position() const;
-  inline isl::union_set get_domain() const;
-  inline isl::multi_union_pw_aff get_prefix_schedule_multi_union_pw_aff() const;
-  inline isl::union_map get_prefix_schedule_relation() const;
-  inline isl::union_map get_prefix_schedule_union_map() const;
-  inline isl::union_pw_multi_aff get_prefix_schedule_union_pw_multi_aff() const;
-  inline isl::schedule get_schedule() const;
+  inline union_set get_domain() const;
+  inline multi_union_pw_aff get_prefix_schedule_multi_union_pw_aff() const;
+  inline union_map get_prefix_schedule_relation() const;
+  inline union_map get_prefix_schedule_union_map() const;
+  inline union_pw_multi_aff get_prefix_schedule_union_pw_multi_aff() const;
+  inline schedule get_schedule() const;
   inline int get_schedule_depth() const;
-  inline isl::schedule_node get_shared_ancestor(const isl::schedule_node &node2) const;
-  inline isl::union_pw_multi_aff get_subtree_contraction() const;
-  inline isl::union_map get_subtree_expansion() const;
-  inline isl::union_map get_subtree_schedule_union_map() const;
+  inline schedule_node get_shared_ancestor(const schedule_node &node2) const;
+  inline union_pw_multi_aff get_subtree_contraction() const;
+  inline union_map get_subtree_expansion() const;
+  inline union_map get_subtree_schedule_union_map() const;
   inline int get_tree_depth() const;
-  inline isl::union_set get_universe_domain() const;
-  inline isl::schedule_node graft_after(isl::schedule_node graft) const;
-  inline isl::schedule_node graft_before(isl::schedule_node graft) const;
-  inline isl::schedule_node group(isl::id group_id) const;
-  inline isl::set guard_get_guard() const;
-  inline isl::boolean has_children() const;
-  inline isl::boolean has_next_sibling() const;
-  inline isl::boolean has_parent() const;
-  inline isl::boolean has_previous_sibling() const;
-  inline isl::schedule_node insert_context(isl::set context) const;
-  inline isl::schedule_node insert_filter(isl::union_set filter) const;
-  inline isl::schedule_node insert_guard(isl::set context) const;
-  inline isl::schedule_node insert_mark(isl::id mark) const;
-  inline isl::schedule_node insert_partial_schedule(isl::multi_union_pw_aff schedule) const;
-  inline isl::schedule_node insert_sequence(isl::union_set_list filters) const;
-  inline isl::schedule_node insert_set(isl::union_set_list filters) const;
-  inline isl::boolean is_equal(const isl::schedule_node &node2) const;
-  inline isl::boolean is_subtree_anchored() const;
-  inline isl::id mark_get_id() const;
+  inline union_set get_universe_domain() const;
+  inline schedule_node graft_after(schedule_node graft) const;
+  inline schedule_node graft_before(schedule_node graft) const;
+  inline schedule_node group(id group_id) const;
+  inline set guard_get_guard() const;
+  inline boolean has_children() const;
+  inline boolean has_next_sibling() const;
+  inline boolean has_parent() const;
+  inline boolean has_previous_sibling() const;
+  inline schedule_node insert_context(set context) const;
+  inline schedule_node insert_filter(union_set filter) const;
+  inline schedule_node insert_guard(set context) const;
+  inline schedule_node insert_mark(id mark) const;
+  inline schedule_node insert_partial_schedule(multi_union_pw_aff schedule) const;
+  inline schedule_node insert_sequence(union_set_list filters) const;
+  inline schedule_node insert_set(union_set_list filters) const;
+  inline boolean is_equal(const schedule_node &node2) const;
+  inline boolean is_subtree_anchored() const;
+  inline id mark_get_id() const;
   inline int n_children() const;
-  inline isl::schedule_node next_sibling() const;
-  inline isl::schedule_node order_after(isl::union_set filter) const;
-  inline isl::schedule_node order_before(isl::union_set filter) const;
-  inline isl::schedule_node parent() const;
-  inline isl::schedule_node previous_sibling() const;
-  inline isl::schedule_node reset_user() const;
-  inline isl::schedule_node root() const;
-  inline isl::schedule_node sequence_splice_child(int pos) const;
+  inline schedule_node next_sibling() const;
+  inline schedule_node order_after(union_set filter) const;
+  inline schedule_node order_before(union_set filter) const;
+  inline schedule_node parent() const;
+  inline schedule_node previous_sibling() const;
+  inline schedule_node reset_user() const;
+  inline schedule_node root() const;
+  inline schedule_node sequence_splice_child(int pos) const;
 };
 
 // declarations for isl::set
-inline isl::set manage(__isl_take isl_set *ptr);
-inline isl::set manage_copy(__isl_keep isl_set *ptr);
+inline set manage(__isl_take isl_set *ptr);
+inline set manage_copy(__isl_keep isl_set *ptr);
 
 class set {
-  friend inline isl::set manage(__isl_take isl_set *ptr);
-  friend inline isl::set manage_copy(__isl_keep isl_set *ptr);
+  friend inline set manage(__isl_take isl_set *ptr);
+  friend inline set manage_copy(__isl_keep isl_set *ptr);
 
   isl_set *ptr = nullptr;
 
@@ -2633,13 +2633,13 @@ class set {
 
 public:
   inline /* implicit */ set();
-  inline /* implicit */ set(const isl::set &obj);
+  inline /* implicit */ set(const set &obj);
   inline /* implicit */ set(std::nullptr_t);
-  inline explicit set(isl::ctx ctx, const std::string &str);
-  inline /* implicit */ set(isl::basic_set bset);
-  inline /* implicit */ set(isl::point pnt);
-  inline explicit set(isl::union_set uset);
-  inline isl::set &operator=(isl::set obj);
+  inline explicit set(ctx ctx, const std::string &str);
+  inline /* implicit */ set(basic_set bset);
+  inline /* implicit */ set(point pnt);
+  inline explicit set(union_set uset);
+  inline set &operator=(set obj);
   inline ~set();
   inline __isl_give isl_set *copy() const &;
   inline __isl_give isl_set *copy() && = delete;
@@ -2647,151 +2647,151 @@ public:
   inline __isl_give isl_set *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::set add_constraint(isl::constraint constraint) const;
-  inline isl::set add_dims(isl::dim type, unsigned int n) const;
-  inline isl::basic_set affine_hull() const;
-  inline isl::set align_params(isl::space model) const;
-  inline isl::set apply(isl::map map) const;
-  inline isl::basic_set bounded_simple_hull() const;
-  static inline isl::set box_from_points(isl::point pnt1, isl::point pnt2);
-  inline isl::set coalesce() const;
-  inline isl::basic_set coefficients() const;
-  inline isl::set complement() const;
-  inline isl::basic_set convex_hull() const;
-  inline isl::val count_val() const;
-  inline isl::set detect_equalities() const;
+  inline set add_constraint(constraint constraint) const;
+  inline set add_dims(isl::dim type, unsigned int n) const;
+  inline basic_set affine_hull() const;
+  inline set align_params(space model) const;
+  inline set apply(map map) const;
+  inline basic_set bounded_simple_hull() const;
+  static inline set box_from_points(point pnt1, point pnt2);
+  inline set coalesce() const;
+  inline basic_set coefficients() const;
+  inline set complement() const;
+  inline basic_set convex_hull() const;
+  inline val count_val() const;
+  inline set detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::boolean dim_has_any_lower_bound(isl::dim type, unsigned int pos) const;
-  inline isl::boolean dim_has_any_upper_bound(isl::dim type, unsigned int pos) const;
-  inline isl::boolean dim_has_lower_bound(isl::dim type, unsigned int pos) const;
-  inline isl::boolean dim_has_upper_bound(isl::dim type, unsigned int pos) const;
-  inline isl::boolean dim_is_bounded(isl::dim type, unsigned int pos) const;
-  inline isl::pw_aff dim_max(int pos) const;
-  inline isl::pw_aff dim_min(int pos) const;
-  inline isl::set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set drop_unused_params() const;
-  inline isl::set eliminate(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::set empty(isl::space space);
-  inline isl::set equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline boolean dim_has_any_lower_bound(isl::dim type, unsigned int pos) const;
+  inline boolean dim_has_any_upper_bound(isl::dim type, unsigned int pos) const;
+  inline boolean dim_has_lower_bound(isl::dim type, unsigned int pos) const;
+  inline boolean dim_has_upper_bound(isl::dim type, unsigned int pos) const;
+  inline boolean dim_is_bounded(isl::dim type, unsigned int pos) const;
+  inline pw_aff dim_max(int pos) const;
+  inline pw_aff dim_min(int pos) const;
+  inline set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set drop_unused_params() const;
+  inline set eliminate(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline set empty(space space);
+  inline set equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::set fix_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::set fix_val(isl::dim type, unsigned int pos, isl::val v) const;
-  inline isl::set flat_product(isl::set set2) const;
-  inline isl::set flatten() const;
-  inline isl::map flatten_map() const;
-  inline int follows_at(const isl::set &set2, int pos) const;
-  inline isl::stat foreach_basic_set(const std::function<isl::stat(isl::basic_set)> &fn) const;
-  inline isl::stat foreach_point(const std::function<isl::stat(isl::point)> &fn) const;
-  static inline isl::set from_multi_aff(isl::multi_aff ma);
-  static inline isl::set from_multi_pw_aff(isl::multi_pw_aff mpa);
-  inline isl::set from_params() const;
-  static inline isl::set from_pw_aff(isl::pw_aff pwaff);
-  static inline isl::set from_pw_multi_aff(isl::pw_multi_aff pma);
-  inline isl::basic_set_list get_basic_set_list() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline set fix_si(isl::dim type, unsigned int pos, int value) const;
+  inline set fix_val(isl::dim type, unsigned int pos, val v) const;
+  inline set flat_product(set set2) const;
+  inline set flatten() const;
+  inline map flatten_map() const;
+  inline int follows_at(const set &set2, int pos) const;
+  inline stat foreach_basic_set(const std::function<stat(basic_set)> &fn) const;
+  inline stat foreach_point(const std::function<stat(point)> &fn) const;
+  static inline set from_multi_aff(multi_aff ma);
+  static inline set from_multi_pw_aff(multi_pw_aff mpa);
+  inline set from_params() const;
+  static inline set from_pw_aff(pw_aff pwaff);
+  static inline set from_pw_multi_aff(pw_multi_aff pma);
+  inline basic_set_list get_basic_set_list() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::space get_space() const;
-  inline isl::val get_stride(int pos) const;
-  inline isl::id get_tuple_id() const;
+  inline space get_space() const;
+  inline val get_stride(int pos) const;
+  inline id get_tuple_id() const;
   inline std::string get_tuple_name() const;
-  inline isl::set gist(isl::set context) const;
-  inline isl::set gist_basic_set(isl::basic_set context) const;
-  inline isl::set gist_params(isl::set context) const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_equal_space(const isl::set &set2) const;
-  inline isl::boolean has_tuple_id() const;
-  inline isl::boolean has_tuple_name() const;
-  inline isl::map identity() const;
-  inline isl::pw_aff indicator_function() const;
-  inline isl::set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
-  inline isl::set intersect(isl::set set2) const;
-  inline isl::set intersect_params(isl::set params) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_bounded() const;
-  inline isl::boolean is_box() const;
-  inline isl::boolean is_disjoint(const isl::set &set2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::set &set2) const;
-  inline isl::boolean is_params() const;
-  inline isl::boolean is_singleton() const;
-  inline isl::boolean is_strict_subset(const isl::set &set2) const;
-  inline isl::boolean is_subset(const isl::set &set2) const;
-  inline isl::boolean is_wrapping() const;
-  inline isl::map lex_ge_set(isl::set set2) const;
-  inline isl::map lex_gt_set(isl::set set2) const;
-  inline isl::map lex_le_set(isl::set set2) const;
-  inline isl::map lex_lt_set(isl::set set2) const;
-  inline isl::set lexmax() const;
-  inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
-  inline isl::set lexmin() const;
-  inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
-  inline isl::set lower_bound_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::set lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const;
-  inline isl::val max_val(const isl::aff &obj) const;
-  inline isl::val min_val(const isl::aff &obj) const;
-  inline isl::set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline set gist(set context) const;
+  inline set gist_basic_set(basic_set context) const;
+  inline set gist_params(set context) const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  inline boolean has_dim_name(isl::dim type, unsigned int pos) const;
+  inline boolean has_equal_space(const set &set2) const;
+  inline boolean has_tuple_id() const;
+  inline boolean has_tuple_name() const;
+  inline map identity() const;
+  inline pw_aff indicator_function() const;
+  inline set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+  inline set intersect(set set2) const;
+  inline set intersect_params(set params) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_bounded() const;
+  inline boolean is_box() const;
+  inline boolean is_disjoint(const set &set2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const set &set2) const;
+  inline boolean is_params() const;
+  inline boolean is_singleton() const;
+  inline boolean is_strict_subset(const set &set2) const;
+  inline boolean is_subset(const set &set2) const;
+  inline boolean is_wrapping() const;
+  inline map lex_ge_set(set set2) const;
+  inline map lex_gt_set(set set2) const;
+  inline map lex_le_set(set set2) const;
+  inline map lex_lt_set(set set2) const;
+  inline set lexmax() const;
+  inline pw_multi_aff lexmax_pw_multi_aff() const;
+  inline set lexmin() const;
+  inline pw_multi_aff lexmin_pw_multi_aff() const;
+  inline set lower_bound_si(isl::dim type, unsigned int pos, int value) const;
+  inline set lower_bound_val(isl::dim type, unsigned int pos, val value) const;
+  inline val max_val(const aff &obj) const;
+  inline val min_val(const aff &obj) const;
+  inline set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
   inline int n_basic_set() const;
   inline unsigned int n_dim() const;
-  static inline isl::set nat_universe(isl::space dim);
-  inline isl::set neg() const;
-  inline isl::set params() const;
-  inline int plain_cmp(const isl::set &set2) const;
-  inline isl::val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
-  inline isl::boolean plain_is_disjoint(const isl::set &set2) const;
-  inline isl::boolean plain_is_empty() const;
-  inline isl::boolean plain_is_equal(const isl::set &set2) const;
-  inline isl::boolean plain_is_universe() const;
-  inline isl::basic_set plain_unshifted_simple_hull() const;
-  inline isl::basic_set polyhedral_hull() const;
-  inline isl::set preimage_multi_aff(isl::multi_aff ma) const;
-  inline isl::set preimage_multi_pw_aff(isl::multi_pw_aff mpa) const;
-  inline isl::set preimage_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::set product(isl::set set2) const;
-  inline isl::map project_onto_map(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set remove_divs() const;
-  inline isl::set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set remove_redundancies() const;
-  inline isl::set remove_unknown_divs() const;
-  inline isl::set reset_space(isl::space dim) const;
-  inline isl::set reset_tuple_id() const;
-  inline isl::set reset_user() const;
-  inline isl::basic_set sample() const;
-  inline isl::point sample_point() const;
-  inline isl::set set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::set set_tuple_id(isl::id id) const;
-  inline isl::set set_tuple_name(const std::string &s) const;
-  inline isl::basic_set simple_hull() const;
+  static inline set nat_universe(space dim);
+  inline set neg() const;
+  inline set params() const;
+  inline int plain_cmp(const set &set2) const;
+  inline val plain_get_val_if_fixed(isl::dim type, unsigned int pos) const;
+  inline boolean plain_is_disjoint(const set &set2) const;
+  inline boolean plain_is_empty() const;
+  inline boolean plain_is_equal(const set &set2) const;
+  inline boolean plain_is_universe() const;
+  inline basic_set plain_unshifted_simple_hull() const;
+  inline basic_set polyhedral_hull() const;
+  inline set preimage_multi_aff(multi_aff ma) const;
+  inline set preimage_multi_pw_aff(multi_pw_aff mpa) const;
+  inline set preimage_pw_multi_aff(pw_multi_aff pma) const;
+  inline set product(set set2) const;
+  inline map project_onto_map(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set remove_divs() const;
+  inline set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set remove_redundancies() const;
+  inline set remove_unknown_divs() const;
+  inline set reset_space(space dim) const;
+  inline set reset_tuple_id() const;
+  inline set reset_user() const;
+  inline basic_set sample() const;
+  inline point sample_point() const;
+  inline set set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline set set_tuple_id(id id) const;
+  inline set set_tuple_name(const std::string &s) const;
+  inline basic_set simple_hull() const;
   inline int size() const;
-  inline isl::basic_set solutions() const;
-  inline isl::set split_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::set subtract(isl::set set2) const;
-  inline isl::set sum(isl::set set2) const;
-  inline isl::set unite(isl::set set2) const;
-  static inline isl::set universe(isl::space space);
-  inline isl::basic_set unshifted_simple_hull() const;
-  inline isl::basic_set unshifted_simple_hull_from_set_list(isl::set_list list) const;
-  inline isl::map unwrap() const;
-  inline isl::set upper_bound_si(isl::dim type, unsigned int pos, int value) const;
-  inline isl::set upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const;
-  inline isl::map wrapped_domain_map() const;
+  inline basic_set solutions() const;
+  inline set split_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline set subtract(set set2) const;
+  inline set sum(set set2) const;
+  inline set unite(set set2) const;
+  static inline set universe(space space);
+  inline basic_set unshifted_simple_hull() const;
+  inline basic_set unshifted_simple_hull_from_set_list(set_list list) const;
+  inline map unwrap() const;
+  inline set upper_bound_si(isl::dim type, unsigned int pos, int value) const;
+  inline set upper_bound_val(isl::dim type, unsigned int pos, val value) const;
+  inline map wrapped_domain_map() const;
 };
 
 // declarations for isl::set_list
-inline isl::set_list manage(__isl_take isl_set_list *ptr);
-inline isl::set_list manage_copy(__isl_keep isl_set_list *ptr);
+inline set_list manage(__isl_take isl_set_list *ptr);
+inline set_list manage_copy(__isl_keep isl_set_list *ptr);
 
 class set_list {
-  friend inline isl::set_list manage(__isl_take isl_set_list *ptr);
-  friend inline isl::set_list manage_copy(__isl_keep isl_set_list *ptr);
+  friend inline set_list manage(__isl_take isl_set_list *ptr);
+  friend inline set_list manage_copy(__isl_keep isl_set_list *ptr);
 
   isl_set_list *ptr = nullptr;
 
@@ -2799,9 +2799,9 @@ class set_list {
 
 public:
   inline /* implicit */ set_list();
-  inline /* implicit */ set_list(const isl::set_list &obj);
+  inline /* implicit */ set_list(const set_list &obj);
   inline /* implicit */ set_list(std::nullptr_t);
-  inline isl::set_list &operator=(isl::set_list obj);
+  inline set_list &operator=(set_list obj);
   inline ~set_list();
   inline __isl_give isl_set_list *copy() const &;
   inline __isl_give isl_set_list *copy() && = delete;
@@ -2809,33 +2809,33 @@ public:
   inline __isl_give isl_set_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::set_list add(isl::set el) const;
-  static inline isl::set_list alloc(isl::ctx ctx, int n);
-  inline isl::set_list concat(isl::set_list list2) const;
-  inline isl::set_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::set)> &fn) const;
-  static inline isl::set_list from_set(isl::set el);
-  inline isl::set get_at(int index) const;
-  inline isl::set get_set(int index) const;
-  inline isl::set_list insert(unsigned int pos, isl::set el) const;
+  inline set_list add(set el) const;
+  static inline set_list alloc(ctx ctx, int n);
+  inline set_list concat(set_list list2) const;
+  inline set_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(set)> &fn) const;
+  static inline set_list from_set(set el);
+  inline set get_at(int index) const;
+  inline set get_set(int index) const;
+  inline set_list insert(unsigned int pos, set el) const;
   inline int n_set() const;
-  inline isl::set_list reverse() const;
-  inline isl::set_list set_set(int index, isl::set el) const;
+  inline set_list reverse() const;
+  inline set_list set_set(int index, set el) const;
   inline int size() const;
-  inline isl::set_list swap(unsigned int pos1, unsigned int pos2) const;
-  inline isl::set unite() const;
+  inline set_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline set unite() const;
 };
 
 // declarations for isl::space
-inline isl::space manage(__isl_take isl_space *ptr);
-inline isl::space manage_copy(__isl_keep isl_space *ptr);
+inline space manage(__isl_take isl_space *ptr);
+inline space manage_copy(__isl_keep isl_space *ptr);
 
 class space {
-  friend inline isl::space manage(__isl_take isl_space *ptr);
-  friend inline isl::space manage_copy(__isl_keep isl_space *ptr);
+  friend inline space manage(__isl_take isl_space *ptr);
+  friend inline space manage_copy(__isl_keep isl_space *ptr);
 
   isl_space *ptr = nullptr;
 
@@ -2843,11 +2843,11 @@ class space {
 
 public:
   inline /* implicit */ space();
-  inline /* implicit */ space(const isl::space &obj);
+  inline /* implicit */ space(const space &obj);
   inline /* implicit */ space(std::nullptr_t);
-  inline explicit space(isl::ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out);
-  inline explicit space(isl::ctx ctx, unsigned int nparam, unsigned int dim);
-  inline isl::space &operator=(isl::space obj);
+  inline explicit space(ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out);
+  inline explicit space(ctx ctx, unsigned int nparam, unsigned int dim);
+  inline space &operator=(space obj);
   inline ~space();
   inline __isl_give isl_space *copy() const &;
   inline __isl_give isl_space *copy() && = delete;
@@ -2855,88 +2855,88 @@ public:
   inline __isl_give isl_space *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::space add_dims(isl::dim type, unsigned int n) const;
-  inline isl::space add_param_id(isl::id id) const;
-  inline isl::space align_params(isl::space dim2) const;
-  inline isl::boolean can_curry() const;
-  inline isl::boolean can_range_curry() const;
-  inline isl::boolean can_uncurry() const;
-  inline isl::boolean can_zip() const;
-  inline isl::space curry() const;
+  inline space add_dims(isl::dim type, unsigned int n) const;
+  inline space add_param_id(id id) const;
+  inline space align_params(space dim2) const;
+  inline boolean can_curry() const;
+  inline boolean can_range_curry() const;
+  inline boolean can_uncurry() const;
+  inline boolean can_zip() const;
+  inline space curry() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::space domain() const;
-  inline isl::space domain_factor_domain() const;
-  inline isl::space domain_factor_range() const;
-  inline isl::boolean domain_is_wrapping() const;
-  inline isl::space domain_map() const;
-  inline isl::space domain_product(isl::space right) const;
-  inline isl::space drop_dims(isl::dim type, unsigned int first, unsigned int num) const;
-  inline isl::space factor_domain() const;
-  inline isl::space factor_range() const;
-  inline int find_dim_by_id(isl::dim type, const isl::id &id) const;
+  inline space domain() const;
+  inline space domain_factor_domain() const;
+  inline space domain_factor_range() const;
+  inline boolean domain_is_wrapping() const;
+  inline space domain_map() const;
+  inline space domain_product(space right) const;
+  inline space drop_dims(isl::dim type, unsigned int first, unsigned int num) const;
+  inline space factor_domain() const;
+  inline space factor_range() const;
+  inline int find_dim_by_id(isl::dim type, const id &id) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::space flatten_domain() const;
-  inline isl::space flatten_range() const;
-  inline isl::space from_domain() const;
-  inline isl::space from_range() const;
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline space flatten_domain() const;
+  inline space flatten_range() const;
+  inline space from_domain() const;
+  inline space from_range() const;
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline std::string get_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::id get_tuple_id(isl::dim type) const;
+  inline id get_tuple_id(isl::dim type) const;
   inline std::string get_tuple_name(isl::dim type) const;
-  inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_dim_name(isl::dim type, unsigned int pos) const;
-  inline isl::boolean has_equal_params(const isl::space &space2) const;
-  inline isl::boolean has_equal_tuples(const isl::space &space2) const;
-  inline isl::boolean has_tuple_id(isl::dim type) const;
-  inline isl::boolean has_tuple_name(isl::dim type) const;
-  inline isl::space insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
-  inline isl::boolean is_domain(const isl::space &space2) const;
-  inline isl::boolean is_equal(const isl::space &space2) const;
-  inline isl::boolean is_map() const;
-  inline isl::boolean is_params() const;
-  inline isl::boolean is_product() const;
-  inline isl::boolean is_range(const isl::space &space2) const;
-  inline isl::boolean is_set() const;
-  inline isl::boolean is_wrapping() const;
-  inline isl::space join(isl::space right) const;
-  inline isl::space map_from_domain_and_range(isl::space range) const;
-  inline isl::space map_from_set() const;
-  inline isl::space move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
-  inline isl::space params() const;
-  static inline isl::space params_alloc(isl::ctx ctx, unsigned int nparam);
-  inline isl::space product(isl::space right) const;
-  inline isl::space range() const;
-  inline isl::space range_curry() const;
-  inline isl::space range_factor_domain() const;
-  inline isl::space range_factor_range() const;
-  inline isl::boolean range_is_wrapping() const;
-  inline isl::space range_map() const;
-  inline isl::space range_product(isl::space right) const;
-  inline isl::space reset_tuple_id(isl::dim type) const;
-  inline isl::space reset_user() const;
-  inline isl::space reverse() const;
-  inline isl::space set_dim_id(isl::dim type, unsigned int pos, isl::id id) const;
-  inline isl::space set_from_params() const;
-  inline isl::space set_tuple_id(isl::dim type, isl::id id) const;
-  inline isl::space set_tuple_name(isl::dim type, const std::string &s) const;
-  inline isl::boolean tuple_is_equal(isl::dim type1, const isl::space &space2, isl::dim type2) const;
-  inline isl::space uncurry() const;
-  inline isl::space unwrap() const;
-  inline isl::space wrap() const;
-  inline isl::space zip() const;
+  inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
+  inline boolean has_dim_name(isl::dim type, unsigned int pos) const;
+  inline boolean has_equal_params(const space &space2) const;
+  inline boolean has_equal_tuples(const space &space2) const;
+  inline boolean has_tuple_id(isl::dim type) const;
+  inline boolean has_tuple_name(isl::dim type) const;
+  inline space insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+  inline boolean is_domain(const space &space2) const;
+  inline boolean is_equal(const space &space2) const;
+  inline boolean is_map() const;
+  inline boolean is_params() const;
+  inline boolean is_product() const;
+  inline boolean is_range(const space &space2) const;
+  inline boolean is_set() const;
+  inline boolean is_wrapping() const;
+  inline space join(space right) const;
+  inline space map_from_domain_and_range(space range) const;
+  inline space map_from_set() const;
+  inline space move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
+  inline space params() const;
+  static inline space params_alloc(ctx ctx, unsigned int nparam);
+  inline space product(space right) const;
+  inline space range() const;
+  inline space range_curry() const;
+  inline space range_factor_domain() const;
+  inline space range_factor_range() const;
+  inline boolean range_is_wrapping() const;
+  inline space range_map() const;
+  inline space range_product(space right) const;
+  inline space reset_tuple_id(isl::dim type) const;
+  inline space reset_user() const;
+  inline space reverse() const;
+  inline space set_dim_id(isl::dim type, unsigned int pos, id id) const;
+  inline space set_from_params() const;
+  inline space set_tuple_id(isl::dim type, id id) const;
+  inline space set_tuple_name(isl::dim type, const std::string &s) const;
+  inline boolean tuple_is_equal(isl::dim type1, const space &space2, isl::dim type2) const;
+  inline space uncurry() const;
+  inline space unwrap() const;
+  inline space wrap() const;
+  inline space zip() const;
 };
 
 // declarations for isl::term
-inline isl::term manage(__isl_take isl_term *ptr);
-inline isl::term manage_copy(__isl_keep isl_term *ptr);
+inline term manage(__isl_take isl_term *ptr);
+inline term manage_copy(__isl_keep isl_term *ptr);
 
 class term {
-  friend inline isl::term manage(__isl_take isl_term *ptr);
-  friend inline isl::term manage_copy(__isl_keep isl_term *ptr);
+  friend inline term manage(__isl_take isl_term *ptr);
+  friend inline term manage_copy(__isl_keep isl_term *ptr);
 
   isl_term *ptr = nullptr;
 
@@ -2944,9 +2944,9 @@ class term {
 
 public:
   inline /* implicit */ term();
-  inline /* implicit */ term(const isl::term &obj);
+  inline /* implicit */ term(const term &obj);
   inline /* implicit */ term(std::nullptr_t);
-  inline isl::term &operator=(isl::term obj);
+  inline term &operator=(term obj);
   inline ~term();
   inline __isl_give isl_term *copy() const &;
   inline __isl_give isl_term *copy() && = delete;
@@ -2954,21 +2954,21 @@ public:
   inline __isl_give isl_term *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
 
   inline unsigned int dim(isl::dim type) const;
-  inline isl::val get_coefficient_val() const;
-  inline isl::aff get_div(unsigned int pos) const;
+  inline val get_coefficient_val() const;
+  inline aff get_div(unsigned int pos) const;
   inline int get_exp(isl::dim type, unsigned int pos) const;
 };
 
 // declarations for isl::union_access_info
-inline isl::union_access_info manage(__isl_take isl_union_access_info *ptr);
-inline isl::union_access_info manage_copy(__isl_keep isl_union_access_info *ptr);
+inline union_access_info manage(__isl_take isl_union_access_info *ptr);
+inline union_access_info manage_copy(__isl_keep isl_union_access_info *ptr);
 
 class union_access_info {
-  friend inline isl::union_access_info manage(__isl_take isl_union_access_info *ptr);
-  friend inline isl::union_access_info manage_copy(__isl_keep isl_union_access_info *ptr);
+  friend inline union_access_info manage(__isl_take isl_union_access_info *ptr);
+  friend inline union_access_info manage_copy(__isl_keep isl_union_access_info *ptr);
 
   isl_union_access_info *ptr = nullptr;
 
@@ -2976,10 +2976,10 @@ class union_access_info {
 
 public:
   inline /* implicit */ union_access_info();
-  inline /* implicit */ union_access_info(const isl::union_access_info &obj);
+  inline /* implicit */ union_access_info(const union_access_info &obj);
   inline /* implicit */ union_access_info(std::nullptr_t);
-  inline explicit union_access_info(isl::union_map sink);
-  inline isl::union_access_info &operator=(isl::union_access_info obj);
+  inline explicit union_access_info(union_map sink);
+  inline union_access_info &operator=(union_access_info obj);
   inline ~union_access_info();
   inline __isl_give isl_union_access_info *copy() const &;
   inline __isl_give isl_union_access_info *copy() && = delete;
@@ -2987,24 +2987,24 @@ public:
   inline __isl_give isl_union_access_info *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
 
-  inline isl::union_flow compute_flow() const;
-  inline isl::union_access_info set_kill(isl::union_map kill) const;
-  inline isl::union_access_info set_may_source(isl::union_map may_source) const;
-  inline isl::union_access_info set_must_source(isl::union_map must_source) const;
-  inline isl::union_access_info set_schedule(isl::schedule schedule) const;
-  inline isl::union_access_info set_schedule_map(isl::union_map schedule_map) const;
+  inline union_flow compute_flow() const;
+  inline union_access_info set_kill(union_map kill) const;
+  inline union_access_info set_may_source(union_map may_source) const;
+  inline union_access_info set_must_source(union_map must_source) const;
+  inline union_access_info set_schedule(schedule schedule) const;
+  inline union_access_info set_schedule_map(union_map schedule_map) const;
 };
 
 // declarations for isl::union_flow
-inline isl::union_flow manage(__isl_take isl_union_flow *ptr);
-inline isl::union_flow manage_copy(__isl_keep isl_union_flow *ptr);
+inline union_flow manage(__isl_take isl_union_flow *ptr);
+inline union_flow manage_copy(__isl_keep isl_union_flow *ptr);
 
 class union_flow {
-  friend inline isl::union_flow manage(__isl_take isl_union_flow *ptr);
-  friend inline isl::union_flow manage_copy(__isl_keep isl_union_flow *ptr);
+  friend inline union_flow manage(__isl_take isl_union_flow *ptr);
+  friend inline union_flow manage_copy(__isl_keep isl_union_flow *ptr);
 
   isl_union_flow *ptr = nullptr;
 
@@ -3012,9 +3012,9 @@ class union_flow {
 
 public:
   inline /* implicit */ union_flow();
-  inline /* implicit */ union_flow(const isl::union_flow &obj);
+  inline /* implicit */ union_flow(const union_flow &obj);
   inline /* implicit */ union_flow(std::nullptr_t);
-  inline isl::union_flow &operator=(isl::union_flow obj);
+  inline union_flow &operator=(union_flow obj);
   inline ~union_flow();
   inline __isl_give isl_union_flow *copy() const &;
   inline __isl_give isl_union_flow *copy() && = delete;
@@ -3022,24 +3022,24 @@ public:
   inline __isl_give isl_union_flow *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
 
-  inline isl::union_map get_full_may_dependence() const;
-  inline isl::union_map get_full_must_dependence() const;
-  inline isl::union_map get_may_dependence() const;
-  inline isl::union_map get_may_no_source() const;
-  inline isl::union_map get_must_dependence() const;
-  inline isl::union_map get_must_no_source() const;
+  inline union_map get_full_may_dependence() const;
+  inline union_map get_full_must_dependence() const;
+  inline union_map get_may_dependence() const;
+  inline union_map get_may_no_source() const;
+  inline union_map get_must_dependence() const;
+  inline union_map get_must_no_source() const;
 };
 
 // declarations for isl::union_map
-inline isl::union_map manage(__isl_take isl_union_map *ptr);
-inline isl::union_map manage_copy(__isl_keep isl_union_map *ptr);
+inline union_map manage(__isl_take isl_union_map *ptr);
+inline union_map manage_copy(__isl_keep isl_union_map *ptr);
 
 class union_map {
-  friend inline isl::union_map manage(__isl_take isl_union_map *ptr);
-  friend inline isl::union_map manage_copy(__isl_keep isl_union_map *ptr);
+  friend inline union_map manage(__isl_take isl_union_map *ptr);
+  friend inline union_map manage_copy(__isl_keep isl_union_map *ptr);
 
   isl_union_map *ptr = nullptr;
 
@@ -3047,13 +3047,13 @@ class union_map {
 
 public:
   inline /* implicit */ union_map();
-  inline /* implicit */ union_map(const isl::union_map &obj);
+  inline /* implicit */ union_map(const union_map &obj);
   inline /* implicit */ union_map(std::nullptr_t);
-  inline explicit union_map(isl::union_pw_multi_aff upma);
-  inline /* implicit */ union_map(isl::basic_map bmap);
-  inline /* implicit */ union_map(isl::map map);
-  inline explicit union_map(isl::ctx ctx, const std::string &str);
-  inline isl::union_map &operator=(isl::union_map obj);
+  inline explicit union_map(union_pw_multi_aff upma);
+  inline /* implicit */ union_map(basic_map bmap);
+  inline /* implicit */ union_map(map map);
+  inline explicit union_map(ctx ctx, const std::string &str);
+  inline union_map &operator=(union_map obj);
   inline ~union_map();
   inline __isl_give isl_union_map *copy() const &;
   inline __isl_give isl_union_map *copy() && = delete;
@@ -3061,118 +3061,118 @@ public:
   inline __isl_give isl_union_map *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::union_map add_map(isl::map map) const;
-  inline isl::union_map affine_hull() const;
-  inline isl::union_map align_params(isl::space model) const;
-  inline isl::union_map apply_domain(isl::union_map umap2) const;
-  inline isl::union_map apply_range(isl::union_map umap2) const;
-  inline isl::union_map coalesce() const;
-  inline isl::boolean contains(const isl::space &space) const;
-  inline isl::union_map curry() const;
-  inline isl::union_set deltas() const;
-  inline isl::union_map deltas_map() const;
-  inline isl::union_map detect_equalities() const;
+  inline union_map add_map(map map) const;
+  inline union_map affine_hull() const;
+  inline union_map align_params(space model) const;
+  inline union_map apply_domain(union_map umap2) const;
+  inline union_map apply_range(union_map umap2) const;
+  inline union_map coalesce() const;
+  inline boolean contains(const space &space) const;
+  inline union_map curry() const;
+  inline union_set deltas() const;
+  inline union_map deltas_map() const;
+  inline union_map detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::union_set domain() const;
-  inline isl::union_map domain_factor_domain() const;
-  inline isl::union_map domain_factor_range() const;
-  inline isl::union_map domain_map() const;
-  inline isl::union_pw_multi_aff domain_map_union_pw_multi_aff() const;
-  inline isl::union_map domain_product(isl::union_map umap2) const;
-  static inline isl::union_map empty(isl::space space);
-  inline isl::union_map eq_at(isl::multi_union_pw_aff mupa) const;
-  inline isl::map extract_map(isl::space dim) const;
-  inline isl::union_map factor_domain() const;
-  inline isl::union_map factor_range() const;
+  inline union_set domain() const;
+  inline union_map domain_factor_domain() const;
+  inline union_map domain_factor_range() const;
+  inline union_map domain_map() const;
+  inline union_pw_multi_aff domain_map_union_pw_multi_aff() const;
+  inline union_map domain_product(union_map umap2) const;
+  static inline union_map empty(space space);
+  inline union_map eq_at(multi_union_pw_aff mupa) const;
+  inline map extract_map(space dim) const;
+  inline union_map factor_domain() const;
+  inline union_map factor_range() const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::union_map fixed_power(isl::val exp) const;
-  inline isl::union_map flat_domain_product(isl::union_map umap2) const;
-  inline isl::union_map flat_range_product(isl::union_map umap2) const;
-  inline isl::stat foreach_map(const std::function<isl::stat(isl::map)> &fn) const;
-  static inline isl::union_map from(isl::multi_union_pw_aff mupa);
-  static inline isl::union_map from_domain(isl::union_set uset);
-  static inline isl::union_map from_domain_and_range(isl::union_set domain, isl::union_set range);
-  static inline isl::union_map from_range(isl::union_set uset);
-  static inline isl::union_map from_union_pw_aff(isl::union_pw_aff upa);
-  inline isl::id get_dim_id(isl::dim type, unsigned int pos) const;
+  inline union_map fixed_power(val exp) const;
+  inline union_map flat_domain_product(union_map umap2) const;
+  inline union_map flat_range_product(union_map umap2) const;
+  inline stat foreach_map(const std::function<stat(map)> &fn) const;
+  static inline union_map from(multi_union_pw_aff mupa);
+  static inline union_map from_domain(union_set uset);
+  static inline union_map from_domain_and_range(union_set domain, union_set range);
+  static inline union_map from_range(union_set uset);
+  static inline union_map from_union_pw_aff(union_pw_aff upa);
+  inline id get_dim_id(isl::dim type, unsigned int pos) const;
   inline uint32_t get_hash() const;
-  inline isl::map_list get_map_list() const;
-  inline isl::space get_space() const;
-  inline isl::union_map gist(isl::union_map context) const;
-  inline isl::union_map gist_domain(isl::union_set uset) const;
-  inline isl::union_map gist_params(isl::set set) const;
-  inline isl::union_map gist_range(isl::union_set uset) const;
-  inline isl::union_map intersect(isl::union_map umap2) const;
-  inline isl::union_map intersect_domain(isl::union_set uset) const;
-  inline isl::union_map intersect_params(isl::set set) const;
-  inline isl::union_map intersect_range(isl::union_set uset) const;
-  inline isl::union_map intersect_range_factor_range(isl::union_map factor) const;
-  inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::boolean is_bijective() const;
-  inline isl::boolean is_disjoint(const isl::union_map &umap2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::union_map &umap2) const;
-  inline isl::boolean is_identity() const;
-  inline isl::boolean is_injective() const;
-  inline isl::boolean is_single_valued() const;
-  inline isl::boolean is_strict_subset(const isl::union_map &umap2) const;
-  inline isl::boolean is_subset(const isl::union_map &umap2) const;
-  inline isl::union_map lex_ge_union_map(isl::union_map umap2) const;
-  inline isl::union_map lex_gt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const;
-  inline isl::union_map lex_gt_union_map(isl::union_map umap2) const;
-  inline isl::union_map lex_le_union_map(isl::union_map umap2) const;
-  inline isl::union_map lex_lt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const;
-  inline isl::union_map lex_lt_union_map(isl::union_map umap2) const;
-  inline isl::union_map lexmax() const;
-  inline isl::union_map lexmin() const;
+  inline map_list get_map_list() const;
+  inline space get_space() const;
+  inline union_map gist(union_map context) const;
+  inline union_map gist_domain(union_set uset) const;
+  inline union_map gist_params(set set) const;
+  inline union_map gist_range(union_set uset) const;
+  inline union_map intersect(union_map umap2) const;
+  inline union_map intersect_domain(union_set uset) const;
+  inline union_map intersect_params(set set) const;
+  inline union_map intersect_range(union_set uset) const;
+  inline union_map intersect_range_factor_range(union_map factor) const;
+  inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline boolean is_bijective() const;
+  inline boolean is_disjoint(const union_map &umap2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const union_map &umap2) const;
+  inline boolean is_identity() const;
+  inline boolean is_injective() const;
+  inline boolean is_single_valued() const;
+  inline boolean is_strict_subset(const union_map &umap2) const;
+  inline boolean is_subset(const union_map &umap2) const;
+  inline union_map lex_ge_union_map(union_map umap2) const;
+  inline union_map lex_gt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
+  inline union_map lex_gt_union_map(union_map umap2) const;
+  inline union_map lex_le_union_map(union_map umap2) const;
+  inline union_map lex_lt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
+  inline union_map lex_lt_union_map(union_map umap2) const;
+  inline union_map lexmax() const;
+  inline union_map lexmin() const;
   inline int n_map() const;
-  inline isl::set params() const;
-  inline isl::boolean plain_is_empty() const;
-  inline isl::boolean plain_is_injective() const;
-  inline isl::union_map polyhedral_hull() const;
-  inline isl::union_map preimage_domain_multi_aff(isl::multi_aff ma) const;
-  inline isl::union_map preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const;
-  inline isl::union_map preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::union_map preimage_domain_union_pw_multi_aff(isl::union_pw_multi_aff upma) const;
-  inline isl::union_map preimage_range_multi_aff(isl::multi_aff ma) const;
-  inline isl::union_map preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::union_map preimage_range_union_pw_multi_aff(isl::union_pw_multi_aff upma) const;
-  inline isl::union_map product(isl::union_map umap2) const;
-  inline isl::union_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::union_map project_out_all_params() const;
-  inline isl::union_set range() const;
-  inline isl::union_map range_curry() const;
-  inline isl::union_map range_factor_domain() const;
-  inline isl::union_map range_factor_range() const;
-  inline isl::union_map range_map() const;
-  inline isl::union_map range_product(isl::union_map umap2) const;
-  inline isl::union_map remove_divs() const;
-  inline isl::union_map remove_redundancies() const;
-  inline isl::union_map reset_user() const;
-  inline isl::union_map reverse() const;
-  inline isl::basic_map sample() const;
-  inline isl::union_map simple_hull() const;
-  inline isl::union_map subtract(isl::union_map umap2) const;
-  inline isl::union_map subtract_domain(isl::union_set dom) const;
-  inline isl::union_map subtract_range(isl::union_set dom) const;
-  inline isl::union_map uncurry() const;
-  inline isl::union_map unite(isl::union_map umap2) const;
-  inline isl::union_map universe() const;
-  inline isl::union_set wrap() const;
-  inline isl::union_map zip() const;
+  inline set params() const;
+  inline boolean plain_is_empty() const;
+  inline boolean plain_is_injective() const;
+  inline union_map polyhedral_hull() const;
+  inline union_map preimage_domain_multi_aff(multi_aff ma) const;
+  inline union_map preimage_domain_multi_pw_aff(multi_pw_aff mpa) const;
+  inline union_map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
+  inline union_map preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const;
+  inline union_map preimage_range_multi_aff(multi_aff ma) const;
+  inline union_map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
+  inline union_map preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const;
+  inline union_map product(union_map umap2) const;
+  inline union_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline union_map project_out_all_params() const;
+  inline union_set range() const;
+  inline union_map range_curry() const;
+  inline union_map range_factor_domain() const;
+  inline union_map range_factor_range() const;
+  inline union_map range_map() const;
+  inline union_map range_product(union_map umap2) const;
+  inline union_map remove_divs() const;
+  inline union_map remove_redundancies() const;
+  inline union_map reset_user() const;
+  inline union_map reverse() const;
+  inline basic_map sample() const;
+  inline union_map simple_hull() const;
+  inline union_map subtract(union_map umap2) const;
+  inline union_map subtract_domain(union_set dom) const;
+  inline union_map subtract_range(union_set dom) const;
+  inline union_map uncurry() const;
+  inline union_map unite(union_map umap2) const;
+  inline union_map universe() const;
+  inline union_set wrap() const;
+  inline union_map zip() const;
 };
 
 // declarations for isl::union_map_list
-inline isl::union_map_list manage(__isl_take isl_union_map_list *ptr);
-inline isl::union_map_list manage_copy(__isl_keep isl_union_map_list *ptr);
+inline union_map_list manage(__isl_take isl_union_map_list *ptr);
+inline union_map_list manage_copy(__isl_keep isl_union_map_list *ptr);
 
 class union_map_list {
-  friend inline isl::union_map_list manage(__isl_take isl_union_map_list *ptr);
-  friend inline isl::union_map_list manage_copy(__isl_keep isl_union_map_list *ptr);
+  friend inline union_map_list manage(__isl_take isl_union_map_list *ptr);
+  friend inline union_map_list manage_copy(__isl_keep isl_union_map_list *ptr);
 
   isl_union_map_list *ptr = nullptr;
 
@@ -3180,9 +3180,9 @@ class union_map_list {
 
 public:
   inline /* implicit */ union_map_list();
-  inline /* implicit */ union_map_list(const isl::union_map_list &obj);
+  inline /* implicit */ union_map_list(const union_map_list &obj);
   inline /* implicit */ union_map_list(std::nullptr_t);
-  inline isl::union_map_list &operator=(isl::union_map_list obj);
+  inline union_map_list &operator=(union_map_list obj);
   inline ~union_map_list();
   inline __isl_give isl_union_map_list *copy() const &;
   inline __isl_give isl_union_map_list *copy() && = delete;
@@ -3190,32 +3190,32 @@ public:
   inline __isl_give isl_union_map_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::union_map_list add(isl::union_map el) const;
-  static inline isl::union_map_list alloc(isl::ctx ctx, int n);
-  inline isl::union_map_list concat(isl::union_map_list list2) const;
-  inline isl::union_map_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::union_map)> &fn) const;
-  static inline isl::union_map_list from_union_map(isl::union_map el);
-  inline isl::union_map get_at(int index) const;
-  inline isl::union_map get_union_map(int index) const;
-  inline isl::union_map_list insert(unsigned int pos, isl::union_map el) const;
+  inline union_map_list add(union_map el) const;
+  static inline union_map_list alloc(ctx ctx, int n);
+  inline union_map_list concat(union_map_list list2) const;
+  inline union_map_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(union_map)> &fn) const;
+  static inline union_map_list from_union_map(union_map el);
+  inline union_map get_at(int index) const;
+  inline union_map get_union_map(int index) const;
+  inline union_map_list insert(unsigned int pos, union_map el) const;
   inline int n_union_map() const;
-  inline isl::union_map_list reverse() const;
-  inline isl::union_map_list set_union_map(int index, isl::union_map el) const;
+  inline union_map_list reverse() const;
+  inline union_map_list set_union_map(int index, union_map el) const;
   inline int size() const;
-  inline isl::union_map_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline union_map_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::union_pw_aff
-inline isl::union_pw_aff manage(__isl_take isl_union_pw_aff *ptr);
-inline isl::union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr);
+inline union_pw_aff manage(__isl_take isl_union_pw_aff *ptr);
+inline union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr);
 
 class union_pw_aff {
-  friend inline isl::union_pw_aff manage(__isl_take isl_union_pw_aff *ptr);
-  friend inline isl::union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr);
+  friend inline union_pw_aff manage(__isl_take isl_union_pw_aff *ptr);
+  friend inline union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr);
 
   isl_union_pw_aff *ptr = nullptr;
 
@@ -3223,12 +3223,12 @@ class union_pw_aff {
 
 public:
   inline /* implicit */ union_pw_aff();
-  inline /* implicit */ union_pw_aff(const isl::union_pw_aff &obj);
+  inline /* implicit */ union_pw_aff(const union_pw_aff &obj);
   inline /* implicit */ union_pw_aff(std::nullptr_t);
-  inline /* implicit */ union_pw_aff(isl::pw_aff pa);
-  inline explicit union_pw_aff(isl::union_set domain, isl::val v);
-  inline explicit union_pw_aff(isl::ctx ctx, const std::string &str);
-  inline isl::union_pw_aff &operator=(isl::union_pw_aff obj);
+  inline /* implicit */ union_pw_aff(pw_aff pa);
+  inline explicit union_pw_aff(union_set domain, val v);
+  inline explicit union_pw_aff(ctx ctx, const std::string &str);
+  inline union_pw_aff &operator=(union_pw_aff obj);
   inline ~union_pw_aff();
   inline __isl_give isl_union_pw_aff *copy() const &;
   inline __isl_give isl_union_pw_aff *copy() && = delete;
@@ -3236,55 +3236,55 @@ public:
   inline __isl_give isl_union_pw_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::union_pw_aff add(isl::union_pw_aff upa2) const;
-  inline isl::union_pw_aff add_pw_aff(isl::pw_aff pa) const;
-  static inline isl::union_pw_aff aff_on_domain(isl::union_set domain, isl::aff aff);
-  inline isl::union_pw_aff align_params(isl::space model) const;
-  inline isl::union_pw_aff coalesce() const;
+  inline union_pw_aff add(union_pw_aff upa2) const;
+  inline union_pw_aff add_pw_aff(pw_aff pa) const;
+  static inline union_pw_aff aff_on_domain(union_set domain, aff aff);
+  inline union_pw_aff align_params(space model) const;
+  inline union_pw_aff coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::union_set domain() const;
-  inline isl::union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::union_pw_aff empty(isl::space space);
-  inline isl::pw_aff extract_pw_aff(isl::space space) const;
+  inline union_set domain() const;
+  inline union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline union_pw_aff empty(space space);
+  inline pw_aff extract_pw_aff(space space) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::union_pw_aff floor() const;
-  inline isl::stat foreach_pw_aff(const std::function<isl::stat(isl::pw_aff)> &fn) const;
-  inline isl::pw_aff_list get_pw_aff_list() const;
-  inline isl::space get_space() const;
-  inline isl::union_pw_aff gist(isl::union_set context) const;
-  inline isl::union_pw_aff gist_params(isl::set context) const;
-  inline isl::union_pw_aff intersect_domain(isl::union_set uset) const;
-  inline isl::union_pw_aff intersect_params(isl::set set) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::val max_val() const;
-  inline isl::val min_val() const;
-  inline isl::union_pw_aff mod_val(isl::val f) const;
+  inline union_pw_aff floor() const;
+  inline stat foreach_pw_aff(const std::function<stat(pw_aff)> &fn) const;
+  inline pw_aff_list get_pw_aff_list() const;
+  inline space get_space() const;
+  inline union_pw_aff gist(union_set context) const;
+  inline union_pw_aff gist_params(set context) const;
+  inline union_pw_aff intersect_domain(union_set uset) const;
+  inline union_pw_aff intersect_params(set set) const;
+  inline boolean involves_nan() const;
+  inline val max_val() const;
+  inline val min_val() const;
+  inline union_pw_aff mod_val(val f) const;
   inline int n_pw_aff() const;
-  inline isl::union_pw_aff neg() const;
-  static inline isl::union_pw_aff param_on_domain_id(isl::union_set domain, isl::id id);
-  inline isl::boolean plain_is_equal(const isl::union_pw_aff &upa2) const;
-  inline isl::union_pw_aff pullback(isl::union_pw_multi_aff upma) const;
-  static inline isl::union_pw_aff pw_aff_on_domain(isl::union_set domain, isl::pw_aff pa);
-  inline isl::union_pw_aff reset_user() const;
-  inline isl::union_pw_aff scale_down_val(isl::val v) const;
-  inline isl::union_pw_aff scale_val(isl::val v) const;
-  inline isl::union_pw_aff sub(isl::union_pw_aff upa2) const;
-  inline isl::union_pw_aff subtract_domain(isl::union_set uset) const;
-  inline isl::union_pw_aff union_add(isl::union_pw_aff upa2) const;
-  inline isl::union_set zero_union_set() const;
+  inline union_pw_aff neg() const;
+  static inline union_pw_aff param_on_domain_id(union_set domain, id id);
+  inline boolean plain_is_equal(const union_pw_aff &upa2) const;
+  inline union_pw_aff pullback(union_pw_multi_aff upma) const;
+  static inline union_pw_aff pw_aff_on_domain(union_set domain, pw_aff pa);
+  inline union_pw_aff reset_user() const;
+  inline union_pw_aff scale_down_val(val v) const;
+  inline union_pw_aff scale_val(val v) const;
+  inline union_pw_aff sub(union_pw_aff upa2) const;
+  inline union_pw_aff subtract_domain(union_set uset) const;
+  inline union_pw_aff union_add(union_pw_aff upa2) const;
+  inline union_set zero_union_set() const;
 };
 
 // declarations for isl::union_pw_aff_list
-inline isl::union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr);
-inline isl::union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr);
+inline union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr);
+inline union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr);
 
 class union_pw_aff_list {
-  friend inline isl::union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr);
-  friend inline isl::union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr);
+  friend inline union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr);
+  friend inline union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr);
 
   isl_union_pw_aff_list *ptr = nullptr;
 
@@ -3292,9 +3292,9 @@ class union_pw_aff_list {
 
 public:
   inline /* implicit */ union_pw_aff_list();
-  inline /* implicit */ union_pw_aff_list(const isl::union_pw_aff_list &obj);
+  inline /* implicit */ union_pw_aff_list(const union_pw_aff_list &obj);
   inline /* implicit */ union_pw_aff_list(std::nullptr_t);
-  inline isl::union_pw_aff_list &operator=(isl::union_pw_aff_list obj);
+  inline union_pw_aff_list &operator=(union_pw_aff_list obj);
   inline ~union_pw_aff_list();
   inline __isl_give isl_union_pw_aff_list *copy() const &;
   inline __isl_give isl_union_pw_aff_list *copy() && = delete;
@@ -3302,32 +3302,32 @@ public:
   inline __isl_give isl_union_pw_aff_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::union_pw_aff_list add(isl::union_pw_aff el) const;
-  static inline isl::union_pw_aff_list alloc(isl::ctx ctx, int n);
-  inline isl::union_pw_aff_list concat(isl::union_pw_aff_list list2) const;
-  inline isl::union_pw_aff_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::union_pw_aff)> &fn) const;
-  static inline isl::union_pw_aff_list from_union_pw_aff(isl::union_pw_aff el);
-  inline isl::union_pw_aff get_at(int index) const;
-  inline isl::union_pw_aff get_union_pw_aff(int index) const;
-  inline isl::union_pw_aff_list insert(unsigned int pos, isl::union_pw_aff el) const;
+  inline union_pw_aff_list add(union_pw_aff el) const;
+  static inline union_pw_aff_list alloc(ctx ctx, int n);
+  inline union_pw_aff_list concat(union_pw_aff_list list2) const;
+  inline union_pw_aff_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(union_pw_aff)> &fn) const;
+  static inline union_pw_aff_list from_union_pw_aff(union_pw_aff el);
+  inline union_pw_aff get_at(int index) const;
+  inline union_pw_aff get_union_pw_aff(int index) const;
+  inline union_pw_aff_list insert(unsigned int pos, union_pw_aff el) const;
   inline int n_union_pw_aff() const;
-  inline isl::union_pw_aff_list reverse() const;
-  inline isl::union_pw_aff_list set_union_pw_aff(int index, isl::union_pw_aff el) const;
+  inline union_pw_aff_list reverse() const;
+  inline union_pw_aff_list set_union_pw_aff(int index, union_pw_aff el) const;
   inline int size() const;
-  inline isl::union_pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline union_pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::union_pw_multi_aff
-inline isl::union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr);
-inline isl::union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr);
+inline union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr);
+inline union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr);
 
 class union_pw_multi_aff {
-  friend inline isl::union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr);
-  friend inline isl::union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr);
+  friend inline union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr);
+  friend inline union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr);
 
   isl_union_pw_multi_aff *ptr = nullptr;
 
@@ -3335,16 +3335,16 @@ class union_pw_multi_aff {
 
 public:
   inline /* implicit */ union_pw_multi_aff();
-  inline /* implicit */ union_pw_multi_aff(const isl::union_pw_multi_aff &obj);
+  inline /* implicit */ union_pw_multi_aff(const union_pw_multi_aff &obj);
   inline /* implicit */ union_pw_multi_aff(std::nullptr_t);
-  inline /* implicit */ union_pw_multi_aff(isl::aff aff);
-  inline /* implicit */ union_pw_multi_aff(isl::pw_multi_aff pma);
-  inline explicit union_pw_multi_aff(isl::union_set uset);
-  inline explicit union_pw_multi_aff(isl::union_map umap);
-  inline explicit union_pw_multi_aff(isl::ctx ctx, const std::string &str);
-  inline /* implicit */ union_pw_multi_aff(isl::union_pw_aff upa);
-  inline explicit union_pw_multi_aff(isl::multi_union_pw_aff mupa);
-  inline isl::union_pw_multi_aff &operator=(isl::union_pw_multi_aff obj);
+  inline /* implicit */ union_pw_multi_aff(aff aff);
+  inline /* implicit */ union_pw_multi_aff(pw_multi_aff pma);
+  inline explicit union_pw_multi_aff(union_set uset);
+  inline explicit union_pw_multi_aff(union_map umap);
+  inline explicit union_pw_multi_aff(ctx ctx, const std::string &str);
+  inline /* implicit */ union_pw_multi_aff(union_pw_aff upa);
+  inline explicit union_pw_multi_aff(multi_union_pw_aff mupa);
+  inline union_pw_multi_aff &operator=(union_pw_multi_aff obj);
   inline ~union_pw_multi_aff();
   inline __isl_give isl_union_pw_multi_aff *copy() const &;
   inline __isl_give isl_union_pw_multi_aff *copy() && = delete;
@@ -3352,52 +3352,52 @@ public:
   inline __isl_give isl_union_pw_multi_aff *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::union_pw_multi_aff add(isl::union_pw_multi_aff upma2) const;
-  inline isl::union_pw_multi_aff add_pw_multi_aff(isl::pw_multi_aff pma) const;
-  inline isl::union_pw_multi_aff align_params(isl::space model) const;
-  inline isl::union_pw_multi_aff coalesce() const;
+  inline union_pw_multi_aff add(union_pw_multi_aff upma2) const;
+  inline union_pw_multi_aff add_pw_multi_aff(pw_multi_aff pma) const;
+  inline union_pw_multi_aff align_params(space model) const;
+  inline union_pw_multi_aff coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::union_set domain() const;
-  inline isl::union_pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  static inline isl::union_pw_multi_aff empty(isl::space space);
-  inline isl::pw_multi_aff extract_pw_multi_aff(isl::space space) const;
+  inline union_set domain() const;
+  inline union_pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  static inline union_pw_multi_aff empty(space space);
+  inline pw_multi_aff extract_pw_multi_aff(space space) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::union_pw_multi_aff flat_range_product(isl::union_pw_multi_aff upma2) const;
-  inline isl::stat foreach_pw_multi_aff(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const;
-  static inline isl::union_pw_multi_aff from_union_set(isl::union_set uset);
-  inline isl::pw_multi_aff_list get_pw_multi_aff_list() const;
-  inline isl::space get_space() const;
-  inline isl::union_pw_aff get_union_pw_aff(int pos) const;
-  inline isl::union_pw_multi_aff gist(isl::union_set context) const;
-  inline isl::union_pw_multi_aff gist_params(isl::set context) const;
-  inline isl::union_pw_multi_aff intersect_domain(isl::union_set uset) const;
-  inline isl::union_pw_multi_aff intersect_params(isl::set set) const;
-  inline isl::boolean involves_nan() const;
-  static inline isl::union_pw_multi_aff multi_val_on_domain(isl::union_set domain, isl::multi_val mv);
+  inline union_pw_multi_aff flat_range_product(union_pw_multi_aff upma2) const;
+  inline stat foreach_pw_multi_aff(const std::function<stat(pw_multi_aff)> &fn) const;
+  static inline union_pw_multi_aff from_union_set(union_set uset);
+  inline pw_multi_aff_list get_pw_multi_aff_list() const;
+  inline space get_space() const;
+  inline union_pw_aff get_union_pw_aff(int pos) const;
+  inline union_pw_multi_aff gist(union_set context) const;
+  inline union_pw_multi_aff gist_params(set context) const;
+  inline union_pw_multi_aff intersect_domain(union_set uset) const;
+  inline union_pw_multi_aff intersect_params(set set) const;
+  inline boolean involves_nan() const;
+  static inline union_pw_multi_aff multi_val_on_domain(union_set domain, multi_val mv);
   inline int n_pw_multi_aff() const;
-  inline isl::union_pw_multi_aff neg() const;
-  inline isl::boolean plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
-  inline isl::union_pw_multi_aff pullback(isl::union_pw_multi_aff upma2) const;
-  inline isl::union_pw_multi_aff reset_user() const;
-  inline isl::union_pw_multi_aff scale_down_val(isl::val val) const;
-  inline isl::union_pw_multi_aff scale_multi_val(isl::multi_val mv) const;
-  inline isl::union_pw_multi_aff scale_val(isl::val val) const;
-  inline isl::union_pw_multi_aff sub(isl::union_pw_multi_aff upma2) const;
-  inline isl::union_pw_multi_aff subtract_domain(isl::union_set uset) const;
-  inline isl::union_pw_multi_aff union_add(isl::union_pw_multi_aff upma2) const;
+  inline union_pw_multi_aff neg() const;
+  inline boolean plain_is_equal(const union_pw_multi_aff &upma2) const;
+  inline union_pw_multi_aff pullback(union_pw_multi_aff upma2) const;
+  inline union_pw_multi_aff reset_user() const;
+  inline union_pw_multi_aff scale_down_val(val val) const;
+  inline union_pw_multi_aff scale_multi_val(multi_val mv) const;
+  inline union_pw_multi_aff scale_val(val val) const;
+  inline union_pw_multi_aff sub(union_pw_multi_aff upma2) const;
+  inline union_pw_multi_aff subtract_domain(union_set uset) const;
+  inline union_pw_multi_aff union_add(union_pw_multi_aff upma2) const;
 };
 
 // declarations for isl::union_pw_multi_aff_list
-inline isl::union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr);
-inline isl::union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr);
+inline union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr);
+inline union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr);
 
 class union_pw_multi_aff_list {
-  friend inline isl::union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr);
-  friend inline isl::union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr);
+  friend inline union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr);
+  friend inline union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr);
 
   isl_union_pw_multi_aff_list *ptr = nullptr;
 
@@ -3405,9 +3405,9 @@ class union_pw_multi_aff_list {
 
 public:
   inline /* implicit */ union_pw_multi_aff_list();
-  inline /* implicit */ union_pw_multi_aff_list(const isl::union_pw_multi_aff_list &obj);
+  inline /* implicit */ union_pw_multi_aff_list(const union_pw_multi_aff_list &obj);
   inline /* implicit */ union_pw_multi_aff_list(std::nullptr_t);
-  inline isl::union_pw_multi_aff_list &operator=(isl::union_pw_multi_aff_list obj);
+  inline union_pw_multi_aff_list &operator=(union_pw_multi_aff_list obj);
   inline ~union_pw_multi_aff_list();
   inline __isl_give isl_union_pw_multi_aff_list *copy() const &;
   inline __isl_give isl_union_pw_multi_aff_list *copy() && = delete;
@@ -3415,32 +3415,32 @@ public:
   inline __isl_give isl_union_pw_multi_aff_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::union_pw_multi_aff_list add(isl::union_pw_multi_aff el) const;
-  static inline isl::union_pw_multi_aff_list alloc(isl::ctx ctx, int n);
-  inline isl::union_pw_multi_aff_list concat(isl::union_pw_multi_aff_list list2) const;
-  inline isl::union_pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::union_pw_multi_aff)> &fn) const;
-  static inline isl::union_pw_multi_aff_list from_union_pw_multi_aff(isl::union_pw_multi_aff el);
-  inline isl::union_pw_multi_aff get_at(int index) const;
-  inline isl::union_pw_multi_aff get_union_pw_multi_aff(int index) const;
-  inline isl::union_pw_multi_aff_list insert(unsigned int pos, isl::union_pw_multi_aff el) const;
+  inline union_pw_multi_aff_list add(union_pw_multi_aff el) const;
+  static inline union_pw_multi_aff_list alloc(ctx ctx, int n);
+  inline union_pw_multi_aff_list concat(union_pw_multi_aff_list list2) const;
+  inline union_pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(union_pw_multi_aff)> &fn) const;
+  static inline union_pw_multi_aff_list from_union_pw_multi_aff(union_pw_multi_aff el);
+  inline union_pw_multi_aff get_at(int index) const;
+  inline union_pw_multi_aff get_union_pw_multi_aff(int index) const;
+  inline union_pw_multi_aff_list insert(unsigned int pos, union_pw_multi_aff el) const;
   inline int n_union_pw_multi_aff() const;
-  inline isl::union_pw_multi_aff_list reverse() const;
-  inline isl::union_pw_multi_aff_list set_union_pw_multi_aff(int index, isl::union_pw_multi_aff el) const;
+  inline union_pw_multi_aff_list reverse() const;
+  inline union_pw_multi_aff_list set_union_pw_multi_aff(int index, union_pw_multi_aff el) const;
   inline int size() const;
-  inline isl::union_pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline union_pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::union_pw_qpolynomial
-inline isl::union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr);
-inline isl::union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr);
+inline union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr);
+inline union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr);
 
 class union_pw_qpolynomial {
-  friend inline isl::union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr);
-  friend inline isl::union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr);
+  friend inline union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr);
+  friend inline union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr);
 
   isl_union_pw_qpolynomial *ptr = nullptr;
 
@@ -3448,10 +3448,10 @@ class union_pw_qpolynomial {
 
 public:
   inline /* implicit */ union_pw_qpolynomial();
-  inline /* implicit */ union_pw_qpolynomial(const isl::union_pw_qpolynomial &obj);
+  inline /* implicit */ union_pw_qpolynomial(const union_pw_qpolynomial &obj);
   inline /* implicit */ union_pw_qpolynomial(std::nullptr_t);
-  inline explicit union_pw_qpolynomial(isl::ctx ctx, const std::string &str);
-  inline isl::union_pw_qpolynomial &operator=(isl::union_pw_qpolynomial obj);
+  inline explicit union_pw_qpolynomial(ctx ctx, const std::string &str);
+  inline union_pw_qpolynomial &operator=(union_pw_qpolynomial obj);
   inline ~union_pw_qpolynomial();
   inline __isl_give isl_union_pw_qpolynomial *copy() const &;
   inline __isl_give isl_union_pw_qpolynomial *copy() && = delete;
@@ -3459,48 +3459,48 @@ public:
   inline __isl_give isl_union_pw_qpolynomial *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
 
-  inline isl::union_pw_qpolynomial add(isl::union_pw_qpolynomial upwqp2) const;
-  inline isl::union_pw_qpolynomial add_pw_qpolynomial(isl::pw_qpolynomial pwqp) const;
-  inline isl::union_pw_qpolynomial align_params(isl::space model) const;
-  inline isl::union_pw_qpolynomial coalesce() const;
+  inline union_pw_qpolynomial add(union_pw_qpolynomial upwqp2) const;
+  inline union_pw_qpolynomial add_pw_qpolynomial(pw_qpolynomial pwqp) const;
+  inline union_pw_qpolynomial align_params(space model) const;
+  inline union_pw_qpolynomial coalesce() const;
   inline unsigned int dim(isl::dim type) const;
-  inline isl::union_set domain() const;
-  inline isl::union_pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::val eval(isl::point pnt) const;
-  inline isl::pw_qpolynomial extract_pw_qpolynomial(isl::space dim) const;
+  inline union_set domain() const;
+  inline union_pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
+  inline val eval(point pnt) const;
+  inline pw_qpolynomial extract_pw_qpolynomial(space dim) const;
   inline int find_dim_by_name(isl::dim type, const std::string &name) const;
-  inline isl::stat foreach_pw_qpolynomial(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const;
-  static inline isl::union_pw_qpolynomial from_pw_qpolynomial(isl::pw_qpolynomial pwqp);
-  inline isl::pw_qpolynomial_list get_pw_qpolynomial_list() const;
-  inline isl::space get_space() const;
-  inline isl::union_pw_qpolynomial gist(isl::union_set context) const;
-  inline isl::union_pw_qpolynomial gist_params(isl::set context) const;
-  inline isl::union_pw_qpolynomial intersect_domain(isl::union_set uset) const;
-  inline isl::union_pw_qpolynomial intersect_params(isl::set set) const;
-  inline isl::boolean involves_nan() const;
-  inline isl::union_pw_qpolynomial mul(isl::union_pw_qpolynomial upwqp2) const;
+  inline stat foreach_pw_qpolynomial(const std::function<stat(pw_qpolynomial)> &fn) const;
+  static inline union_pw_qpolynomial from_pw_qpolynomial(pw_qpolynomial pwqp);
+  inline pw_qpolynomial_list get_pw_qpolynomial_list() const;
+  inline space get_space() const;
+  inline union_pw_qpolynomial gist(union_set context) const;
+  inline union_pw_qpolynomial gist_params(set context) const;
+  inline union_pw_qpolynomial intersect_domain(union_set uset) const;
+  inline union_pw_qpolynomial intersect_params(set set) const;
+  inline boolean involves_nan() const;
+  inline union_pw_qpolynomial mul(union_pw_qpolynomial upwqp2) const;
   inline int n_pw_qpolynomial() const;
-  inline isl::union_pw_qpolynomial neg() const;
-  inline isl::boolean plain_is_equal(const isl::union_pw_qpolynomial &upwqp2) const;
-  inline isl::union_pw_qpolynomial reset_user() const;
-  inline isl::union_pw_qpolynomial scale_down_val(isl::val v) const;
-  inline isl::union_pw_qpolynomial scale_val(isl::val v) const;
-  inline isl::union_pw_qpolynomial sub(isl::union_pw_qpolynomial upwqp2) const;
-  inline isl::union_pw_qpolynomial subtract_domain(isl::union_set uset) const;
-  inline isl::union_pw_qpolynomial to_polynomial(int sign) const;
-  static inline isl::union_pw_qpolynomial zero(isl::space dim);
+  inline union_pw_qpolynomial neg() const;
+  inline boolean plain_is_equal(const union_pw_qpolynomial &upwqp2) const;
+  inline union_pw_qpolynomial reset_user() const;
+  inline union_pw_qpolynomial scale_down_val(val v) const;
+  inline union_pw_qpolynomial scale_val(val v) const;
+  inline union_pw_qpolynomial sub(union_pw_qpolynomial upwqp2) const;
+  inline union_pw_qpolynomial subtract_domain(union_set uset) const;
+  inline union_pw_qpolynomial to_polynomial(int sign) const;
+  static inline union_pw_qpolynomial zero(space dim);
 };
 
 // declarations for isl::union_set
-inline isl::union_set manage(__isl_take isl_union_set *ptr);
-inline isl::union_set manage_copy(__isl_keep isl_union_set *ptr);
+inline union_set manage(__isl_take isl_union_set *ptr);
+inline union_set manage_copy(__isl_keep isl_union_set *ptr);
 
 class union_set {
-  friend inline isl::union_set manage(__isl_take isl_union_set *ptr);
-  friend inline isl::union_set manage_copy(__isl_keep isl_union_set *ptr);
+  friend inline union_set manage(__isl_take isl_union_set *ptr);
+  friend inline union_set manage_copy(__isl_keep isl_union_set *ptr);
 
   isl_union_set *ptr = nullptr;
 
@@ -3508,13 +3508,13 @@ class union_set {
 
 public:
   inline /* implicit */ union_set();
-  inline /* implicit */ union_set(const isl::union_set &obj);
+  inline /* implicit */ union_set(const union_set &obj);
   inline /* implicit */ union_set(std::nullptr_t);
-  inline /* implicit */ union_set(isl::basic_set bset);
-  inline /* implicit */ union_set(isl::set set);
-  inline /* implicit */ union_set(isl::point pnt);
-  inline explicit union_set(isl::ctx ctx, const std::string &str);
-  inline isl::union_set &operator=(isl::union_set obj);
+  inline /* implicit */ union_set(basic_set bset);
+  inline /* implicit */ union_set(set set);
+  inline /* implicit */ union_set(point pnt);
+  inline explicit union_set(ctx ctx, const std::string &str);
+  inline union_set &operator=(union_set obj);
   inline ~union_set();
   inline __isl_give isl_union_set *copy() const &;
   inline __isl_give isl_union_set *copy() && = delete;
@@ -3522,76 +3522,76 @@ public:
   inline __isl_give isl_union_set *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::union_set add_set(isl::set set) const;
-  inline isl::union_set affine_hull() const;
-  inline isl::union_set align_params(isl::space model) const;
-  inline isl::union_set apply(isl::union_map umap) const;
-  inline isl::union_set coalesce() const;
-  inline isl::union_set coefficients() const;
-  inline isl::schedule compute_schedule(isl::union_map validity, isl::union_map proximity) const;
-  inline isl::boolean contains(const isl::space &space) const;
-  inline isl::union_set detect_equalities() const;
+  inline union_set add_set(set set) const;
+  inline union_set affine_hull() const;
+  inline union_set align_params(space model) const;
+  inline union_set apply(union_map umap) const;
+  inline union_set coalesce() const;
+  inline union_set coefficients() const;
+  inline schedule compute_schedule(union_map validity, union_map proximity) const;
+  inline boolean contains(const space &space) const;
+  inline union_set detect_equalities() const;
   inline unsigned int dim(isl::dim type) const;
-  static inline isl::union_set empty(isl::space space);
-  inline isl::set extract_set(isl::space dim) const;
-  inline isl::stat foreach_point(const std::function<isl::stat(isl::point)> &fn) const;
-  inline isl::stat foreach_set(const std::function<isl::stat(isl::set)> &fn) const;
-  inline isl::basic_set_list get_basic_set_list() const;
+  static inline union_set empty(space space);
+  inline set extract_set(space dim) const;
+  inline stat foreach_point(const std::function<stat(point)> &fn) const;
+  inline stat foreach_set(const std::function<stat(set)> &fn) const;
+  inline basic_set_list get_basic_set_list() const;
   inline uint32_t get_hash() const;
-  inline isl::set_list get_set_list() const;
-  inline isl::space get_space() const;
-  inline isl::union_set gist(isl::union_set context) const;
-  inline isl::union_set gist_params(isl::set set) const;
-  inline isl::union_map identity() const;
-  inline isl::union_pw_multi_aff identity_union_pw_multi_aff() const;
-  inline isl::union_set intersect(isl::union_set uset2) const;
-  inline isl::union_set intersect_params(isl::set set) const;
-  inline isl::boolean is_disjoint(const isl::union_set &uset2) const;
-  inline isl::boolean is_empty() const;
-  inline isl::boolean is_equal(const isl::union_set &uset2) const;
-  inline isl::boolean is_params() const;
-  inline isl::boolean is_strict_subset(const isl::union_set &uset2) const;
-  inline isl::boolean is_subset(const isl::union_set &uset2) const;
-  inline isl::union_map lex_ge_union_set(isl::union_set uset2) const;
-  inline isl::union_map lex_gt_union_set(isl::union_set uset2) const;
-  inline isl::union_map lex_le_union_set(isl::union_set uset2) const;
-  inline isl::union_map lex_lt_union_set(isl::union_set uset2) const;
-  inline isl::union_set lexmax() const;
-  inline isl::union_set lexmin() const;
-  inline isl::multi_val min_multi_union_pw_aff(const isl::multi_union_pw_aff &obj) const;
+  inline set_list get_set_list() const;
+  inline space get_space() const;
+  inline union_set gist(union_set context) const;
+  inline union_set gist_params(set set) const;
+  inline union_map identity() const;
+  inline union_pw_multi_aff identity_union_pw_multi_aff() const;
+  inline union_set intersect(union_set uset2) const;
+  inline union_set intersect_params(set set) const;
+  inline boolean is_disjoint(const union_set &uset2) const;
+  inline boolean is_empty() const;
+  inline boolean is_equal(const union_set &uset2) const;
+  inline boolean is_params() const;
+  inline boolean is_strict_subset(const union_set &uset2) const;
+  inline boolean is_subset(const union_set &uset2) const;
+  inline union_map lex_ge_union_set(union_set uset2) const;
+  inline union_map lex_gt_union_set(union_set uset2) const;
+  inline union_map lex_le_union_set(union_set uset2) const;
+  inline union_map lex_lt_union_set(union_set uset2) const;
+  inline union_set lexmax() const;
+  inline union_set lexmin() const;
+  inline multi_val min_multi_union_pw_aff(const multi_union_pw_aff &obj) const;
   inline int n_set() const;
-  inline isl::set params() const;
-  inline isl::union_set polyhedral_hull() const;
-  inline isl::union_set preimage(isl::multi_aff ma) const;
-  inline isl::union_set preimage(isl::pw_multi_aff pma) const;
-  inline isl::union_set preimage(isl::union_pw_multi_aff upma) const;
-  inline isl::union_set product(isl::union_set uset2) const;
-  inline isl::union_set project_out(isl::dim type, unsigned int first, unsigned int n) const;
-  inline isl::union_set remove_divs() const;
-  inline isl::union_set remove_redundancies() const;
-  inline isl::union_set reset_user() const;
-  inline isl::basic_set sample() const;
-  inline isl::point sample_point() const;
-  inline isl::union_set simple_hull() const;
-  inline isl::union_set solutions() const;
-  inline isl::union_set subtract(isl::union_set uset2) const;
-  inline isl::union_set unite(isl::union_set uset2) const;
-  inline isl::union_set universe() const;
-  inline isl::union_map unwrap() const;
-  inline isl::union_map wrapped_domain_map() const;
+  inline set params() const;
+  inline union_set polyhedral_hull() const;
+  inline union_set preimage(multi_aff ma) const;
+  inline union_set preimage(pw_multi_aff pma) const;
+  inline union_set preimage(union_pw_multi_aff upma) const;
+  inline union_set product(union_set uset2) const;
+  inline union_set project_out(isl::dim type, unsigned int first, unsigned int n) const;
+  inline union_set remove_divs() const;
+  inline union_set remove_redundancies() const;
+  inline union_set reset_user() const;
+  inline basic_set sample() const;
+  inline point sample_point() const;
+  inline union_set simple_hull() const;
+  inline union_set solutions() const;
+  inline union_set subtract(union_set uset2) const;
+  inline union_set unite(union_set uset2) const;
+  inline union_set universe() const;
+  inline union_map unwrap() const;
+  inline union_map wrapped_domain_map() const;
 };
 
 // declarations for isl::union_set_list
-inline isl::union_set_list manage(__isl_take isl_union_set_list *ptr);
-inline isl::union_set_list manage_copy(__isl_keep isl_union_set_list *ptr);
+inline union_set_list manage(__isl_take isl_union_set_list *ptr);
+inline union_set_list manage_copy(__isl_keep isl_union_set_list *ptr);
 
 class union_set_list {
-  friend inline isl::union_set_list manage(__isl_take isl_union_set_list *ptr);
-  friend inline isl::union_set_list manage_copy(__isl_keep isl_union_set_list *ptr);
+  friend inline union_set_list manage(__isl_take isl_union_set_list *ptr);
+  friend inline union_set_list manage_copy(__isl_keep isl_union_set_list *ptr);
 
   isl_union_set_list *ptr = nullptr;
 
@@ -3599,9 +3599,9 @@ class union_set_list {
 
 public:
   inline /* implicit */ union_set_list();
-  inline /* implicit */ union_set_list(const isl::union_set_list &obj);
+  inline /* implicit */ union_set_list(const union_set_list &obj);
   inline /* implicit */ union_set_list(std::nullptr_t);
-  inline isl::union_set_list &operator=(isl::union_set_list obj);
+  inline union_set_list &operator=(union_set_list obj);
   inline ~union_set_list();
   inline __isl_give isl_union_set_list *copy() const &;
   inline __isl_give isl_union_set_list *copy() && = delete;
@@ -3609,33 +3609,33 @@ public:
   inline __isl_give isl_union_set_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::union_set_list add(isl::union_set el) const;
-  static inline isl::union_set_list alloc(isl::ctx ctx, int n);
-  inline isl::union_set_list concat(isl::union_set_list list2) const;
-  inline isl::union_set_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::union_set)> &fn) const;
-  static inline isl::union_set_list from_union_set(isl::union_set el);
-  inline isl::union_set get_at(int index) const;
-  inline isl::union_set get_union_set(int index) const;
-  inline isl::union_set_list insert(unsigned int pos, isl::union_set el) const;
+  inline union_set_list add(union_set el) const;
+  static inline union_set_list alloc(ctx ctx, int n);
+  inline union_set_list concat(union_set_list list2) const;
+  inline union_set_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(union_set)> &fn) const;
+  static inline union_set_list from_union_set(union_set el);
+  inline union_set get_at(int index) const;
+  inline union_set get_union_set(int index) const;
+  inline union_set_list insert(unsigned int pos, union_set el) const;
   inline int n_union_set() const;
-  inline isl::union_set_list reverse() const;
-  inline isl::union_set_list set_union_set(int index, isl::union_set el) const;
+  inline union_set_list reverse() const;
+  inline union_set_list set_union_set(int index, union_set el) const;
   inline int size() const;
-  inline isl::union_set_list swap(unsigned int pos1, unsigned int pos2) const;
-  inline isl::union_set unite() const;
+  inline union_set_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline union_set unite() const;
 };
 
 // declarations for isl::val
-inline isl::val manage(__isl_take isl_val *ptr);
-inline isl::val manage_copy(__isl_keep isl_val *ptr);
+inline val manage(__isl_take isl_val *ptr);
+inline val manage_copy(__isl_keep isl_val *ptr);
 
 class val {
-  friend inline isl::val manage(__isl_take isl_val *ptr);
-  friend inline isl::val manage_copy(__isl_keep isl_val *ptr);
+  friend inline val manage(__isl_take isl_val *ptr);
+  friend inline val manage_copy(__isl_keep isl_val *ptr);
 
   isl_val *ptr = nullptr;
 
@@ -3643,11 +3643,11 @@ class val {
 
 public:
   inline /* implicit */ val();
-  inline /* implicit */ val(const isl::val &obj);
+  inline /* implicit */ val(const val &obj);
   inline /* implicit */ val(std::nullptr_t);
-  inline explicit val(isl::ctx ctx, const std::string &str);
-  inline explicit val(isl::ctx ctx, long i);
-  inline isl::val &operator=(isl::val obj);
+  inline explicit val(ctx ctx, const std::string &str);
+  inline explicit val(ctx ctx, long i);
+  inline val &operator=(val obj);
   inline ~val();
   inline __isl_give isl_val *copy() const &;
   inline __isl_give isl_val *copy() && = delete;
@@ -3655,72 +3655,72 @@ public:
   inline __isl_give isl_val *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline std::string to_str() const;
   inline void dump() const;
 
-  inline isl::val two_exp() const;
-  inline isl::val abs() const;
-  inline isl::boolean abs_eq(const isl::val &v2) const;
-  inline isl::val add(isl::val v2) const;
-  inline isl::val add_ui(unsigned long v2) const;
-  inline isl::val ceil() const;
+  inline val two_exp() const;
+  inline val abs() const;
+  inline boolean abs_eq(const val &v2) const;
+  inline val add(val v2) const;
+  inline val add_ui(unsigned long v2) const;
+  inline val ceil() const;
   inline int cmp_si(long i) const;
-  inline isl::val div(isl::val v2) const;
-  inline isl::val div_ui(unsigned long v2) const;
-  inline isl::boolean eq(const isl::val &v2) const;
-  inline isl::val floor() const;
-  inline isl::val gcd(isl::val v2) const;
-  inline isl::boolean ge(const isl::val &v2) const;
+  inline val div(val v2) const;
+  inline val div_ui(unsigned long v2) const;
+  inline boolean eq(const val &v2) const;
+  inline val floor() const;
+  inline val gcd(val v2) const;
+  inline boolean ge(const val &v2) const;
   inline uint32_t get_hash() const;
   inline long get_num_si() const;
-  inline isl::boolean gt(const isl::val &v2) const;
-  inline isl::boolean gt_si(long i) const;
-  static inline isl::val infty(isl::ctx ctx);
-  static inline isl::val int_from_ui(isl::ctx ctx, unsigned long u);
-  inline isl::val inv() const;
-  inline isl::boolean is_divisible_by(const isl::val &v2) const;
-  inline isl::boolean is_infty() const;
-  inline isl::boolean is_int() const;
-  inline isl::boolean is_nan() const;
-  inline isl::boolean is_neg() const;
-  inline isl::boolean is_neginfty() const;
-  inline isl::boolean is_negone() const;
-  inline isl::boolean is_nonneg() const;
-  inline isl::boolean is_nonpos() const;
-  inline isl::boolean is_one() const;
-  inline isl::boolean is_pos() const;
-  inline isl::boolean is_rat() const;
-  inline isl::boolean is_zero() const;
-  inline isl::boolean le(const isl::val &v2) const;
-  inline isl::boolean lt(const isl::val &v2) const;
-  inline isl::val max(isl::val v2) const;
-  inline isl::val min(isl::val v2) const;
-  inline isl::val mod(isl::val v2) const;
-  inline isl::val mul(isl::val v2) const;
-  inline isl::val mul_ui(unsigned long v2) const;
+  inline boolean gt(const val &v2) const;
+  inline boolean gt_si(long i) const;
+  static inline val infty(ctx ctx);
+  static inline val int_from_ui(ctx ctx, unsigned long u);
+  inline val inv() const;
+  inline boolean is_divisible_by(const val &v2) const;
+  inline boolean is_infty() const;
+  inline boolean is_int() const;
+  inline boolean is_nan() const;
+  inline boolean is_neg() const;
+  inline boolean is_neginfty() const;
+  inline boolean is_negone() const;
+  inline boolean is_nonneg() const;
+  inline boolean is_nonpos() const;
+  inline boolean is_one() const;
+  inline boolean is_pos() const;
+  inline boolean is_rat() const;
+  inline boolean is_zero() const;
+  inline boolean le(const val &v2) const;
+  inline boolean lt(const val &v2) const;
+  inline val max(val v2) const;
+  inline val min(val v2) const;
+  inline val mod(val v2) const;
+  inline val mul(val v2) const;
+  inline val mul_ui(unsigned long v2) const;
   inline size_t n_abs_num_chunks(size_t size) const;
-  static inline isl::val nan(isl::ctx ctx);
-  inline isl::boolean ne(const isl::val &v2) const;
-  inline isl::val neg() const;
-  static inline isl::val neginfty(isl::ctx ctx);
-  static inline isl::val negone(isl::ctx ctx);
-  static inline isl::val one(isl::ctx ctx);
-  inline isl::val set_si(long i) const;
+  static inline val nan(ctx ctx);
+  inline boolean ne(const val &v2) const;
+  inline val neg() const;
+  static inline val neginfty(ctx ctx);
+  static inline val negone(ctx ctx);
+  static inline val one(ctx ctx);
+  inline val set_si(long i) const;
   inline int sgn() const;
-  inline isl::val sub(isl::val v2) const;
-  inline isl::val sub_ui(unsigned long v2) const;
-  inline isl::val trunc() const;
-  static inline isl::val zero(isl::ctx ctx);
+  inline val sub(val v2) const;
+  inline val sub_ui(unsigned long v2) const;
+  inline val trunc() const;
+  static inline val zero(ctx ctx);
 };
 
 // declarations for isl::val_list
-inline isl::val_list manage(__isl_take isl_val_list *ptr);
-inline isl::val_list manage_copy(__isl_keep isl_val_list *ptr);
+inline val_list manage(__isl_take isl_val_list *ptr);
+inline val_list manage_copy(__isl_keep isl_val_list *ptr);
 
 class val_list {
-  friend inline isl::val_list manage(__isl_take isl_val_list *ptr);
-  friend inline isl::val_list manage_copy(__isl_keep isl_val_list *ptr);
+  friend inline val_list manage(__isl_take isl_val_list *ptr);
+  friend inline val_list manage_copy(__isl_keep isl_val_list *ptr);
 
   isl_val_list *ptr = nullptr;
 
@@ -3728,9 +3728,9 @@ class val_list {
 
 public:
   inline /* implicit */ val_list();
-  inline /* implicit */ val_list(const isl::val_list &obj);
+  inline /* implicit */ val_list(const val_list &obj);
   inline /* implicit */ val_list(std::nullptr_t);
-  inline isl::val_list &operator=(isl::val_list obj);
+  inline val_list &operator=(val_list obj);
   inline ~val_list();
   inline __isl_give isl_val_list *copy() const &;
   inline __isl_give isl_val_list *copy() && = delete;
@@ -3738,32 +3738,32 @@ public:
   inline __isl_give isl_val_list *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::val_list add(isl::val el) const;
-  static inline isl::val_list alloc(isl::ctx ctx, int n);
-  inline isl::val_list concat(isl::val_list list2) const;
-  inline isl::val_list drop(unsigned int first, unsigned int n) const;
-  inline isl::stat foreach(const std::function<isl::stat(isl::val)> &fn) const;
-  static inline isl::val_list from_val(isl::val el);
-  inline isl::val get_at(int index) const;
-  inline isl::val get_val(int index) const;
-  inline isl::val_list insert(unsigned int pos, isl::val el) const;
+  inline val_list add(val el) const;
+  static inline val_list alloc(ctx ctx, int n);
+  inline val_list concat(val_list list2) const;
+  inline val_list drop(unsigned int first, unsigned int n) const;
+  inline stat foreach(const std::function<stat(val)> &fn) const;
+  static inline val_list from_val(val el);
+  inline val get_at(int index) const;
+  inline val get_val(int index) const;
+  inline val_list insert(unsigned int pos, val el) const;
   inline int n_val() const;
-  inline isl::val_list reverse() const;
-  inline isl::val_list set_val(int index, isl::val el) const;
+  inline val_list reverse() const;
+  inline val_list set_val(int index, val el) const;
   inline int size() const;
-  inline isl::val_list swap(unsigned int pos1, unsigned int pos2) const;
+  inline val_list swap(unsigned int pos1, unsigned int pos2) const;
 };
 
 // declarations for isl::vec
-inline isl::vec manage(__isl_take isl_vec *ptr);
-inline isl::vec manage_copy(__isl_keep isl_vec *ptr);
+inline vec manage(__isl_take isl_vec *ptr);
+inline vec manage_copy(__isl_keep isl_vec *ptr);
 
 class vec {
-  friend inline isl::vec manage(__isl_take isl_vec *ptr);
-  friend inline isl::vec manage_copy(__isl_keep isl_vec *ptr);
+  friend inline vec manage(__isl_take isl_vec *ptr);
+  friend inline vec manage_copy(__isl_keep isl_vec *ptr);
 
   isl_vec *ptr = nullptr;
 
@@ -3771,9 +3771,9 @@ class vec {
 
 public:
   inline /* implicit */ vec();
-  inline /* implicit */ vec(const isl::vec &obj);
+  inline /* implicit */ vec(const vec &obj);
   inline /* implicit */ vec(std::nullptr_t);
-  inline isl::vec &operator=(isl::vec obj);
+  inline vec &operator=(vec obj);
   inline ~vec();
   inline __isl_give isl_vec *copy() const &;
   inline __isl_give isl_vec *copy() && = delete;
@@ -3781,40 +3781,40 @@ public:
   inline __isl_give isl_vec *release();
   inline bool is_null() const;
   inline explicit operator bool() const;
-  inline isl::ctx get_ctx() const;
+  inline ctx get_ctx() const;
   inline void dump() const;
 
-  inline isl::vec add(isl::vec vec2) const;
-  inline isl::vec add_els(unsigned int n) const;
-  static inline isl::vec alloc(isl::ctx ctx, unsigned int size);
-  inline isl::vec ceil() const;
-  inline isl::vec clr() const;
-  inline int cmp_element(const isl::vec &vec2, int pos) const;
-  inline isl::vec concat(isl::vec vec2) const;
-  inline isl::vec drop_els(unsigned int pos, unsigned int n) const;
-  inline isl::vec extend(unsigned int size) const;
-  inline isl::val get_element_val(int pos) const;
-  inline isl::vec insert_els(unsigned int pos, unsigned int n) const;
-  inline isl::vec insert_zero_els(unsigned int pos, unsigned int n) const;
-  inline isl::boolean is_equal(const isl::vec &vec2) const;
-  inline isl::vec mat_product(isl::mat mat) const;
-  inline isl::vec move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const;
-  inline isl::vec neg() const;
-  inline isl::vec set_element_si(int pos, int v) const;
-  inline isl::vec set_element_val(int pos, isl::val v) const;
-  inline isl::vec set_si(int v) const;
-  inline isl::vec set_val(isl::val v) const;
+  inline vec add(vec vec2) const;
+  inline vec add_els(unsigned int n) const;
+  static inline vec alloc(ctx ctx, unsigned int size);
+  inline vec ceil() const;
+  inline vec clr() const;
+  inline int cmp_element(const vec &vec2, int pos) const;
+  inline vec concat(vec vec2) const;
+  inline vec drop_els(unsigned int pos, unsigned int n) const;
+  inline vec extend(unsigned int size) const;
+  inline val get_element_val(int pos) const;
+  inline vec insert_els(unsigned int pos, unsigned int n) const;
+  inline vec insert_zero_els(unsigned int pos, unsigned int n) const;
+  inline boolean is_equal(const vec &vec2) const;
+  inline vec mat_product(mat mat) const;
+  inline vec move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const;
+  inline vec neg() const;
+  inline vec set_element_si(int pos, int v) const;
+  inline vec set_element_val(int pos, val v) const;
+  inline vec set_si(int v) const;
+  inline vec set_val(val v) const;
   inline int size() const;
-  inline isl::vec sort() const;
-  static inline isl::vec zero(isl::ctx ctx, unsigned int size);
-  inline isl::vec zero_extend(unsigned int size) const;
+  inline vec sort() const;
+  static inline vec zero(ctx ctx, unsigned int size);
+  inline vec zero_extend(unsigned int size) const;
 };
 
 // implementations for isl::aff
-isl::aff manage(__isl_take isl_aff *ptr) {
+aff manage(__isl_take isl_aff *ptr) {
   return aff(ptr);
 }
-isl::aff manage_copy(__isl_keep isl_aff *ptr) {
+aff manage_copy(__isl_keep isl_aff *ptr) {
   ptr = isl_aff_copy(ptr);
   return aff(ptr);
 }
@@ -3822,7 +3822,7 @@ isl::aff manage_copy(__isl_keep isl_aff
 aff::aff()
     : ptr(nullptr) {}
 
-aff::aff(const isl::aff &obj)
+aff::aff(const aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -3834,23 +3834,23 @@ aff::aff(std::nullptr_t)
 aff::aff(__isl_take isl_aff *ptr)
     : ptr(ptr) {}
 
-aff::aff(isl::local_space ls)
+aff::aff(local_space ls)
 {
   auto res = isl_aff_zero_on_domain(ls.release());
   ptr = res;
 }
-aff::aff(isl::local_space ls, isl::val val)
+aff::aff(local_space ls, val val)
 {
   auto res = isl_aff_val_on_domain(ls.release(), val.release());
   ptr = res;
 }
-aff::aff(isl::ctx ctx, const std::string &str)
+aff::aff(ctx ctx, const std::string &str)
 {
   auto res = isl_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-aff &aff::operator=(isl::aff obj) {
+aff &aff::operator=(aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -3882,8 +3882,8 @@ aff::operator bool() const {
 }
 
 
-isl::ctx aff::get_ctx() const {
-  return isl::ctx(isl_aff_get_ctx(ptr));
+ctx aff::get_ctx() const {
+  return ctx(isl_aff_get_ctx(ptr));
 }
 std::string aff::to_str() const {
   char *Tmp = isl_aff_to_str(get());
@@ -3900,55 +3900,55 @@ void aff::dump() const {
 }
 
 
-isl::aff aff::add(isl::aff aff2) const
+aff aff::add(aff aff2) const
 {
   auto res = isl_aff_add(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::add_coefficient_si(isl::dim type, int pos, int v) const
+aff aff::add_coefficient_si(isl::dim type, int pos, int v) const
 {
   auto res = isl_aff_add_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v);
   return manage(res);
 }
 
-isl::aff aff::add_coefficient_val(isl::dim type, int pos, isl::val v) const
+aff aff::add_coefficient_val(isl::dim type, int pos, val v) const
 {
   auto res = isl_aff_add_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::aff aff::add_constant_num_si(int v) const
+aff aff::add_constant_num_si(int v) const
 {
   auto res = isl_aff_add_constant_num_si(copy(), v);
   return manage(res);
 }
 
-isl::aff aff::add_constant_si(int v) const
+aff aff::add_constant_si(int v) const
 {
   auto res = isl_aff_add_constant_si(copy(), v);
   return manage(res);
 }
 
-isl::aff aff::add_constant_val(isl::val v) const
+aff aff::add_constant_val(val v) const
 {
   auto res = isl_aff_add_constant_val(copy(), v.release());
   return manage(res);
 }
 
-isl::aff aff::add_dims(isl::dim type, unsigned int n) const
+aff aff::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::aff aff::align_params(isl::space model) const
+aff aff::align_params(space model) const
 {
   auto res = isl_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::aff aff::ceil() const
+aff aff::ceil() const
 {
   auto res = isl_aff_ceil(copy());
   return manage(res);
@@ -3966,31 +3966,31 @@ int aff::dim(isl::dim type) const
   return res;
 }
 
-isl::aff aff::div(isl::aff aff2) const
+aff aff::div(aff aff2) const
 {
   auto res = isl_aff_div(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+aff aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set aff::eq_basic_set(isl::aff aff2) const
+basic_set aff::eq_basic_set(aff aff2) const
 {
   auto res = isl_aff_eq_basic_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::set aff::eq_set(isl::aff aff2) const
+set aff::eq_set(aff aff2) const
 {
   auto res = isl_aff_eq_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::val aff::eval(isl::point pnt) const
+val aff::eval(point pnt) const
 {
   auto res = isl_aff_eval(copy(), pnt.release());
   return manage(res);
@@ -4002,43 +4002,43 @@ int aff::find_dim_by_name(isl::dim type,
   return res;
 }
 
-isl::aff aff::floor() const
+aff aff::floor() const
 {
   auto res = isl_aff_floor(copy());
   return manage(res);
 }
 
-isl::aff aff::from_range() const
+aff aff::from_range() const
 {
   auto res = isl_aff_from_range(copy());
   return manage(res);
 }
 
-isl::basic_set aff::ge_basic_set(isl::aff aff2) const
+basic_set aff::ge_basic_set(aff aff2) const
 {
   auto res = isl_aff_ge_basic_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::set aff::ge_set(isl::aff aff2) const
+set aff::ge_set(aff aff2) const
 {
   auto res = isl_aff_ge_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::val aff::get_coefficient_val(isl::dim type, int pos) const
+val aff::get_coefficient_val(isl::dim type, int pos) const
 {
   auto res = isl_aff_get_coefficient_val(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::val aff::get_constant_val() const
+val aff::get_constant_val() const
 {
   auto res = isl_aff_get_constant_val(get());
   return manage(res);
 }
 
-isl::val aff::get_denominator_val() const
+val aff::get_denominator_val() const
 {
   auto res = isl_aff_get_denominator_val(get());
   return manage(res);
@@ -4051,19 +4051,19 @@ std::string aff::get_dim_name(isl::dim t
   return tmp;
 }
 
-isl::aff aff::get_div(int pos) const
+aff aff::get_div(int pos) const
 {
   auto res = isl_aff_get_div(get(), pos);
   return manage(res);
 }
 
-isl::local_space aff::get_domain_local_space() const
+local_space aff::get_domain_local_space() const
 {
   auto res = isl_aff_get_domain_local_space(get());
   return manage(res);
 }
 
-isl::space aff::get_domain_space() const
+space aff::get_domain_space() const
 {
   auto res = isl_aff_get_domain_space(get());
   return manage(res);
@@ -4075,245 +4075,245 @@ uint32_t aff::get_hash() const
   return res;
 }
 
-isl::local_space aff::get_local_space() const
+local_space aff::get_local_space() const
 {
   auto res = isl_aff_get_local_space(get());
   return manage(res);
 }
 
-isl::space aff::get_space() const
+space aff::get_space() const
 {
   auto res = isl_aff_get_space(get());
   return manage(res);
 }
 
-isl::aff aff::gist(isl::set context) const
+aff aff::gist(set context) const
 {
   auto res = isl_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::aff aff::gist_params(isl::set context) const
+aff aff::gist_params(set context) const
 {
   auto res = isl_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::basic_set aff::gt_basic_set(isl::aff aff2) const
+basic_set aff::gt_basic_set(aff aff2) const
 {
   auto res = isl_aff_gt_basic_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::set aff::gt_set(isl::aff aff2) const
+set aff::gt_set(aff aff2) const
 {
   auto res = isl_aff_gt_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+aff aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean aff::is_cst() const
+boolean aff::is_cst() const
 {
   auto res = isl_aff_is_cst(get());
   return manage(res);
 }
 
-isl::boolean aff::is_nan() const
+boolean aff::is_nan() const
 {
   auto res = isl_aff_is_nan(get());
   return manage(res);
 }
 
-isl::basic_set aff::le_basic_set(isl::aff aff2) const
+basic_set aff::le_basic_set(aff aff2) const
 {
   auto res = isl_aff_le_basic_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::set aff::le_set(isl::aff aff2) const
+set aff::le_set(aff aff2) const
 {
   auto res = isl_aff_le_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::basic_set aff::lt_basic_set(isl::aff aff2) const
+basic_set aff::lt_basic_set(aff aff2) const
 {
   auto res = isl_aff_lt_basic_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::set aff::lt_set(isl::aff aff2) const
+set aff::lt_set(aff aff2) const
 {
   auto res = isl_aff_lt_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::mod(isl::val mod) const
+aff aff::mod(val mod) const
 {
   auto res = isl_aff_mod_val(copy(), mod.release());
   return manage(res);
 }
 
-isl::aff aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+aff aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::aff aff::mul(isl::aff aff2) const
+aff aff::mul(aff aff2) const
 {
   auto res = isl_aff_mul(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::nan_on_domain(isl::local_space ls)
+aff aff::nan_on_domain(local_space ls)
 {
   auto res = isl_aff_nan_on_domain(ls.release());
   return manage(res);
 }
 
-isl::set aff::ne_set(isl::aff aff2) const
+set aff::ne_set(aff aff2) const
 {
   auto res = isl_aff_ne_set(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::neg() const
+aff aff::neg() const
 {
   auto res = isl_aff_neg(copy());
   return manage(res);
 }
 
-isl::basic_set aff::neg_basic_set() const
+basic_set aff::neg_basic_set() const
 {
   auto res = isl_aff_neg_basic_set(copy());
   return manage(res);
 }
 
-isl::aff aff::param_on_domain_space_id(isl::space space, isl::id id)
+aff aff::param_on_domain_space_id(space space, id id)
 {
   auto res = isl_aff_param_on_domain_space_id(space.release(), id.release());
   return manage(res);
 }
 
-isl::boolean aff::plain_is_equal(const isl::aff &aff2) const
+boolean aff::plain_is_equal(const aff &aff2) const
 {
   auto res = isl_aff_plain_is_equal(get(), aff2.get());
   return manage(res);
 }
 
-isl::boolean aff::plain_is_zero() const
+boolean aff::plain_is_zero() const
 {
   auto res = isl_aff_plain_is_zero(get());
   return manage(res);
 }
 
-isl::aff aff::project_domain_on_params() const
+aff aff::project_domain_on_params() const
 {
   auto res = isl_aff_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::aff aff::pullback(isl::multi_aff ma) const
+aff aff::pullback(multi_aff ma) const
 {
   auto res = isl_aff_pullback_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::aff aff::pullback_aff(isl::aff aff2) const
+aff aff::pullback_aff(aff aff2) const
 {
   auto res = isl_aff_pullback_aff(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::scale(isl::val v) const
+aff aff::scale(val v) const
 {
   auto res = isl_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::aff aff::scale_down(isl::val v) const
+aff aff::scale_down(val v) const
 {
   auto res = isl_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::aff aff::scale_down_ui(unsigned int f) const
+aff aff::scale_down_ui(unsigned int f) const
 {
   auto res = isl_aff_scale_down_ui(copy(), f);
   return manage(res);
 }
 
-isl::aff aff::set_coefficient_si(isl::dim type, int pos, int v) const
+aff aff::set_coefficient_si(isl::dim type, int pos, int v) const
 {
   auto res = isl_aff_set_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v);
   return manage(res);
 }
 
-isl::aff aff::set_coefficient_val(isl::dim type, int pos, isl::val v) const
+aff aff::set_coefficient_val(isl::dim type, int pos, val v) const
 {
   auto res = isl_aff_set_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::aff aff::set_constant_si(int v) const
+aff aff::set_constant_si(int v) const
 {
   auto res = isl_aff_set_constant_si(copy(), v);
   return manage(res);
 }
 
-isl::aff aff::set_constant_val(isl::val v) const
+aff aff::set_constant_val(val v) const
 {
   auto res = isl_aff_set_constant_val(copy(), v.release());
   return manage(res);
 }
 
-isl::aff aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+aff aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::aff aff::set_tuple_id(isl::dim type, isl::id id) const
+aff aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::aff aff::sub(isl::aff aff2) const
+aff aff::sub(aff aff2) const
 {
   auto res = isl_aff_sub(copy(), aff2.release());
   return manage(res);
 }
 
-isl::aff aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos)
+aff aff::var_on_domain(local_space ls, isl::dim type, unsigned int pos)
 {
   auto res = isl_aff_var_on_domain(ls.release(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::basic_set aff::zero_basic_set() const
+basic_set aff::zero_basic_set() const
 {
   auto res = isl_aff_zero_basic_set(copy());
   return manage(res);
 }
 
 // implementations for isl::aff_list
-isl::aff_list manage(__isl_take isl_aff_list *ptr) {
+aff_list manage(__isl_take isl_aff_list *ptr) {
   return aff_list(ptr);
 }
-isl::aff_list manage_copy(__isl_keep isl_aff_list *ptr) {
+aff_list manage_copy(__isl_keep isl_aff_list *ptr) {
   ptr = isl_aff_list_copy(ptr);
   return aff_list(ptr);
 }
@@ -4321,7 +4321,7 @@ isl::aff_list manage_copy(__isl_keep isl
 aff_list::aff_list()
     : ptr(nullptr) {}
 
-aff_list::aff_list(const isl::aff_list &obj)
+aff_list::aff_list(const aff_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -4334,7 +4334,7 @@ aff_list::aff_list(__isl_take isl_aff_li
     : ptr(ptr) {}
 
 
-aff_list &aff_list::operator=(isl::aff_list obj) {
+aff_list &aff_list::operator=(aff_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -4366,8 +4366,8 @@ aff_list::operator bool() const {
 }
 
 
-isl::ctx aff_list::get_ctx() const {
-  return isl::ctx(isl_aff_list_get_ctx(ptr));
+ctx aff_list::get_ctx() const {
+  return ctx(isl_aff_list_get_ctx(ptr));
 }
 
 void aff_list::dump() const {
@@ -4375,63 +4375,63 @@ void aff_list::dump() const {
 }
 
 
-isl::aff_list aff_list::add(isl::aff el) const
+aff_list aff_list::add(aff el) const
 {
   auto res = isl_aff_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::aff_list aff_list::alloc(isl::ctx ctx, int n)
+aff_list aff_list::alloc(ctx ctx, int n)
 {
   auto res = isl_aff_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::aff_list aff_list::concat(isl::aff_list list2) const
+aff_list aff_list::concat(aff_list list2) const
 {
   auto res = isl_aff_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::aff_list aff_list::drop(unsigned int first, unsigned int n) const
+aff_list aff_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_aff_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat aff_list::foreach(const std::function<isl::stat(isl::aff)> &fn) const
+stat aff_list::foreach(const std::function<stat(aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::aff)> *func;
+    const std::function<stat(aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_aff_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::aff_list aff_list::from_aff(isl::aff el)
+aff_list aff_list::from_aff(aff el)
 {
   auto res = isl_aff_list_from_aff(el.release());
   return manage(res);
 }
 
-isl::aff aff_list::get_aff(int index) const
+aff aff_list::get_aff(int index) const
 {
   auto res = isl_aff_list_get_aff(get(), index);
   return manage(res);
 }
 
-isl::aff aff_list::get_at(int index) const
+aff aff_list::get_at(int index) const
 {
   auto res = isl_aff_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::aff_list aff_list::insert(unsigned int pos, isl::aff el) const
+aff_list aff_list::insert(unsigned int pos, aff el) const
 {
   auto res = isl_aff_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -4443,13 +4443,13 @@ int aff_list::n_aff() const
   return res;
 }
 
-isl::aff_list aff_list::reverse() const
+aff_list aff_list::reverse() const
 {
   auto res = isl_aff_list_reverse(copy());
   return manage(res);
 }
 
-isl::aff_list aff_list::set_aff(int index, isl::aff el) const
+aff_list aff_list::set_aff(int index, aff el) const
 {
   auto res = isl_aff_list_set_aff(copy(), index, el.release());
   return manage(res);
@@ -4461,17 +4461,17 @@ int aff_list::size() const
   return res;
 }
 
-isl::aff_list aff_list::swap(unsigned int pos1, unsigned int pos2) const
+aff_list aff_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_aff_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::ast_build
-isl::ast_build manage(__isl_take isl_ast_build *ptr) {
+ast_build manage(__isl_take isl_ast_build *ptr) {
   return ast_build(ptr);
 }
-isl::ast_build manage_copy(__isl_keep isl_ast_build *ptr) {
+ast_build manage_copy(__isl_keep isl_ast_build *ptr) {
   ptr = isl_ast_build_copy(ptr);
   return ast_build(ptr);
 }
@@ -4479,7 +4479,7 @@ isl::ast_build manage_copy(__isl_keep is
 ast_build::ast_build()
     : ptr(nullptr) {}
 
-ast_build::ast_build(const isl::ast_build &obj)
+ast_build::ast_build(const ast_build &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -4491,13 +4491,13 @@ ast_build::ast_build(std::nullptr_t)
 ast_build::ast_build(__isl_take isl_ast_build *ptr)
     : ptr(ptr) {}
 
-ast_build::ast_build(isl::ctx ctx)
+ast_build::ast_build(ctx ctx)
 {
   auto res = isl_ast_build_alloc(ctx.release());
   ptr = res;
 }
 
-ast_build &ast_build::operator=(isl::ast_build obj) {
+ast_build &ast_build::operator=(ast_build obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -4529,94 +4529,94 @@ ast_build::operator bool() const {
 }
 
 
-isl::ctx ast_build::get_ctx() const {
-  return isl::ctx(isl_ast_build_get_ctx(ptr));
+ctx ast_build::get_ctx() const {
+  return ctx(isl_ast_build_get_ctx(ptr));
 }
 
 
-isl::ast_expr ast_build::access_from(isl::pw_multi_aff pma) const
+ast_expr ast_build::access_from(pw_multi_aff pma) const
 {
   auto res = isl_ast_build_access_from_pw_multi_aff(get(), pma.release());
   return manage(res);
 }
 
-isl::ast_expr ast_build::access_from(isl::multi_pw_aff mpa) const
+ast_expr ast_build::access_from(multi_pw_aff mpa) const
 {
   auto res = isl_ast_build_access_from_multi_pw_aff(get(), mpa.release());
   return manage(res);
 }
 
-isl::ast_node ast_build::ast_from_schedule(isl::union_map schedule) const
+ast_node ast_build::ast_from_schedule(union_map schedule) const
 {
   auto res = isl_ast_build_ast_from_schedule(get(), schedule.release());
   return manage(res);
 }
 
-isl::ast_expr ast_build::call_from(isl::pw_multi_aff pma) const
+ast_expr ast_build::call_from(pw_multi_aff pma) const
 {
   auto res = isl_ast_build_call_from_pw_multi_aff(get(), pma.release());
   return manage(res);
 }
 
-isl::ast_expr ast_build::call_from(isl::multi_pw_aff mpa) const
+ast_expr ast_build::call_from(multi_pw_aff mpa) const
 {
   auto res = isl_ast_build_call_from_multi_pw_aff(get(), mpa.release());
   return manage(res);
 }
 
-isl::ast_expr ast_build::expr_from(isl::set set) const
+ast_expr ast_build::expr_from(set set) const
 {
   auto res = isl_ast_build_expr_from_set(get(), set.release());
   return manage(res);
 }
 
-isl::ast_expr ast_build::expr_from(isl::pw_aff pa) const
+ast_expr ast_build::expr_from(pw_aff pa) const
 {
   auto res = isl_ast_build_expr_from_pw_aff(get(), pa.release());
   return manage(res);
 }
 
-isl::ast_build ast_build::from_context(isl::set set)
+ast_build ast_build::from_context(set set)
 {
   auto res = isl_ast_build_from_context(set.release());
   return manage(res);
 }
 
-isl::union_map ast_build::get_schedule() const
+union_map ast_build::get_schedule() const
 {
   auto res = isl_ast_build_get_schedule(get());
   return manage(res);
 }
 
-isl::space ast_build::get_schedule_space() const
+space ast_build::get_schedule_space() const
 {
   auto res = isl_ast_build_get_schedule_space(get());
   return manage(res);
 }
 
-isl::ast_node ast_build::node_from_schedule(isl::schedule schedule) const
+ast_node ast_build::node_from_schedule(schedule schedule) const
 {
   auto res = isl_ast_build_node_from_schedule(get(), schedule.release());
   return manage(res);
 }
 
-isl::ast_node ast_build::node_from_schedule_map(isl::union_map schedule) const
+ast_node ast_build::node_from_schedule_map(union_map schedule) const
 {
   auto res = isl_ast_build_node_from_schedule_map(get(), schedule.release());
   return manage(res);
 }
 
-isl::ast_build ast_build::restrict(isl::set set) const
+ast_build ast_build::restrict(set set) const
 {
   auto res = isl_ast_build_restrict(copy(), set.release());
   return manage(res);
 }
 
 // implementations for isl::ast_expr
-isl::ast_expr manage(__isl_take isl_ast_expr *ptr) {
+ast_expr manage(__isl_take isl_ast_expr *ptr) {
   return ast_expr(ptr);
 }
-isl::ast_expr manage_copy(__isl_keep isl_ast_expr *ptr) {
+ast_expr manage_copy(__isl_keep isl_ast_expr *ptr) {
   ptr = isl_ast_expr_copy(ptr);
   return ast_expr(ptr);
 }
@@ -4624,7 +4624,7 @@ isl::ast_expr manage_copy(__isl_keep isl
 ast_expr::ast_expr()
     : ptr(nullptr) {}
 
-ast_expr::ast_expr(const isl::ast_expr &obj)
+ast_expr::ast_expr(const ast_expr &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -4637,7 +4637,7 @@ ast_expr::ast_expr(__isl_take isl_ast_ex
     : ptr(ptr) {}
 
 
-ast_expr &ast_expr::operator=(isl::ast_expr obj) {
+ast_expr &ast_expr::operator=(ast_expr obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -4669,8 +4669,8 @@ ast_expr::operator bool() const {
 }
 
 
-isl::ctx ast_expr::get_ctx() const {
-  return isl::ctx(isl_ast_expr_get_ctx(ptr));
+ctx ast_expr::get_ctx() const {
+  return ctx(isl_ast_expr_get_ctx(ptr));
 }
 std::string ast_expr::to_str() const {
   char *Tmp = isl_ast_expr_to_str(get());
@@ -4687,67 +4687,67 @@ void ast_expr::dump() const {
 }
 
 
-isl::ast_expr ast_expr::access(isl::ast_expr_list indices) const
+ast_expr ast_expr::access(ast_expr_list indices) const
 {
   auto res = isl_ast_expr_access(copy(), indices.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::add(isl::ast_expr expr2) const
+ast_expr ast_expr::add(ast_expr expr2) const
 {
   auto res = isl_ast_expr_add(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::address_of() const
+ast_expr ast_expr::address_of() const
 {
   auto res = isl_ast_expr_address_of(copy());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::call(isl::ast_expr_list arguments) const
+ast_expr ast_expr::call(ast_expr_list arguments) const
 {
   auto res = isl_ast_expr_call(copy(), arguments.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::div(isl::ast_expr expr2) const
+ast_expr ast_expr::div(ast_expr expr2) const
 {
   auto res = isl_ast_expr_div(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::eq(isl::ast_expr expr2) const
+ast_expr ast_expr::eq(ast_expr expr2) const
 {
   auto res = isl_ast_expr_eq(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::from_id(isl::id id)
+ast_expr ast_expr::from_id(id id)
 {
   auto res = isl_ast_expr_from_id(id.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::from_val(isl::val v)
+ast_expr ast_expr::from_val(val v)
 {
   auto res = isl_ast_expr_from_val(v.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::ge(isl::ast_expr expr2) const
+ast_expr ast_expr::ge(ast_expr expr2) const
 {
   auto res = isl_ast_expr_ge(copy(), expr2.release());
   return manage(res);
 }
 
-isl::id ast_expr::get_id() const
+id ast_expr::get_id() const
 {
   auto res = isl_ast_expr_get_id(get());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::get_op_arg(int pos) const
+ast_expr ast_expr::get_op_arg(int pos) const
 {
   auto res = isl_ast_expr_get_op_arg(get(), pos);
   return manage(res);
@@ -4759,73 +4759,73 @@ int ast_expr::get_op_n_arg() const
   return res;
 }
 
-isl::val ast_expr::get_val() const
+val ast_expr::get_val() const
 {
   auto res = isl_ast_expr_get_val(get());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::gt(isl::ast_expr expr2) const
+ast_expr ast_expr::gt(ast_expr expr2) const
 {
   auto res = isl_ast_expr_gt(copy(), expr2.release());
   return manage(res);
 }
 
-isl::boolean ast_expr::is_equal(const isl::ast_expr &expr2) const
+boolean ast_expr::is_equal(const ast_expr &expr2) const
 {
   auto res = isl_ast_expr_is_equal(get(), expr2.get());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::le(isl::ast_expr expr2) const
+ast_expr ast_expr::le(ast_expr expr2) const
 {
   auto res = isl_ast_expr_le(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::lt(isl::ast_expr expr2) const
+ast_expr ast_expr::lt(ast_expr expr2) const
 {
   auto res = isl_ast_expr_lt(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::mul(isl::ast_expr expr2) const
+ast_expr ast_expr::mul(ast_expr expr2) const
 {
   auto res = isl_ast_expr_mul(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::neg() const
+ast_expr ast_expr::neg() const
 {
   auto res = isl_ast_expr_neg(copy());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::pdiv_q(isl::ast_expr expr2) const
+ast_expr ast_expr::pdiv_q(ast_expr expr2) const
 {
   auto res = isl_ast_expr_pdiv_q(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::pdiv_r(isl::ast_expr expr2) const
+ast_expr ast_expr::pdiv_r(ast_expr expr2) const
 {
   auto res = isl_ast_expr_pdiv_r(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::set_op_arg(int pos, isl::ast_expr arg) const
+ast_expr ast_expr::set_op_arg(int pos, ast_expr arg) const
 {
   auto res = isl_ast_expr_set_op_arg(copy(), pos, arg.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::sub(isl::ast_expr expr2) const
+ast_expr ast_expr::sub(ast_expr expr2) const
 {
   auto res = isl_ast_expr_sub(copy(), expr2.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr::substitute_ids(isl::id_to_ast_expr id2expr) const
+ast_expr ast_expr::substitute_ids(id_to_ast_expr id2expr) const
 {
   auto res = isl_ast_expr_substitute_ids(copy(), id2expr.release());
   return manage(res);
@@ -4840,10 +4840,10 @@ std::string ast_expr::to_C_str() const
 }
 
 // implementations for isl::ast_expr_list
-isl::ast_expr_list manage(__isl_take isl_ast_expr_list *ptr) {
+ast_expr_list manage(__isl_take isl_ast_expr_list *ptr) {
   return ast_expr_list(ptr);
 }
-isl::ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr) {
+ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr) {
   ptr = isl_ast_expr_list_copy(ptr);
   return ast_expr_list(ptr);
 }
@@ -4851,7 +4851,7 @@ isl::ast_expr_list manage_copy(__isl_kee
 ast_expr_list::ast_expr_list()
     : ptr(nullptr) {}
 
-ast_expr_list::ast_expr_list(const isl::ast_expr_list &obj)
+ast_expr_list::ast_expr_list(const ast_expr_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -4864,7 +4864,7 @@ ast_expr_list::ast_expr_list(__isl_take
     : ptr(ptr) {}
 
 
-ast_expr_list &ast_expr_list::operator=(isl::ast_expr_list obj) {
+ast_expr_list &ast_expr_list::operator=(ast_expr_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -4896,8 +4896,8 @@ ast_expr_list::operator bool() const {
 }
 
 
-isl::ctx ast_expr_list::get_ctx() const {
-  return isl::ctx(isl_ast_expr_list_get_ctx(ptr));
+ctx ast_expr_list::get_ctx() const {
+  return ctx(isl_ast_expr_list_get_ctx(ptr));
 }
 
 void ast_expr_list::dump() const {
@@ -4905,63 +4905,63 @@ void ast_expr_list::dump() const {
 }
 
 
-isl::ast_expr_list ast_expr_list::add(isl::ast_expr el) const
+ast_expr_list ast_expr_list::add(ast_expr el) const
 {
   auto res = isl_ast_expr_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::alloc(isl::ctx ctx, int n)
+ast_expr_list ast_expr_list::alloc(ctx ctx, int n)
 {
   auto res = isl_ast_expr_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::concat(isl::ast_expr_list list2) const
+ast_expr_list ast_expr_list::concat(ast_expr_list list2) const
 {
   auto res = isl_ast_expr_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::drop(unsigned int first, unsigned int n) const
+ast_expr_list ast_expr_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_ast_expr_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat ast_expr_list::foreach(const std::function<isl::stat(isl::ast_expr)> &fn) const
+stat ast_expr_list::foreach(const std::function<stat(ast_expr)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::ast_expr)> *func;
+    const std::function<stat(ast_expr)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_ast_expr *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_ast_expr_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::from_ast_expr(isl::ast_expr el)
+ast_expr_list ast_expr_list::from_ast_expr(ast_expr el)
 {
   auto res = isl_ast_expr_list_from_ast_expr(el.release());
   return manage(res);
 }
 
-isl::ast_expr ast_expr_list::get_ast_expr(int index) const
+ast_expr ast_expr_list::get_ast_expr(int index) const
 {
   auto res = isl_ast_expr_list_get_ast_expr(get(), index);
   return manage(res);
 }
 
-isl::ast_expr ast_expr_list::get_at(int index) const
+ast_expr ast_expr_list::get_at(int index) const
 {
   auto res = isl_ast_expr_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::insert(unsigned int pos, isl::ast_expr el) const
+ast_expr_list ast_expr_list::insert(unsigned int pos, ast_expr el) const
 {
   auto res = isl_ast_expr_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -4973,13 +4973,13 @@ int ast_expr_list::n_ast_expr() const
   return res;
 }
 
-isl::ast_expr_list ast_expr_list::reverse() const
+ast_expr_list ast_expr_list::reverse() const
 {
   auto res = isl_ast_expr_list_reverse(copy());
   return manage(res);
 }
 
-isl::ast_expr_list ast_expr_list::set_ast_expr(int index, isl::ast_expr el) const
+ast_expr_list ast_expr_list::set_ast_expr(int index, ast_expr el) const
 {
   auto res = isl_ast_expr_list_set_ast_expr(copy(), index, el.release());
   return manage(res);
@@ -4991,17 +4991,17 @@ int ast_expr_list::size() const
   return res;
 }
 
-isl::ast_expr_list ast_expr_list::swap(unsigned int pos1, unsigned int pos2) const
+ast_expr_list ast_expr_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_ast_expr_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::ast_node
-isl::ast_node manage(__isl_take isl_ast_node *ptr) {
+ast_node manage(__isl_take isl_ast_node *ptr) {
   return ast_node(ptr);
 }
-isl::ast_node manage_copy(__isl_keep isl_ast_node *ptr) {
+ast_node manage_copy(__isl_keep isl_ast_node *ptr) {
   ptr = isl_ast_node_copy(ptr);
   return ast_node(ptr);
 }
@@ -5009,7 +5009,7 @@ isl::ast_node manage_copy(__isl_keep isl
 ast_node::ast_node()
     : ptr(nullptr) {}
 
-ast_node::ast_node(const isl::ast_node &obj)
+ast_node::ast_node(const ast_node &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -5022,7 +5022,7 @@ ast_node::ast_node(__isl_take isl_ast_no
     : ptr(ptr) {}
 
 
-ast_node &ast_node::operator=(isl::ast_node obj) {
+ast_node &ast_node::operator=(ast_node obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -5054,8 +5054,8 @@ ast_node::operator bool() const {
 }
 
 
-isl::ctx ast_node::get_ctx() const {
-  return isl::ctx(isl_ast_node_get_ctx(ptr));
+ctx ast_node::get_ctx() const {
+  return ctx(isl_ast_node_get_ctx(ptr));
 }
 std::string ast_node::to_str() const {
   char *Tmp = isl_ast_node_to_str(get());
@@ -5072,97 +5072,97 @@ void ast_node::dump() const {
 }
 
 
-isl::ast_node ast_node::alloc_user(isl::ast_expr expr)
+ast_node ast_node::alloc_user(ast_expr expr)
 {
   auto res = isl_ast_node_alloc_user(expr.release());
   return manage(res);
 }
 
-isl::ast_node_list ast_node::block_get_children() const
+ast_node_list ast_node::block_get_children() const
 {
   auto res = isl_ast_node_block_get_children(get());
   return manage(res);
 }
 
-isl::ast_node ast_node::for_get_body() const
+ast_node ast_node::for_get_body() const
 {
   auto res = isl_ast_node_for_get_body(get());
   return manage(res);
 }
 
-isl::ast_expr ast_node::for_get_cond() const
+ast_expr ast_node::for_get_cond() const
 {
   auto res = isl_ast_node_for_get_cond(get());
   return manage(res);
 }
 
-isl::ast_expr ast_node::for_get_inc() const
+ast_expr ast_node::for_get_inc() const
 {
   auto res = isl_ast_node_for_get_inc(get());
   return manage(res);
 }
 
-isl::ast_expr ast_node::for_get_init() const
+ast_expr ast_node::for_get_init() const
 {
   auto res = isl_ast_node_for_get_init(get());
   return manage(res);
 }
 
-isl::ast_expr ast_node::for_get_iterator() const
+ast_expr ast_node::for_get_iterator() const
 {
   auto res = isl_ast_node_for_get_iterator(get());
   return manage(res);
 }
 
-isl::boolean ast_node::for_is_degenerate() const
+boolean ast_node::for_is_degenerate() const
 {
   auto res = isl_ast_node_for_is_degenerate(get());
   return manage(res);
 }
 
-isl::id ast_node::get_annotation() const
+id ast_node::get_annotation() const
 {
   auto res = isl_ast_node_get_annotation(get());
   return manage(res);
 }
 
-isl::ast_expr ast_node::if_get_cond() const
+ast_expr ast_node::if_get_cond() const
 {
   auto res = isl_ast_node_if_get_cond(get());
   return manage(res);
 }
 
-isl::ast_node ast_node::if_get_else() const
+ast_node ast_node::if_get_else() const
 {
   auto res = isl_ast_node_if_get_else(get());
   return manage(res);
 }
 
-isl::ast_node ast_node::if_get_then() const
+ast_node ast_node::if_get_then() const
 {
   auto res = isl_ast_node_if_get_then(get());
   return manage(res);
 }
 
-isl::boolean ast_node::if_has_else() const
+boolean ast_node::if_has_else() const
 {
   auto res = isl_ast_node_if_has_else(get());
   return manage(res);
 }
 
-isl::id ast_node::mark_get_id() const
+id ast_node::mark_get_id() const
 {
   auto res = isl_ast_node_mark_get_id(get());
   return manage(res);
 }
 
-isl::ast_node ast_node::mark_get_node() const
+ast_node ast_node::mark_get_node() const
 {
   auto res = isl_ast_node_mark_get_node(get());
   return manage(res);
 }
 
-isl::ast_node ast_node::set_annotation(isl::id annotation) const
+ast_node ast_node::set_annotation(id annotation) const
 {
   auto res = isl_ast_node_set_annotation(copy(), annotation.release());
   return manage(res);
@@ -5176,17 +5176,17 @@ std::string ast_node::to_C_str() const
   return tmp;
 }
 
-isl::ast_expr ast_node::user_get_expr() const
+ast_expr ast_node::user_get_expr() const
 {
   auto res = isl_ast_node_user_get_expr(get());
   return manage(res);
 }
 
 // implementations for isl::ast_node_list
-isl::ast_node_list manage(__isl_take isl_ast_node_list *ptr) {
+ast_node_list manage(__isl_take isl_ast_node_list *ptr) {
   return ast_node_list(ptr);
 }
-isl::ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr) {
+ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr) {
   ptr = isl_ast_node_list_copy(ptr);
   return ast_node_list(ptr);
 }
@@ -5194,7 +5194,7 @@ isl::ast_node_list manage_copy(__isl_kee
 ast_node_list::ast_node_list()
     : ptr(nullptr) {}
 
-ast_node_list::ast_node_list(const isl::ast_node_list &obj)
+ast_node_list::ast_node_list(const ast_node_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -5207,7 +5207,7 @@ ast_node_list::ast_node_list(__isl_take
     : ptr(ptr) {}
 
 
-ast_node_list &ast_node_list::operator=(isl::ast_node_list obj) {
+ast_node_list &ast_node_list::operator=(ast_node_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -5239,8 +5239,8 @@ ast_node_list::operator bool() const {
 }
 
 
-isl::ctx ast_node_list::get_ctx() const {
-  return isl::ctx(isl_ast_node_list_get_ctx(ptr));
+ctx ast_node_list::get_ctx() const {
+  return ctx(isl_ast_node_list_get_ctx(ptr));
 }
 
 void ast_node_list::dump() const {
@@ -5248,63 +5248,63 @@ void ast_node_list::dump() const {
 }
 
 
-isl::ast_node_list ast_node_list::add(isl::ast_node el) const
+ast_node_list ast_node_list::add(ast_node el) const
 {
   auto res = isl_ast_node_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::alloc(isl::ctx ctx, int n)
+ast_node_list ast_node_list::alloc(ctx ctx, int n)
 {
   auto res = isl_ast_node_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::concat(isl::ast_node_list list2) const
+ast_node_list ast_node_list::concat(ast_node_list list2) const
 {
   auto res = isl_ast_node_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::drop(unsigned int first, unsigned int n) const
+ast_node_list ast_node_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_ast_node_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat ast_node_list::foreach(const std::function<isl::stat(isl::ast_node)> &fn) const
+stat ast_node_list::foreach(const std::function<stat(ast_node)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::ast_node)> *func;
+    const std::function<stat(ast_node)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_ast_node *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_ast_node_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::from_ast_node(isl::ast_node el)
+ast_node_list ast_node_list::from_ast_node(ast_node el)
 {
   auto res = isl_ast_node_list_from_ast_node(el.release());
   return manage(res);
 }
 
-isl::ast_node ast_node_list::get_ast_node(int index) const
+ast_node ast_node_list::get_ast_node(int index) const
 {
   auto res = isl_ast_node_list_get_ast_node(get(), index);
   return manage(res);
 }
 
-isl::ast_node ast_node_list::get_at(int index) const
+ast_node ast_node_list::get_at(int index) const
 {
   auto res = isl_ast_node_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::insert(unsigned int pos, isl::ast_node el) const
+ast_node_list ast_node_list::insert(unsigned int pos, ast_node el) const
 {
   auto res = isl_ast_node_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -5316,13 +5316,13 @@ int ast_node_list::n_ast_node() const
   return res;
 }
 
-isl::ast_node_list ast_node_list::reverse() const
+ast_node_list ast_node_list::reverse() const
 {
   auto res = isl_ast_node_list_reverse(copy());
   return manage(res);
 }
 
-isl::ast_node_list ast_node_list::set_ast_node(int index, isl::ast_node el) const
+ast_node_list ast_node_list::set_ast_node(int index, ast_node el) const
 {
   auto res = isl_ast_node_list_set_ast_node(copy(), index, el.release());
   return manage(res);
@@ -5334,17 +5334,17 @@ int ast_node_list::size() const
   return res;
 }
 
-isl::ast_node_list ast_node_list::swap(unsigned int pos1, unsigned int pos2) const
+ast_node_list ast_node_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_ast_node_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::basic_map
-isl::basic_map manage(__isl_take isl_basic_map *ptr) {
+basic_map manage(__isl_take isl_basic_map *ptr) {
   return basic_map(ptr);
 }
-isl::basic_map manage_copy(__isl_keep isl_basic_map *ptr) {
+basic_map manage_copy(__isl_keep isl_basic_map *ptr) {
   ptr = isl_basic_map_copy(ptr);
   return basic_map(ptr);
 }
@@ -5352,7 +5352,7 @@ isl::basic_map manage_copy(__isl_keep is
 basic_map::basic_map()
     : ptr(nullptr) {}
 
-basic_map::basic_map(const isl::basic_map &obj)
+basic_map::basic_map(const basic_map &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -5364,13 +5364,13 @@ basic_map::basic_map(std::nullptr_t)
 basic_map::basic_map(__isl_take isl_basic_map *ptr)
     : ptr(ptr) {}
 
-basic_map::basic_map(isl::ctx ctx, const std::string &str)
+basic_map::basic_map(ctx ctx, const std::string &str)
 {
   auto res = isl_basic_map_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-basic_map &basic_map::operator=(isl::basic_map obj) {
+basic_map &basic_map::operator=(basic_map obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -5402,8 +5402,8 @@ basic_map::operator bool() const {
 }
 
 
-isl::ctx basic_map::get_ctx() const {
-  return isl::ctx(isl_basic_map_get_ctx(ptr));
+ctx basic_map::get_ctx() const {
+  return ctx(isl_basic_map_get_ctx(ptr));
 }
 std::string basic_map::to_str() const {
   char *Tmp = isl_basic_map_to_str(get());
@@ -5420,79 +5420,79 @@ void basic_map::dump() const {
 }
 
 
-isl::basic_map basic_map::add_constraint(isl::constraint constraint) const
+basic_map basic_map::add_constraint(constraint constraint) const
 {
   auto res = isl_basic_map_add_constraint(copy(), constraint.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::add_dims(isl::dim type, unsigned int n) const
+basic_map basic_map::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_basic_map_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::basic_map basic_map::affine_hull() const
+basic_map basic_map::affine_hull() const
 {
   auto res = isl_basic_map_affine_hull(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::align_params(isl::space model) const
+basic_map basic_map::align_params(space model) const
 {
   auto res = isl_basic_map_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::apply_domain(isl::basic_map bmap2) const
+basic_map basic_map::apply_domain(basic_map bmap2) const
 {
   auto res = isl_basic_map_apply_domain(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::apply_range(isl::basic_map bmap2) const
+basic_map basic_map::apply_range(basic_map bmap2) const
 {
   auto res = isl_basic_map_apply_range(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::boolean basic_map::can_curry() const
+boolean basic_map::can_curry() const
 {
   auto res = isl_basic_map_can_curry(get());
   return manage(res);
 }
 
-isl::boolean basic_map::can_uncurry() const
+boolean basic_map::can_uncurry() const
 {
   auto res = isl_basic_map_can_uncurry(get());
   return manage(res);
 }
 
-isl::boolean basic_map::can_zip() const
+boolean basic_map::can_zip() const
 {
   auto res = isl_basic_map_can_zip(get());
   return manage(res);
 }
 
-isl::basic_map basic_map::curry() const
+basic_map basic_map::curry() const
 {
   auto res = isl_basic_map_curry(copy());
   return manage(res);
 }
 
-isl::basic_set basic_map::deltas() const
+basic_set basic_map::deltas() const
 {
   auto res = isl_basic_map_deltas(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::deltas_map() const
+basic_map basic_map::deltas_map() const
 {
   auto res = isl_basic_map_deltas_map(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::detect_equalities() const
+basic_map basic_map::detect_equalities() const
 {
   auto res = isl_basic_map_detect_equalities(copy());
   return manage(res);
@@ -5504,67 +5504,67 @@ unsigned int basic_map::dim(isl::dim typ
   return res;
 }
 
-isl::basic_set basic_map::domain() const
+basic_set basic_map::domain() const
 {
   auto res = isl_basic_map_domain(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::domain_map() const
+basic_map basic_map::domain_map() const
 {
   auto res = isl_basic_map_domain_map(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::domain_product(isl::basic_map bmap2) const
+basic_map basic_map::domain_product(basic_map bmap2) const
 {
   auto res = isl_basic_map_domain_product(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::drop_unused_params() const
+basic_map basic_map::drop_unused_params() const
 {
   auto res = isl_basic_map_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::eliminate(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::eliminate(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::empty(isl::space space)
+basic_map basic_map::empty(space space)
 {
   auto res = isl_basic_map_empty(space.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::equal(isl::space dim, unsigned int n_equal)
+basic_map basic_map::equal(space dim, unsigned int n_equal)
 {
   auto res = isl_basic_map_equal(dim.release(), n_equal);
   return manage(res);
 }
 
-isl::mat basic_map::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const
+mat basic_map::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const
 {
   auto res = isl_basic_map_equalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4), static_cast<enum isl_dim_type>(c5));
   return manage(res);
 }
 
-isl::basic_map basic_map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+basic_map basic_map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_basic_map_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
@@ -5576,111 +5576,111 @@ int basic_map::find_dim_by_name(isl::dim
   return res;
 }
 
-isl::basic_map basic_map::fix_si(isl::dim type, unsigned int pos, int value) const
+basic_map basic_map::fix_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_basic_map_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::basic_map basic_map::fix_val(isl::dim type, unsigned int pos, isl::val v) const
+basic_map basic_map::fix_val(isl::dim type, unsigned int pos, val v) const
 {
   auto res = isl_basic_map_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::flat_product(isl::basic_map bmap2) const
+basic_map basic_map::flat_product(basic_map bmap2) const
 {
   auto res = isl_basic_map_flat_product(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::flat_range_product(isl::basic_map bmap2) const
+basic_map basic_map::flat_range_product(basic_map bmap2) const
 {
   auto res = isl_basic_map_flat_range_product(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::flatten() const
+basic_map basic_map::flatten() const
 {
   auto res = isl_basic_map_flatten(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::flatten_domain() const
+basic_map basic_map::flatten_domain() const
 {
   auto res = isl_basic_map_flatten_domain(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::flatten_range() const
+basic_map basic_map::flatten_range() const
 {
   auto res = isl_basic_map_flatten_range(copy());
   return manage(res);
 }
 
-isl::stat basic_map::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const
+stat basic_map::foreach_constraint(const std::function<stat(constraint)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::constraint)> *func;
+    const std::function<stat(constraint)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_constraint *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_basic_map_foreach_constraint(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::basic_map basic_map::from_aff(isl::aff aff)
+basic_map basic_map::from_aff(aff aff)
 {
   auto res = isl_basic_map_from_aff(aff.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_aff_list(isl::space domain_space, isl::aff_list list)
+basic_map basic_map::from_aff_list(space domain_space, aff_list list)
 {
   auto res = isl_basic_map_from_aff_list(domain_space.release(), list.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_constraint(isl::constraint constraint)
+basic_map basic_map::from_constraint(constraint constraint)
 {
   auto res = isl_basic_map_from_constraint(constraint.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_domain(isl::basic_set bset)
+basic_map basic_map::from_domain(basic_set bset)
 {
   auto res = isl_basic_map_from_domain(bset.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_domain_and_range(isl::basic_set domain, isl::basic_set range)
+basic_map basic_map::from_domain_and_range(basic_set domain, basic_set range)
 {
   auto res = isl_basic_map_from_domain_and_range(domain.release(), range.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_multi_aff(isl::multi_aff maff)
+basic_map basic_map::from_multi_aff(multi_aff maff)
 {
   auto res = isl_basic_map_from_multi_aff(maff.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_qpolynomial(isl::qpolynomial qp)
+basic_map basic_map::from_qpolynomial(qpolynomial qp)
 {
   auto res = isl_basic_map_from_qpolynomial(qp.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::from_range(isl::basic_set bset)
+basic_map basic_map::from_range(basic_set bset)
 {
   auto res = isl_basic_map_from_range(bset.release());
   return manage(res);
 }
 
-isl::constraint_list basic_map::get_constraint_list() const
+constraint_list basic_map::get_constraint_list() const
 {
   auto res = isl_basic_map_get_constraint_list(get());
   return manage(res);
@@ -5693,19 +5693,19 @@ std::string basic_map::get_dim_name(isl:
   return tmp;
 }
 
-isl::aff basic_map::get_div(int pos) const
+aff basic_map::get_div(int pos) const
 {
   auto res = isl_basic_map_get_div(get(), pos);
   return manage(res);
 }
 
-isl::local_space basic_map::get_local_space() const
+local_space basic_map::get_local_space() const
 {
   auto res = isl_basic_map_get_local_space(get());
   return manage(res);
 }
 
-isl::space basic_map::get_space() const
+space basic_map::get_space() const
 {
   auto res = isl_basic_map_get_space(get());
   return manage(res);
@@ -5718,157 +5718,157 @@ std::string basic_map::get_tuple_name(is
   return tmp;
 }
 
-isl::basic_map basic_map::gist(isl::basic_map context) const
+basic_map basic_map::gist(basic_map context) const
 {
   auto res = isl_basic_map_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::gist_domain(isl::basic_set context) const
+basic_map basic_map::gist_domain(basic_set context) const
 {
   auto res = isl_basic_map_gist_domain(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean basic_map::has_dim_id(isl::dim type, unsigned int pos) const
+boolean basic_map::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_basic_map_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::basic_map basic_map::identity(isl::space dim)
+basic_map basic_map::identity(space dim)
 {
   auto res = isl_basic_map_identity(dim.release());
   return manage(res);
 }
 
-isl::boolean basic_map::image_is_bounded() const
+boolean basic_map::image_is_bounded() const
 {
   auto res = isl_basic_map_image_is_bounded(get());
   return manage(res);
 }
 
-isl::mat basic_map::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const
+mat basic_map::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const
 {
   auto res = isl_basic_map_inequalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4), static_cast<enum isl_dim_type>(c5));
   return manage(res);
 }
 
-isl::basic_map basic_map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
+basic_map basic_map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
 {
   auto res = isl_basic_map_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::intersect(isl::basic_map bmap2) const
+basic_map basic_map::intersect(basic_map bmap2) const
 {
   auto res = isl_basic_map_intersect(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::intersect_domain(isl::basic_set bset) const
+basic_map basic_map::intersect_domain(basic_set bset) const
 {
   auto res = isl_basic_map_intersect_domain(copy(), bset.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::intersect_range(isl::basic_set bset) const
+basic_map basic_map::intersect_range(basic_set bset) const
 {
   auto res = isl_basic_map_intersect_range(copy(), bset.release());
   return manage(res);
 }
 
-isl::boolean basic_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean basic_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean basic_map::is_disjoint(const isl::basic_map &bmap2) const
+boolean basic_map::is_disjoint(const basic_map &bmap2) const
 {
   auto res = isl_basic_map_is_disjoint(get(), bmap2.get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_empty() const
+boolean basic_map::is_empty() const
 {
   auto res = isl_basic_map_is_empty(get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_equal(const isl::basic_map &bmap2) const
+boolean basic_map::is_equal(const basic_map &bmap2) const
 {
   auto res = isl_basic_map_is_equal(get(), bmap2.get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_rational() const
+boolean basic_map::is_rational() const
 {
   auto res = isl_basic_map_is_rational(get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_single_valued() const
+boolean basic_map::is_single_valued() const
 {
   auto res = isl_basic_map_is_single_valued(get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_strict_subset(const isl::basic_map &bmap2) const
+boolean basic_map::is_strict_subset(const basic_map &bmap2) const
 {
   auto res = isl_basic_map_is_strict_subset(get(), bmap2.get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_subset(const isl::basic_map &bmap2) const
+boolean basic_map::is_subset(const basic_map &bmap2) const
 {
   auto res = isl_basic_map_is_subset(get(), bmap2.get());
   return manage(res);
 }
 
-isl::boolean basic_map::is_universe() const
+boolean basic_map::is_universe() const
 {
   auto res = isl_basic_map_is_universe(get());
   return manage(res);
 }
 
-isl::basic_map basic_map::less_at(isl::space dim, unsigned int pos)
+basic_map basic_map::less_at(space dim, unsigned int pos)
 {
   auto res = isl_basic_map_less_at(dim.release(), pos);
   return manage(res);
 }
 
-isl::map basic_map::lexmax() const
+map basic_map::lexmax() const
 {
   auto res = isl_basic_map_lexmax(copy());
   return manage(res);
 }
 
-isl::map basic_map::lexmin() const
+map basic_map::lexmin() const
 {
   auto res = isl_basic_map_lexmin(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff basic_map::lexmin_pw_multi_aff() const
+pw_multi_aff basic_map::lexmin_pw_multi_aff() const
 {
   auto res = isl_basic_map_lexmin_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::lower_bound_si(isl::dim type, unsigned int pos, int value) const
+basic_map basic_map::lower_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_basic_map_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::basic_map basic_map::more_at(isl::space dim, unsigned int pos)
+basic_map basic_map::more_at(space dim, unsigned int pos)
 {
   auto res = isl_basic_map_more_at(dim.release(), pos);
   return manage(res);
 }
 
-isl::basic_map basic_map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+basic_map basic_map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_basic_map_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
@@ -5880,185 +5880,185 @@ int basic_map::n_constraint() const
   return res;
 }
 
-isl::basic_map basic_map::nat_universe(isl::space dim)
+basic_map basic_map::nat_universe(space dim)
 {
   auto res = isl_basic_map_nat_universe(dim.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::neg() const
+basic_map basic_map::neg() const
 {
   auto res = isl_basic_map_neg(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+basic_map basic_map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_basic_map_order_ge(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::basic_map basic_map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+basic_map basic_map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_basic_map_order_gt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::val basic_map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
+val basic_map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
 {
   auto res = isl_basic_map_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean basic_map::plain_is_empty() const
+boolean basic_map::plain_is_empty() const
 {
   auto res = isl_basic_map_plain_is_empty(get());
   return manage(res);
 }
 
-isl::boolean basic_map::plain_is_universe() const
+boolean basic_map::plain_is_universe() const
 {
   auto res = isl_basic_map_plain_is_universe(get());
   return manage(res);
 }
 
-isl::basic_map basic_map::preimage_domain_multi_aff(isl::multi_aff ma) const
+basic_map basic_map::preimage_domain_multi_aff(multi_aff ma) const
 {
   auto res = isl_basic_map_preimage_domain_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::preimage_range_multi_aff(isl::multi_aff ma) const
+basic_map basic_map::preimage_range_multi_aff(multi_aff ma) const
 {
   auto res = isl_basic_map_preimage_range_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::product(isl::basic_map bmap2) const
+basic_map basic_map::product(basic_map bmap2) const
 {
   auto res = isl_basic_map_product(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::project_out(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_map::range() const
+basic_set basic_map::range() const
 {
   auto res = isl_basic_map_range(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::range_map() const
+basic_map basic_map::range_map() const
 {
   auto res = isl_basic_map_range_map(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::range_product(isl::basic_map bmap2) const
+basic_map basic_map::range_product(basic_map bmap2) const
 {
   auto res = isl_basic_map_range_product(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::remove_divs() const
+basic_map basic_map::remove_divs() const
 {
   auto res = isl_basic_map_remove_divs(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_map basic_map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_map basic_map::remove_redundancies() const
+basic_map basic_map::remove_redundancies() const
 {
   auto res = isl_basic_map_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::reverse() const
+basic_map basic_map::reverse() const
 {
   auto res = isl_basic_map_reverse(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::sample() const
+basic_map basic_map::sample() const
 {
   auto res = isl_basic_map_sample(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::set_tuple_id(isl::dim type, isl::id id) const
+basic_map basic_map::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_basic_map_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::set_tuple_name(isl::dim type, const std::string &s) const
+basic_map basic_map::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_basic_map_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::basic_map basic_map::sum(isl::basic_map bmap2) const
+basic_map basic_map::sum(basic_map bmap2) const
 {
   auto res = isl_basic_map_sum(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::uncurry() const
+basic_map basic_map::uncurry() const
 {
   auto res = isl_basic_map_uncurry(copy());
   return manage(res);
 }
 
-isl::map basic_map::unite(isl::basic_map bmap2) const
+map basic_map::unite(basic_map bmap2) const
 {
   auto res = isl_basic_map_union(copy(), bmap2.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::universe(isl::space space)
+basic_map basic_map::universe(space space)
 {
   auto res = isl_basic_map_universe(space.release());
   return manage(res);
 }
 
-isl::basic_map basic_map::upper_bound_si(isl::dim type, unsigned int pos, int value) const
+basic_map basic_map::upper_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_basic_map_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::basic_set basic_map::wrap() const
+basic_set basic_map::wrap() const
 {
   auto res = isl_basic_map_wrap(copy());
   return manage(res);
 }
 
-isl::basic_map basic_map::zip() const
+basic_map basic_map::zip() const
 {
   auto res = isl_basic_map_zip(copy());
   return manage(res);
 }
 
 // implementations for isl::basic_map_list
-isl::basic_map_list manage(__isl_take isl_basic_map_list *ptr) {
+basic_map_list manage(__isl_take isl_basic_map_list *ptr) {
   return basic_map_list(ptr);
 }
-isl::basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr) {
+basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr) {
   ptr = isl_basic_map_list_copy(ptr);
   return basic_map_list(ptr);
 }
@@ -6066,7 +6066,7 @@ isl::basic_map_list manage_copy(__isl_ke
 basic_map_list::basic_map_list()
     : ptr(nullptr) {}
 
-basic_map_list::basic_map_list(const isl::basic_map_list &obj)
+basic_map_list::basic_map_list(const basic_map_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -6079,7 +6079,7 @@ basic_map_list::basic_map_list(__isl_tak
     : ptr(ptr) {}
 
 
-basic_map_list &basic_map_list::operator=(isl::basic_map_list obj) {
+basic_map_list &basic_map_list::operator=(basic_map_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -6111,8 +6111,8 @@ basic_map_list::operator bool() const {
 }
 
 
-isl::ctx basic_map_list::get_ctx() const {
-  return isl::ctx(isl_basic_map_list_get_ctx(ptr));
+ctx basic_map_list::get_ctx() const {
+  return ctx(isl_basic_map_list_get_ctx(ptr));
 }
 
 void basic_map_list::dump() const {
@@ -6120,63 +6120,63 @@ void basic_map_list::dump() const {
 }
 
 
-isl::basic_map_list basic_map_list::add(isl::basic_map el) const
+basic_map_list basic_map_list::add(basic_map el) const
 {
   auto res = isl_basic_map_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::alloc(isl::ctx ctx, int n)
+basic_map_list basic_map_list::alloc(ctx ctx, int n)
 {
   auto res = isl_basic_map_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::concat(isl::basic_map_list list2) const
+basic_map_list basic_map_list::concat(basic_map_list list2) const
 {
   auto res = isl_basic_map_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::drop(unsigned int first, unsigned int n) const
+basic_map_list basic_map_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_map_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat basic_map_list::foreach(const std::function<isl::stat(isl::basic_map)> &fn) const
+stat basic_map_list::foreach(const std::function<stat(basic_map)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::basic_map)> *func;
+    const std::function<stat(basic_map)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_basic_map *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_basic_map_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::from_basic_map(isl::basic_map el)
+basic_map_list basic_map_list::from_basic_map(basic_map el)
 {
   auto res = isl_basic_map_list_from_basic_map(el.release());
   return manage(res);
 }
 
-isl::basic_map basic_map_list::get_at(int index) const
+basic_map basic_map_list::get_at(int index) const
 {
   auto res = isl_basic_map_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::basic_map basic_map_list::get_basic_map(int index) const
+basic_map basic_map_list::get_basic_map(int index) const
 {
   auto res = isl_basic_map_list_get_basic_map(get(), index);
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::insert(unsigned int pos, isl::basic_map el) const
+basic_map_list basic_map_list::insert(unsigned int pos, basic_map el) const
 {
   auto res = isl_basic_map_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -6188,13 +6188,13 @@ int basic_map_list::n_basic_map() const
   return res;
 }
 
-isl::basic_map_list basic_map_list::reverse() const
+basic_map_list basic_map_list::reverse() const
 {
   auto res = isl_basic_map_list_reverse(copy());
   return manage(res);
 }
 
-isl::basic_map_list basic_map_list::set_basic_map(int index, isl::basic_map el) const
+basic_map_list basic_map_list::set_basic_map(int index, basic_map el) const
 {
   auto res = isl_basic_map_list_set_basic_map(copy(), index, el.release());
   return manage(res);
@@ -6206,17 +6206,17 @@ int basic_map_list::size() const
   return res;
 }
 
-isl::basic_map_list basic_map_list::swap(unsigned int pos1, unsigned int pos2) const
+basic_map_list basic_map_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_basic_map_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::basic_set
-isl::basic_set manage(__isl_take isl_basic_set *ptr) {
+basic_set manage(__isl_take isl_basic_set *ptr) {
   return basic_set(ptr);
 }
-isl::basic_set manage_copy(__isl_keep isl_basic_set *ptr) {
+basic_set manage_copy(__isl_keep isl_basic_set *ptr) {
   ptr = isl_basic_set_copy(ptr);
   return basic_set(ptr);
 }
@@ -6224,7 +6224,7 @@ isl::basic_set manage_copy(__isl_keep is
 basic_set::basic_set()
     : ptr(nullptr) {}
 
-basic_set::basic_set(const isl::basic_set &obj)
+basic_set::basic_set(const basic_set &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -6236,18 +6236,18 @@ basic_set::basic_set(std::nullptr_t)
 basic_set::basic_set(__isl_take isl_basic_set *ptr)
     : ptr(ptr) {}
 
-basic_set::basic_set(isl::ctx ctx, const std::string &str)
+basic_set::basic_set(ctx ctx, const std::string &str)
 {
   auto res = isl_basic_set_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
-basic_set::basic_set(isl::point pnt)
+basic_set::basic_set(point pnt)
 {
   auto res = isl_basic_set_from_point(pnt.release());
   ptr = res;
 }
 
-basic_set &basic_set::operator=(isl::basic_set obj) {
+basic_set &basic_set::operator=(basic_set obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -6279,8 +6279,8 @@ basic_set::operator bool() const {
 }
 
 
-isl::ctx basic_set::get_ctx() const {
-  return isl::ctx(isl_basic_set_get_ctx(ptr));
+ctx basic_set::get_ctx() const {
+  return ctx(isl_basic_set_get_ctx(ptr));
 }
 std::string basic_set::to_str() const {
   char *Tmp = isl_basic_set_to_str(get());
@@ -6297,37 +6297,37 @@ void basic_set::dump() const {
 }
 
 
-isl::basic_set basic_set::affine_hull() const
+basic_set basic_set::affine_hull() const
 {
   auto res = isl_basic_set_affine_hull(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::align_params(isl::space model) const
+basic_set basic_set::align_params(space model) const
 {
   auto res = isl_basic_set_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::apply(isl::basic_map bmap) const
+basic_set basic_set::apply(basic_map bmap) const
 {
   auto res = isl_basic_set_apply(copy(), bmap.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::box_from_points(isl::point pnt1, isl::point pnt2)
+basic_set basic_set::box_from_points(point pnt1, point pnt2)
 {
   auto res = isl_basic_set_box_from_points(pnt1.release(), pnt2.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::coefficients() const
+basic_set basic_set::coefficients() const
 {
   auto res = isl_basic_set_coefficients(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::detect_equalities() const
+basic_set basic_set::detect_equalities() const
 {
   auto res = isl_basic_set_detect_equalities(copy());
   return manage(res);
@@ -6339,125 +6339,125 @@ unsigned int basic_set::dim(isl::dim typ
   return res;
 }
 
-isl::val basic_set::dim_max_val(int pos) const
+val basic_set::dim_max_val(int pos) const
 {
   auto res = isl_basic_set_dim_max_val(copy(), pos);
   return manage(res);
 }
 
-isl::basic_set basic_set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::drop_unused_params() const
+basic_set basic_set::drop_unused_params() const
 {
   auto res = isl_basic_set_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::eliminate(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::eliminate(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::empty(isl::space space)
+basic_set basic_set::empty(space space)
 {
   auto res = isl_basic_set_empty(space.release());
   return manage(res);
 }
 
-isl::mat basic_set::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const
+mat basic_set::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const
 {
   auto res = isl_basic_set_equalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4));
   return manage(res);
 }
 
-isl::basic_set basic_set::fix_si(isl::dim type, unsigned int pos, int value) const
+basic_set basic_set::fix_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_basic_set_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::basic_set basic_set::fix_val(isl::dim type, unsigned int pos, isl::val v) const
+basic_set basic_set::fix_val(isl::dim type, unsigned int pos, val v) const
 {
   auto res = isl_basic_set_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::flat_product(isl::basic_set bset2) const
+basic_set basic_set::flat_product(basic_set bset2) const
 {
   auto res = isl_basic_set_flat_product(copy(), bset2.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::flatten() const
+basic_set basic_set::flatten() const
 {
   auto res = isl_basic_set_flatten(copy());
   return manage(res);
 }
 
-isl::stat basic_set::foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> &fn) const
+stat basic_set::foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<stat(constraint, constraint, basic_set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> *func;
+    const std::function<stat(constraint, constraint, basic_set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_constraint *arg_0, isl_constraint *arg_1, isl_basic_set *arg_2, void *arg_3) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_3);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1), isl::manage(arg_2));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1), manage(arg_2));
     return ret.release();
   };
   auto res = isl_basic_set_foreach_bound_pair(get(), static_cast<enum isl_dim_type>(type), pos, fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::stat basic_set::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const
+stat basic_set::foreach_constraint(const std::function<stat(constraint)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::constraint)> *func;
+    const std::function<stat(constraint)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_constraint *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_basic_set_foreach_constraint(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::basic_set basic_set::from_constraint(isl::constraint constraint)
+basic_set basic_set::from_constraint(constraint constraint)
 {
   auto res = isl_basic_set_from_constraint(constraint.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::from_multi_aff(isl::multi_aff ma)
+basic_set basic_set::from_multi_aff(multi_aff ma)
 {
   auto res = isl_basic_set_from_multi_aff(ma.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::from_params() const
+basic_set basic_set::from_params() const
 {
   auto res = isl_basic_set_from_params(copy());
   return manage(res);
 }
 
-isl::constraint_list basic_set::get_constraint_list() const
+constraint_list basic_set::get_constraint_list() const
 {
   auto res = isl_basic_set_get_constraint_list(get());
   return manage(res);
 }
 
-isl::id basic_set::get_dim_id(isl::dim type, unsigned int pos) const
+id basic_set::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_basic_set_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -6470,19 +6470,19 @@ std::string basic_set::get_dim_name(isl:
   return tmp;
 }
 
-isl::aff basic_set::get_div(int pos) const
+aff basic_set::get_div(int pos) const
 {
   auto res = isl_basic_set_get_div(get(), pos);
   return manage(res);
 }
 
-isl::local_space basic_set::get_local_space() const
+local_space basic_set::get_local_space() const
 {
   auto res = isl_basic_set_get_local_space(get());
   return manage(res);
 }
 
-isl::space basic_set::get_space() const
+space basic_set::get_space() const
 {
   auto res = isl_basic_set_get_space(get());
   return manage(res);
@@ -6495,61 +6495,61 @@ std::string basic_set::get_tuple_name()
   return tmp;
 }
 
-isl::basic_set basic_set::gist(isl::basic_set context) const
+basic_set basic_set::gist(basic_set context) const
 {
   auto res = isl_basic_set_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::mat basic_set::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const
+mat basic_set::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const
 {
   auto res = isl_basic_set_inequalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4));
   return manage(res);
 }
 
-isl::basic_set basic_set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
+basic_set basic_set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
 {
   auto res = isl_basic_set_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::intersect(isl::basic_set bset2) const
+basic_set basic_set::intersect(basic_set bset2) const
 {
   auto res = isl_basic_set_intersect(copy(), bset2.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::intersect_params(isl::basic_set bset2) const
+basic_set basic_set::intersect_params(basic_set bset2) const
 {
   auto res = isl_basic_set_intersect_params(copy(), bset2.release());
   return manage(res);
 }
 
-isl::boolean basic_set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean basic_set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean basic_set::is_bounded() const
+boolean basic_set::is_bounded() const
 {
   auto res = isl_basic_set_is_bounded(get());
   return manage(res);
 }
 
-isl::boolean basic_set::is_disjoint(const isl::basic_set &bset2) const
+boolean basic_set::is_disjoint(const basic_set &bset2) const
 {
   auto res = isl_basic_set_is_disjoint(get(), bset2.get());
   return manage(res);
 }
 
-isl::boolean basic_set::is_empty() const
+boolean basic_set::is_empty() const
 {
   auto res = isl_basic_set_is_empty(get());
   return manage(res);
 }
 
-isl::boolean basic_set::is_equal(const isl::basic_set &bset2) const
+boolean basic_set::is_equal(const basic_set &bset2) const
 {
   auto res = isl_basic_set_is_equal(get(), bset2.get());
   return manage(res);
@@ -6561,49 +6561,49 @@ int basic_set::is_rational() const
   return res;
 }
 
-isl::boolean basic_set::is_subset(const isl::basic_set &bset2) const
+boolean basic_set::is_subset(const basic_set &bset2) const
 {
   auto res = isl_basic_set_is_subset(get(), bset2.get());
   return manage(res);
 }
 
-isl::boolean basic_set::is_universe() const
+boolean basic_set::is_universe() const
 {
   auto res = isl_basic_set_is_universe(get());
   return manage(res);
 }
 
-isl::boolean basic_set::is_wrapping() const
+boolean basic_set::is_wrapping() const
 {
   auto res = isl_basic_set_is_wrapping(get());
   return manage(res);
 }
 
-isl::set basic_set::lexmax() const
+set basic_set::lexmax() const
 {
   auto res = isl_basic_set_lexmax(copy());
   return manage(res);
 }
 
-isl::set basic_set::lexmin() const
+set basic_set::lexmin() const
 {
   auto res = isl_basic_set_lexmin(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const
+basic_set basic_set::lower_bound_val(isl::dim type, unsigned int pos, val value) const
 {
   auto res = isl_basic_set_lower_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
   return manage(res);
 }
 
-isl::val basic_set::max_val(const isl::aff &obj) const
+val basic_set::max_val(const aff &obj) const
 {
   auto res = isl_basic_set_max_val(get(), obj.get());
   return manage(res);
 }
 
-isl::basic_set basic_set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+basic_set basic_set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_basic_set_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
@@ -6621,155 +6621,155 @@ unsigned int basic_set::n_dim() const
   return res;
 }
 
-isl::basic_set basic_set::nat_universe(isl::space dim)
+basic_set basic_set::nat_universe(space dim)
 {
   auto res = isl_basic_set_nat_universe(dim.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::neg() const
+basic_set basic_set::neg() const
 {
   auto res = isl_basic_set_neg(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::params() const
+basic_set basic_set::params() const
 {
   auto res = isl_basic_set_params(copy());
   return manage(res);
 }
 
-isl::boolean basic_set::plain_is_empty() const
+boolean basic_set::plain_is_empty() const
 {
   auto res = isl_basic_set_plain_is_empty(get());
   return manage(res);
 }
 
-isl::boolean basic_set::plain_is_equal(const isl::basic_set &bset2) const
+boolean basic_set::plain_is_equal(const basic_set &bset2) const
 {
   auto res = isl_basic_set_plain_is_equal(get(), bset2.get());
   return manage(res);
 }
 
-isl::boolean basic_set::plain_is_universe() const
+boolean basic_set::plain_is_universe() const
 {
   auto res = isl_basic_set_plain_is_universe(get());
   return manage(res);
 }
 
-isl::basic_set basic_set::positive_orthant(isl::space space)
+basic_set basic_set::positive_orthant(space space)
 {
   auto res = isl_basic_set_positive_orthant(space.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::preimage_multi_aff(isl::multi_aff ma) const
+basic_set basic_set::preimage_multi_aff(multi_aff ma) const
 {
   auto res = isl_basic_set_preimage_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::project_out(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::mat basic_set::reduced_basis() const
+mat basic_set::reduced_basis() const
 {
   auto res = isl_basic_set_reduced_basis(get());
   return manage(res);
 }
 
-isl::basic_set basic_set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::remove_divs() const
+basic_set basic_set::remove_divs() const
 {
   auto res = isl_basic_set_remove_divs(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+basic_set basic_set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::basic_set basic_set::remove_redundancies() const
+basic_set basic_set::remove_redundancies() const
 {
   auto res = isl_basic_set_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::remove_unknown_divs() const
+basic_set basic_set::remove_unknown_divs() const
 {
   auto res = isl_basic_set_remove_unknown_divs(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::sample() const
+basic_set basic_set::sample() const
 {
   auto res = isl_basic_set_sample(copy());
   return manage(res);
 }
 
-isl::point basic_set::sample_point() const
+point basic_set::sample_point() const
 {
   auto res = isl_basic_set_sample_point(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::set_tuple_id(isl::id id) const
+basic_set basic_set::set_tuple_id(id id) const
 {
   auto res = isl_basic_set_set_tuple_id(copy(), id.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::set_tuple_name(const std::string &s) const
+basic_set basic_set::set_tuple_name(const std::string &s) const
 {
   auto res = isl_basic_set_set_tuple_name(copy(), s.c_str());
   return manage(res);
 }
 
-isl::basic_set basic_set::solutions() const
+basic_set basic_set::solutions() const
 {
   auto res = isl_basic_set_solutions(copy());
   return manage(res);
 }
 
-isl::set basic_set::unite(isl::basic_set bset2) const
+set basic_set::unite(basic_set bset2) const
 {
   auto res = isl_basic_set_union(copy(), bset2.release());
   return manage(res);
 }
 
-isl::basic_set basic_set::universe(isl::space space)
+basic_set basic_set::universe(space space)
 {
   auto res = isl_basic_set_universe(space.release());
   return manage(res);
 }
 
-isl::basic_map basic_set::unwrap() const
+basic_map basic_set::unwrap() const
 {
   auto res = isl_basic_set_unwrap(copy());
   return manage(res);
 }
 
-isl::basic_set basic_set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const
+basic_set basic_set::upper_bound_val(isl::dim type, unsigned int pos, val value) const
 {
   auto res = isl_basic_set_upper_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
   return manage(res);
 }
 
 // implementations for isl::basic_set_list
-isl::basic_set_list manage(__isl_take isl_basic_set_list *ptr) {
+basic_set_list manage(__isl_take isl_basic_set_list *ptr) {
   return basic_set_list(ptr);
 }
-isl::basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr) {
+basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr) {
   ptr = isl_basic_set_list_copy(ptr);
   return basic_set_list(ptr);
 }
@@ -6777,7 +6777,7 @@ isl::basic_set_list manage_copy(__isl_ke
 basic_set_list::basic_set_list()
     : ptr(nullptr) {}
 
-basic_set_list::basic_set_list(const isl::basic_set_list &obj)
+basic_set_list::basic_set_list(const basic_set_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -6790,7 +6790,7 @@ basic_set_list::basic_set_list(__isl_tak
     : ptr(ptr) {}
 
 
-basic_set_list &basic_set_list::operator=(isl::basic_set_list obj) {
+basic_set_list &basic_set_list::operator=(basic_set_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -6822,8 +6822,8 @@ basic_set_list::operator bool() const {
 }
 
 
-isl::ctx basic_set_list::get_ctx() const {
-  return isl::ctx(isl_basic_set_list_get_ctx(ptr));
+ctx basic_set_list::get_ctx() const {
+  return ctx(isl_basic_set_list_get_ctx(ptr));
 }
 
 void basic_set_list::dump() const {
@@ -6831,69 +6831,69 @@ void basic_set_list::dump() const {
 }
 
 
-isl::basic_set_list basic_set_list::add(isl::basic_set el) const
+basic_set_list basic_set_list::add(basic_set el) const
 {
   auto res = isl_basic_set_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::alloc(isl::ctx ctx, int n)
+basic_set_list basic_set_list::alloc(ctx ctx, int n)
 {
   auto res = isl_basic_set_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::coefficients() const
+basic_set_list basic_set_list::coefficients() const
 {
   auto res = isl_basic_set_list_coefficients(copy());
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::concat(isl::basic_set_list list2) const
+basic_set_list basic_set_list::concat(basic_set_list list2) const
 {
   auto res = isl_basic_set_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::drop(unsigned int first, unsigned int n) const
+basic_set_list basic_set_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_basic_set_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat basic_set_list::foreach(const std::function<isl::stat(isl::basic_set)> &fn) const
+stat basic_set_list::foreach(const std::function<stat(basic_set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::basic_set)> *func;
+    const std::function<stat(basic_set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_basic_set *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_basic_set_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::from_basic_set(isl::basic_set el)
+basic_set_list basic_set_list::from_basic_set(basic_set el)
 {
   auto res = isl_basic_set_list_from_basic_set(el.release());
   return manage(res);
 }
 
-isl::basic_set basic_set_list::get_at(int index) const
+basic_set basic_set_list::get_at(int index) const
 {
   auto res = isl_basic_set_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::basic_set basic_set_list::get_basic_set(int index) const
+basic_set basic_set_list::get_basic_set(int index) const
 {
   auto res = isl_basic_set_list_get_basic_set(get(), index);
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::insert(unsigned int pos, isl::basic_set el) const
+basic_set_list basic_set_list::insert(unsigned int pos, basic_set el) const
 {
   auto res = isl_basic_set_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -6905,13 +6905,13 @@ int basic_set_list::n_basic_set() const
   return res;
 }
 
-isl::basic_set_list basic_set_list::reverse() const
+basic_set_list basic_set_list::reverse() const
 {
   auto res = isl_basic_set_list_reverse(copy());
   return manage(res);
 }
 
-isl::basic_set_list basic_set_list::set_basic_set(int index, isl::basic_set el) const
+basic_set_list basic_set_list::set_basic_set(int index, basic_set el) const
 {
   auto res = isl_basic_set_list_set_basic_set(copy(), index, el.release());
   return manage(res);
@@ -6923,17 +6923,17 @@ int basic_set_list::size() const
   return res;
 }
 
-isl::basic_set_list basic_set_list::swap(unsigned int pos1, unsigned int pos2) const
+basic_set_list basic_set_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_basic_set_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::constraint
-isl::constraint manage(__isl_take isl_constraint *ptr) {
+constraint manage(__isl_take isl_constraint *ptr) {
   return constraint(ptr);
 }
-isl::constraint manage_copy(__isl_keep isl_constraint *ptr) {
+constraint manage_copy(__isl_keep isl_constraint *ptr) {
   ptr = isl_constraint_copy(ptr);
   return constraint(ptr);
 }
@@ -6941,7 +6941,7 @@ isl::constraint manage_copy(__isl_keep i
 constraint::constraint()
     : ptr(nullptr) {}
 
-constraint::constraint(const isl::constraint &obj)
+constraint::constraint(const constraint &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -6954,7 +6954,7 @@ constraint::constraint(__isl_take isl_co
     : ptr(ptr) {}
 
 
-constraint &constraint::operator=(isl::constraint obj) {
+constraint &constraint::operator=(constraint obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -6986,8 +6986,8 @@ constraint::operator bool() const {
 }
 
 
-isl::ctx constraint::get_ctx() const {
-  return isl::ctx(isl_constraint_get_ctx(ptr));
+ctx constraint::get_ctx() const {
+  return ctx(isl_constraint_get_ctx(ptr));
 }
 
 void constraint::dump() const {
@@ -6995,43 +6995,43 @@ void constraint::dump() const {
 }
 
 
-isl::constraint constraint::alloc_equality(isl::local_space ls)
+constraint constraint::alloc_equality(local_space ls)
 {
   auto res = isl_constraint_alloc_equality(ls.release());
   return manage(res);
 }
 
-isl::constraint constraint::alloc_inequality(isl::local_space ls)
+constraint constraint::alloc_inequality(local_space ls)
 {
   auto res = isl_constraint_alloc_inequality(ls.release());
   return manage(res);
 }
 
-int constraint::cmp_last_non_zero(const isl::constraint &c2) const
+int constraint::cmp_last_non_zero(const constraint &c2) const
 {
   auto res = isl_constraint_cmp_last_non_zero(get(), c2.get());
   return res;
 }
 
-isl::aff constraint::get_aff() const
+aff constraint::get_aff() const
 {
   auto res = isl_constraint_get_aff(get());
   return manage(res);
 }
 
-isl::aff constraint::get_bound(isl::dim type, int pos) const
+aff constraint::get_bound(isl::dim type, int pos) const
 {
   auto res = isl_constraint_get_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::val constraint::get_coefficient_val(isl::dim type, int pos) const
+val constraint::get_coefficient_val(isl::dim type, int pos) const
 {
   auto res = isl_constraint_get_coefficient_val(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::val constraint::get_constant_val() const
+val constraint::get_constant_val() const
 {
   auto res = isl_constraint_get_constant_val(get());
   return manage(res);
@@ -7044,25 +7044,25 @@ std::string constraint::get_dim_name(isl
   return tmp;
 }
 
-isl::aff constraint::get_div(int pos) const
+aff constraint::get_div(int pos) const
 {
   auto res = isl_constraint_get_div(get(), pos);
   return manage(res);
 }
 
-isl::local_space constraint::get_local_space() const
+local_space constraint::get_local_space() const
 {
   auto res = isl_constraint_get_local_space(get());
   return manage(res);
 }
 
-isl::space constraint::get_space() const
+space constraint::get_space() const
 {
   auto res = isl_constraint_get_space(get());
   return manage(res);
 }
 
-isl::boolean constraint::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean constraint::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_constraint_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
@@ -7074,53 +7074,53 @@ int constraint::is_div_constraint() cons
   return res;
 }
 
-isl::boolean constraint::is_lower_bound(isl::dim type, unsigned int pos) const
+boolean constraint::is_lower_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_constraint_is_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean constraint::is_upper_bound(isl::dim type, unsigned int pos) const
+boolean constraint::is_upper_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_constraint_is_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-int constraint::plain_cmp(const isl::constraint &c2) const
+int constraint::plain_cmp(const constraint &c2) const
 {
   auto res = isl_constraint_plain_cmp(get(), c2.get());
   return res;
 }
 
-isl::constraint constraint::set_coefficient_si(isl::dim type, int pos, int v) const
+constraint constraint::set_coefficient_si(isl::dim type, int pos, int v) const
 {
   auto res = isl_constraint_set_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v);
   return manage(res);
 }
 
-isl::constraint constraint::set_coefficient_val(isl::dim type, int pos, isl::val v) const
+constraint constraint::set_coefficient_val(isl::dim type, int pos, val v) const
 {
   auto res = isl_constraint_set_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::constraint constraint::set_constant_si(int v) const
+constraint constraint::set_constant_si(int v) const
 {
   auto res = isl_constraint_set_constant_si(copy(), v);
   return manage(res);
 }
 
-isl::constraint constraint::set_constant_val(isl::val v) const
+constraint constraint::set_constant_val(val v) const
 {
   auto res = isl_constraint_set_constant_val(copy(), v.release());
   return manage(res);
 }
 
 // implementations for isl::constraint_list
-isl::constraint_list manage(__isl_take isl_constraint_list *ptr) {
+constraint_list manage(__isl_take isl_constraint_list *ptr) {
   return constraint_list(ptr);
 }
-isl::constraint_list manage_copy(__isl_keep isl_constraint_list *ptr) {
+constraint_list manage_copy(__isl_keep isl_constraint_list *ptr) {
   ptr = isl_constraint_list_copy(ptr);
   return constraint_list(ptr);
 }
@@ -7128,7 +7128,7 @@ isl::constraint_list manage_copy(__isl_k
 constraint_list::constraint_list()
     : ptr(nullptr) {}
 
-constraint_list::constraint_list(const isl::constraint_list &obj)
+constraint_list::constraint_list(const constraint_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7141,7 +7141,7 @@ constraint_list::constraint_list(__isl_t
     : ptr(ptr) {}
 
 
-constraint_list &constraint_list::operator=(isl::constraint_list obj) {
+constraint_list &constraint_list::operator=(constraint_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7173,8 +7173,8 @@ constraint_list::operator bool() const {
 }
 
 
-isl::ctx constraint_list::get_ctx() const {
-  return isl::ctx(isl_constraint_list_get_ctx(ptr));
+ctx constraint_list::get_ctx() const {
+  return ctx(isl_constraint_list_get_ctx(ptr));
 }
 
 void constraint_list::dump() const {
@@ -7182,63 +7182,63 @@ void constraint_list::dump() const {
 }
 
 
-isl::constraint_list constraint_list::add(isl::constraint el) const
+constraint_list constraint_list::add(constraint el) const
 {
   auto res = isl_constraint_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::constraint_list constraint_list::alloc(isl::ctx ctx, int n)
+constraint_list constraint_list::alloc(ctx ctx, int n)
 {
   auto res = isl_constraint_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::constraint_list constraint_list::concat(isl::constraint_list list2) const
+constraint_list constraint_list::concat(constraint_list list2) const
 {
   auto res = isl_constraint_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::constraint_list constraint_list::drop(unsigned int first, unsigned int n) const
+constraint_list constraint_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_constraint_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat constraint_list::foreach(const std::function<isl::stat(isl::constraint)> &fn) const
+stat constraint_list::foreach(const std::function<stat(constraint)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::constraint)> *func;
+    const std::function<stat(constraint)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_constraint *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_constraint_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::constraint_list constraint_list::from_constraint(isl::constraint el)
+constraint_list constraint_list::from_constraint(constraint el)
 {
   auto res = isl_constraint_list_from_constraint(el.release());
   return manage(res);
 }
 
-isl::constraint constraint_list::get_at(int index) const
+constraint constraint_list::get_at(int index) const
 {
   auto res = isl_constraint_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::constraint constraint_list::get_constraint(int index) const
+constraint constraint_list::get_constraint(int index) const
 {
   auto res = isl_constraint_list_get_constraint(get(), index);
   return manage(res);
 }
 
-isl::constraint_list constraint_list::insert(unsigned int pos, isl::constraint el) const
+constraint_list constraint_list::insert(unsigned int pos, constraint el) const
 {
   auto res = isl_constraint_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -7250,13 +7250,13 @@ int constraint_list::n_constraint() cons
   return res;
 }
 
-isl::constraint_list constraint_list::reverse() const
+constraint_list constraint_list::reverse() const
 {
   auto res = isl_constraint_list_reverse(copy());
   return manage(res);
 }
 
-isl::constraint_list constraint_list::set_constraint(int index, isl::constraint el) const
+constraint_list constraint_list::set_constraint(int index, constraint el) const
 {
   auto res = isl_constraint_list_set_constraint(copy(), index, el.release());
   return manage(res);
@@ -7268,17 +7268,17 @@ int constraint_list::size() const
   return res;
 }
 
-isl::constraint_list constraint_list::swap(unsigned int pos1, unsigned int pos2) const
+constraint_list constraint_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_constraint_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::fixed_box
-isl::fixed_box manage(__isl_take isl_fixed_box *ptr) {
+fixed_box manage(__isl_take isl_fixed_box *ptr) {
   return fixed_box(ptr);
 }
-isl::fixed_box manage_copy(__isl_keep isl_fixed_box *ptr) {
+fixed_box manage_copy(__isl_keep isl_fixed_box *ptr) {
   ptr = isl_fixed_box_copy(ptr);
   return fixed_box(ptr);
 }
@@ -7286,7 +7286,7 @@ isl::fixed_box manage_copy(__isl_keep is
 fixed_box::fixed_box()
     : ptr(nullptr) {}
 
-fixed_box::fixed_box(const isl::fixed_box &obj)
+fixed_box::fixed_box(const fixed_box &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7299,7 +7299,7 @@ fixed_box::fixed_box(__isl_take isl_fixe
     : ptr(ptr) {}
 
 
-fixed_box &fixed_box::operator=(isl::fixed_box obj) {
+fixed_box &fixed_box::operator=(fixed_box obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7331,40 +7331,40 @@ fixed_box::operator bool() const {
 }
 
 
-isl::ctx fixed_box::get_ctx() const {
-  return isl::ctx(isl_fixed_box_get_ctx(ptr));
+ctx fixed_box::get_ctx() const {
+  return ctx(isl_fixed_box_get_ctx(ptr));
 }
 
 
-isl::multi_aff fixed_box::get_offset() const
+multi_aff fixed_box::get_offset() const
 {
   auto res = isl_fixed_box_get_offset(get());
   return manage(res);
 }
 
-isl::multi_val fixed_box::get_size() const
+multi_val fixed_box::get_size() const
 {
   auto res = isl_fixed_box_get_size(get());
   return manage(res);
 }
 
-isl::space fixed_box::get_space() const
+space fixed_box::get_space() const
 {
   auto res = isl_fixed_box_get_space(get());
   return manage(res);
 }
 
-isl::boolean fixed_box::is_valid() const
+boolean fixed_box::is_valid() const
 {
   auto res = isl_fixed_box_is_valid(get());
   return manage(res);
 }
 
 // implementations for isl::id
-isl::id manage(__isl_take isl_id *ptr) {
+id manage(__isl_take isl_id *ptr) {
   return id(ptr);
 }
-isl::id manage_copy(__isl_keep isl_id *ptr) {
+id manage_copy(__isl_keep isl_id *ptr) {
   ptr = isl_id_copy(ptr);
   return id(ptr);
 }
@@ -7372,7 +7372,7 @@ isl::id manage_copy(__isl_keep isl_id *p
 id::id()
     : ptr(nullptr) {}
 
-id::id(const isl::id &obj)
+id::id(const id &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7385,7 +7385,7 @@ id::id(__isl_take isl_id *ptr)
     : ptr(ptr) {}
 
 
-id &id::operator=(isl::id obj) {
+id &id::operator=(id obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7417,8 +7417,8 @@ id::operator bool() const {
 }
 
 
-isl::ctx id::get_ctx() const {
-  return isl::ctx(isl_id_get_ctx(ptr));
+ctx id::get_ctx() const {
+  return ctx(isl_id_get_ctx(ptr));
 }
 std::string id::to_str() const {
   char *Tmp = isl_id_to_str(get());
@@ -7435,7 +7435,7 @@ void id::dump() const {
 }
 
 
-isl::id id::alloc(isl::ctx ctx, const std::string &name, void * user)
+id id::alloc(ctx ctx, const std::string &name, void * user)
 {
   auto res = isl_id_alloc(ctx.release(), name.c_str(), user);
   return manage(res);
@@ -7461,10 +7461,10 @@ void * id::get_user() const
 }
 
 // implementations for isl::id_list
-isl::id_list manage(__isl_take isl_id_list *ptr) {
+id_list manage(__isl_take isl_id_list *ptr) {
   return id_list(ptr);
 }
-isl::id_list manage_copy(__isl_keep isl_id_list *ptr) {
+id_list manage_copy(__isl_keep isl_id_list *ptr) {
   ptr = isl_id_list_copy(ptr);
   return id_list(ptr);
 }
@@ -7472,7 +7472,7 @@ isl::id_list manage_copy(__isl_keep isl_
 id_list::id_list()
     : ptr(nullptr) {}
 
-id_list::id_list(const isl::id_list &obj)
+id_list::id_list(const id_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7485,7 +7485,7 @@ id_list::id_list(__isl_take isl_id_list
     : ptr(ptr) {}
 
 
-id_list &id_list::operator=(isl::id_list obj) {
+id_list &id_list::operator=(id_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7517,8 +7517,8 @@ id_list::operator bool() const {
 }
 
 
-isl::ctx id_list::get_ctx() const {
-  return isl::ctx(isl_id_list_get_ctx(ptr));
+ctx id_list::get_ctx() const {
+  return ctx(isl_id_list_get_ctx(ptr));
 }
 
 void id_list::dump() const {
@@ -7526,63 +7526,63 @@ void id_list::dump() const {
 }
 
 
-isl::id_list id_list::add(isl::id el) const
+id_list id_list::add(id el) const
 {
   auto res = isl_id_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::id_list id_list::alloc(isl::ctx ctx, int n)
+id_list id_list::alloc(ctx ctx, int n)
 {
   auto res = isl_id_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::id_list id_list::concat(isl::id_list list2) const
+id_list id_list::concat(id_list list2) const
 {
   auto res = isl_id_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::id_list id_list::drop(unsigned int first, unsigned int n) const
+id_list id_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_id_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat id_list::foreach(const std::function<isl::stat(isl::id)> &fn) const
+stat id_list::foreach(const std::function<stat(id)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::id)> *func;
+    const std::function<stat(id)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_id *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_id_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::id_list id_list::from_id(isl::id el)
+id_list id_list::from_id(id el)
 {
   auto res = isl_id_list_from_id(el.release());
   return manage(res);
 }
 
-isl::id id_list::get_at(int index) const
+id id_list::get_at(int index) const
 {
   auto res = isl_id_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::id id_list::get_id(int index) const
+id id_list::get_id(int index) const
 {
   auto res = isl_id_list_get_id(get(), index);
   return manage(res);
 }
 
-isl::id_list id_list::insert(unsigned int pos, isl::id el) const
+id_list id_list::insert(unsigned int pos, id el) const
 {
   auto res = isl_id_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -7594,13 +7594,13 @@ int id_list::n_id() const
   return res;
 }
 
-isl::id_list id_list::reverse() const
+id_list id_list::reverse() const
 {
   auto res = isl_id_list_reverse(copy());
   return manage(res);
 }
 
-isl::id_list id_list::set_id(int index, isl::id el) const
+id_list id_list::set_id(int index, id el) const
 {
   auto res = isl_id_list_set_id(copy(), index, el.release());
   return manage(res);
@@ -7612,17 +7612,17 @@ int id_list::size() const
   return res;
 }
 
-isl::id_list id_list::swap(unsigned int pos1, unsigned int pos2) const
+id_list id_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_id_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::id_to_ast_expr
-isl::id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr) {
+id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr) {
   return id_to_ast_expr(ptr);
 }
-isl::id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr) {
+id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr) {
   ptr = isl_id_to_ast_expr_copy(ptr);
   return id_to_ast_expr(ptr);
 }
@@ -7630,7 +7630,7 @@ isl::id_to_ast_expr manage_copy(__isl_ke
 id_to_ast_expr::id_to_ast_expr()
     : ptr(nullptr) {}
 
-id_to_ast_expr::id_to_ast_expr(const isl::id_to_ast_expr &obj)
+id_to_ast_expr::id_to_ast_expr(const id_to_ast_expr &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7643,7 +7643,7 @@ id_to_ast_expr::id_to_ast_expr(__isl_tak
     : ptr(ptr) {}
 
 
-id_to_ast_expr &id_to_ast_expr::operator=(isl::id_to_ast_expr obj) {
+id_to_ast_expr &id_to_ast_expr::operator=(id_to_ast_expr obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7675,8 +7675,8 @@ id_to_ast_expr::operator bool() const {
 }
 
 
-isl::ctx id_to_ast_expr::get_ctx() const {
-  return isl::ctx(isl_id_to_ast_expr_get_ctx(ptr));
+ctx id_to_ast_expr::get_ctx() const {
+  return ctx(isl_id_to_ast_expr_get_ctx(ptr));
 }
 
 void id_to_ast_expr::dump() const {
@@ -7684,55 +7684,55 @@ void id_to_ast_expr::dump() const {
 }
 
 
-isl::id_to_ast_expr id_to_ast_expr::alloc(isl::ctx ctx, int min_size)
+id_to_ast_expr id_to_ast_expr::alloc(ctx ctx, int min_size)
 {
   auto res = isl_id_to_ast_expr_alloc(ctx.release(), min_size);
   return manage(res);
 }
 
-isl::id_to_ast_expr id_to_ast_expr::drop(isl::id key) const
+id_to_ast_expr id_to_ast_expr::drop(id key) const
 {
   auto res = isl_id_to_ast_expr_drop(copy(), key.release());
   return manage(res);
 }
 
-isl::stat id_to_ast_expr::foreach(const std::function<isl::stat(isl::id, isl::ast_expr)> &fn) const
+stat id_to_ast_expr::foreach(const std::function<stat(id, ast_expr)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::id, isl::ast_expr)> *func;
+    const std::function<stat(id, ast_expr)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_id *arg_0, isl_ast_expr *arg_1, void *arg_2) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_2);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1));
     return ret.release();
   };
   auto res = isl_id_to_ast_expr_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::ast_expr id_to_ast_expr::get(isl::id key) const
+ast_expr id_to_ast_expr::get(id key) const
 {
   auto res = isl_id_to_ast_expr_get(get(), key.release());
   return manage(res);
 }
 
-isl::boolean id_to_ast_expr::has(const isl::id &key) const
+boolean id_to_ast_expr::has(const id &key) const
 {
   auto res = isl_id_to_ast_expr_has(get(), key.get());
   return manage(res);
 }
 
-isl::id_to_ast_expr id_to_ast_expr::set(isl::id key, isl::ast_expr val) const
+id_to_ast_expr id_to_ast_expr::set(id key, ast_expr val) const
 {
   auto res = isl_id_to_ast_expr_set(copy(), key.release(), val.release());
   return manage(res);
 }
 
 // implementations for isl::local_space
-isl::local_space manage(__isl_take isl_local_space *ptr) {
+local_space manage(__isl_take isl_local_space *ptr) {
   return local_space(ptr);
 }
-isl::local_space manage_copy(__isl_keep isl_local_space *ptr) {
+local_space manage_copy(__isl_keep isl_local_space *ptr) {
   ptr = isl_local_space_copy(ptr);
   return local_space(ptr);
 }
@@ -7740,7 +7740,7 @@ isl::local_space manage_copy(__isl_keep
 local_space::local_space()
     : ptr(nullptr) {}
 
-local_space::local_space(const isl::local_space &obj)
+local_space::local_space(const local_space &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7752,13 +7752,13 @@ local_space::local_space(std::nullptr_t)
 local_space::local_space(__isl_take isl_local_space *ptr)
     : ptr(ptr) {}
 
-local_space::local_space(isl::space dim)
+local_space::local_space(space dim)
 {
   auto res = isl_local_space_from_space(dim.release());
   ptr = res;
 }
 
-local_space &local_space::operator=(isl::local_space obj) {
+local_space &local_space::operator=(local_space obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -7790,8 +7790,8 @@ local_space::operator bool() const {
 }
 
 
-isl::ctx local_space::get_ctx() const {
-  return isl::ctx(isl_local_space_get_ctx(ptr));
+ctx local_space::get_ctx() const {
+  return ctx(isl_local_space_get_ctx(ptr));
 }
 
 void local_space::dump() const {
@@ -7799,7 +7799,7 @@ void local_space::dump() const {
 }
 
 
-isl::local_space local_space::add_dims(isl::dim type, unsigned int n) const
+local_space local_space::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_local_space_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
@@ -7811,13 +7811,13 @@ int local_space::dim(isl::dim type) cons
   return res;
 }
 
-isl::local_space local_space::domain() const
+local_space local_space::domain() const
 {
   auto res = isl_local_space_domain(copy());
   return manage(res);
 }
 
-isl::local_space local_space::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+local_space local_space::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_local_space_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
@@ -7829,25 +7829,25 @@ int local_space::find_dim_by_name(isl::d
   return res;
 }
 
-isl::local_space local_space::flatten_domain() const
+local_space local_space::flatten_domain() const
 {
   auto res = isl_local_space_flatten_domain(copy());
   return manage(res);
 }
 
-isl::local_space local_space::flatten_range() const
+local_space local_space::flatten_range() const
 {
   auto res = isl_local_space_flatten_range(copy());
   return manage(res);
 }
 
-isl::local_space local_space::from_domain() const
+local_space local_space::from_domain() const
 {
   auto res = isl_local_space_from_domain(copy());
   return manage(res);
 }
 
-isl::id local_space::get_dim_id(isl::dim type, unsigned int pos) const
+id local_space::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_local_space_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -7860,95 +7860,95 @@ std::string local_space::get_dim_name(is
   return tmp;
 }
 
-isl::aff local_space::get_div(int pos) const
+aff local_space::get_div(int pos) const
 {
   auto res = isl_local_space_get_div(get(), pos);
   return manage(res);
 }
 
-isl::space local_space::get_space() const
+space local_space::get_space() const
 {
   auto res = isl_local_space_get_space(get());
   return manage(res);
 }
 
-isl::boolean local_space::has_dim_id(isl::dim type, unsigned int pos) const
+boolean local_space::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_local_space_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean local_space::has_dim_name(isl::dim type, unsigned int pos) const
+boolean local_space::has_dim_name(isl::dim type, unsigned int pos) const
 {
   auto res = isl_local_space_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::local_space local_space::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+local_space local_space::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_local_space_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::local_space local_space::intersect(isl::local_space ls2) const
+local_space local_space::intersect(local_space ls2) const
 {
   auto res = isl_local_space_intersect(copy(), ls2.release());
   return manage(res);
 }
 
-isl::boolean local_space::is_equal(const isl::local_space &ls2) const
+boolean local_space::is_equal(const local_space &ls2) const
 {
   auto res = isl_local_space_is_equal(get(), ls2.get());
   return manage(res);
 }
 
-isl::boolean local_space::is_params() const
+boolean local_space::is_params() const
 {
   auto res = isl_local_space_is_params(get());
   return manage(res);
 }
 
-isl::boolean local_space::is_set() const
+boolean local_space::is_set() const
 {
   auto res = isl_local_space_is_set(get());
   return manage(res);
 }
 
-isl::local_space local_space::range() const
+local_space local_space::range() const
 {
   auto res = isl_local_space_range(copy());
   return manage(res);
 }
 
-isl::local_space local_space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+local_space local_space::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_local_space_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::local_space local_space::set_from_params() const
+local_space local_space::set_from_params() const
 {
   auto res = isl_local_space_set_from_params(copy());
   return manage(res);
 }
 
-isl::local_space local_space::set_tuple_id(isl::dim type, isl::id id) const
+local_space local_space::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_local_space_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::local_space local_space::wrap() const
+local_space local_space::wrap() const
 {
   auto res = isl_local_space_wrap(copy());
   return manage(res);
 }
 
 // implementations for isl::map
-isl::map manage(__isl_take isl_map *ptr) {
+map manage(__isl_take isl_map *ptr) {
   return map(ptr);
 }
-isl::map manage_copy(__isl_keep isl_map *ptr) {
+map manage_copy(__isl_keep isl_map *ptr) {
   ptr = isl_map_copy(ptr);
   return map(ptr);
 }
@@ -7956,7 +7956,7 @@ isl::map manage_copy(__isl_keep isl_map
 map::map()
     : ptr(nullptr) {}
 
-map::map(const isl::map &obj)
+map::map(const map &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -7968,18 +7968,18 @@ map::map(std::nullptr_t)
 map::map(__isl_take isl_map *ptr)
     : ptr(ptr) {}
 
-map::map(isl::ctx ctx, const std::string &str)
+map::map(ctx ctx, const std::string &str)
 {
   auto res = isl_map_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
-map::map(isl::basic_map bmap)
+map::map(basic_map bmap)
 {
   auto res = isl_map_from_basic_map(bmap.release());
   ptr = res;
 }
 
-map &map::operator=(isl::map obj) {
+map &map::operator=(map obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -8011,8 +8011,8 @@ map::operator bool() const {
 }
 
 
-isl::ctx map::get_ctx() const {
-  return isl::ctx(isl_map_get_ctx(ptr));
+ctx map::get_ctx() const {
+  return ctx(isl_map_get_ctx(ptr));
 }
 std::string map::to_str() const {
   char *Tmp = isl_map_to_str(get());
@@ -8029,103 +8029,103 @@ void map::dump() const {
 }
 
 
-isl::map map::add_constraint(isl::constraint constraint) const
+map map::add_constraint(constraint constraint) const
 {
   auto res = isl_map_add_constraint(copy(), constraint.release());
   return manage(res);
 }
 
-isl::map map::add_dims(isl::dim type, unsigned int n) const
+map map::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_map_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::basic_map map::affine_hull() const
+basic_map map::affine_hull() const
 {
   auto res = isl_map_affine_hull(copy());
   return manage(res);
 }
 
-isl::map map::align_params(isl::space model) const
+map map::align_params(space model) const
 {
   auto res = isl_map_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::map map::apply_domain(isl::map map2) const
+map map::apply_domain(map map2) const
 {
   auto res = isl_map_apply_domain(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::apply_range(isl::map map2) const
+map map::apply_range(map map2) const
 {
   auto res = isl_map_apply_range(copy(), map2.release());
   return manage(res);
 }
 
-isl::boolean map::can_curry() const
+boolean map::can_curry() const
 {
   auto res = isl_map_can_curry(get());
   return manage(res);
 }
 
-isl::boolean map::can_range_curry() const
+boolean map::can_range_curry() const
 {
   auto res = isl_map_can_range_curry(get());
   return manage(res);
 }
 
-isl::boolean map::can_uncurry() const
+boolean map::can_uncurry() const
 {
   auto res = isl_map_can_uncurry(get());
   return manage(res);
 }
 
-isl::boolean map::can_zip() const
+boolean map::can_zip() const
 {
   auto res = isl_map_can_zip(get());
   return manage(res);
 }
 
-isl::map map::coalesce() const
+map map::coalesce() const
 {
   auto res = isl_map_coalesce(copy());
   return manage(res);
 }
 
-isl::map map::complement() const
+map map::complement() const
 {
   auto res = isl_map_complement(copy());
   return manage(res);
 }
 
-isl::basic_map map::convex_hull() const
+basic_map map::convex_hull() const
 {
   auto res = isl_map_convex_hull(copy());
   return manage(res);
 }
 
-isl::map map::curry() const
+map map::curry() const
 {
   auto res = isl_map_curry(copy());
   return manage(res);
 }
 
-isl::set map::deltas() const
+set map::deltas() const
 {
   auto res = isl_map_deltas(copy());
   return manage(res);
 }
 
-isl::map map::deltas_map() const
+map map::deltas_map() const
 {
   auto res = isl_map_deltas_map(copy());
   return manage(res);
 }
 
-isl::map map::detect_equalities() const
+map map::detect_equalities() const
 {
   auto res = isl_map_detect_equalities(copy());
   return manage(res);
@@ -8137,103 +8137,103 @@ unsigned int map::dim(isl::dim type) con
   return res;
 }
 
-isl::pw_aff map::dim_max(int pos) const
+pw_aff map::dim_max(int pos) const
 {
   auto res = isl_map_dim_max(copy(), pos);
   return manage(res);
 }
 
-isl::pw_aff map::dim_min(int pos) const
+pw_aff map::dim_min(int pos) const
 {
   auto res = isl_map_dim_min(copy(), pos);
   return manage(res);
 }
 
-isl::set map::domain() const
+set map::domain() const
 {
   auto res = isl_map_domain(copy());
   return manage(res);
 }
 
-isl::map map::domain_factor_domain() const
+map map::domain_factor_domain() const
 {
   auto res = isl_map_domain_factor_domain(copy());
   return manage(res);
 }
 
-isl::map map::domain_factor_range() const
+map map::domain_factor_range() const
 {
   auto res = isl_map_domain_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean map::domain_is_wrapping() const
+boolean map::domain_is_wrapping() const
 {
   auto res = isl_map_domain_is_wrapping(get());
   return manage(res);
 }
 
-isl::map map::domain_map() const
+map map::domain_map() const
 {
   auto res = isl_map_domain_map(copy());
   return manage(res);
 }
 
-isl::map map::domain_product(isl::map map2) const
+map map::domain_product(map map2) const
 {
   auto res = isl_map_domain_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+map map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+map map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map map::drop_unused_params() const
+map map::drop_unused_params() const
 {
   auto res = isl_map_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::map map::eliminate(isl::dim type, unsigned int first, unsigned int n) const
+map map::eliminate(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map map::empty(isl::space space)
+map map::empty(space space)
 {
   auto res = isl_map_empty(space.release());
   return manage(res);
 }
 
-isl::map map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::map map::factor_domain() const
+map map::factor_domain() const
 {
   auto res = isl_map_factor_domain(copy());
   return manage(res);
 }
 
-isl::map map::factor_range() const
+map map::factor_range() const
 {
   auto res = isl_map_factor_range(copy());
   return manage(res);
 }
 
-int map::find_dim_by_id(isl::dim type, const isl::id &id) const
+int map::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_map_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -8245,141 +8245,141 @@ int map::find_dim_by_name(isl::dim type,
   return res;
 }
 
-isl::map map::fix_si(isl::dim type, unsigned int pos, int value) const
+map map::fix_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_map_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::map map::fix_val(isl::dim type, unsigned int pos, isl::val v) const
+map map::fix_val(isl::dim type, unsigned int pos, val v) const
 {
   auto res = isl_map_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::map map::fixed_power_val(isl::val exp) const
+map map::fixed_power_val(val exp) const
 {
   auto res = isl_map_fixed_power_val(copy(), exp.release());
   return manage(res);
 }
 
-isl::map map::flat_domain_product(isl::map map2) const
+map map::flat_domain_product(map map2) const
 {
   auto res = isl_map_flat_domain_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::flat_product(isl::map map2) const
+map map::flat_product(map map2) const
 {
   auto res = isl_map_flat_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::flat_range_product(isl::map map2) const
+map map::flat_range_product(map map2) const
 {
   auto res = isl_map_flat_range_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::flatten() const
+map map::flatten() const
 {
   auto res = isl_map_flatten(copy());
   return manage(res);
 }
 
-isl::map map::flatten_domain() const
+map map::flatten_domain() const
 {
   auto res = isl_map_flatten_domain(copy());
   return manage(res);
 }
 
-isl::map map::flatten_range() const
+map map::flatten_range() const
 {
   auto res = isl_map_flatten_range(copy());
   return manage(res);
 }
 
-isl::map map::floordiv_val(isl::val d) const
+map map::floordiv_val(val d) const
 {
   auto res = isl_map_floordiv_val(copy(), d.release());
   return manage(res);
 }
 
-isl::stat map::foreach_basic_map(const std::function<isl::stat(isl::basic_map)> &fn) const
+stat map::foreach_basic_map(const std::function<stat(basic_map)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::basic_map)> *func;
+    const std::function<stat(basic_map)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_basic_map *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_map_foreach_basic_map(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::map map::from_aff(isl::aff aff)
+map map::from_aff(aff aff)
 {
   auto res = isl_map_from_aff(aff.release());
   return manage(res);
 }
 
-isl::map map::from_domain(isl::set set)
+map map::from_domain(set set)
 {
   auto res = isl_map_from_domain(set.release());
   return manage(res);
 }
 
-isl::map map::from_domain_and_range(isl::set domain, isl::set range)
+map map::from_domain_and_range(set domain, set range)
 {
   auto res = isl_map_from_domain_and_range(domain.release(), range.release());
   return manage(res);
 }
 
-isl::map map::from_multi_aff(isl::multi_aff maff)
+map map::from_multi_aff(multi_aff maff)
 {
   auto res = isl_map_from_multi_aff(maff.release());
   return manage(res);
 }
 
-isl::map map::from_multi_pw_aff(isl::multi_pw_aff mpa)
+map map::from_multi_pw_aff(multi_pw_aff mpa)
 {
   auto res = isl_map_from_multi_pw_aff(mpa.release());
   return manage(res);
 }
 
-isl::map map::from_pw_aff(isl::pw_aff pwaff)
+map map::from_pw_aff(pw_aff pwaff)
 {
   auto res = isl_map_from_pw_aff(pwaff.release());
   return manage(res);
 }
 
-isl::map map::from_pw_multi_aff(isl::pw_multi_aff pma)
+map map::from_pw_multi_aff(pw_multi_aff pma)
 {
   auto res = isl_map_from_pw_multi_aff(pma.release());
   return manage(res);
 }
 
-isl::map map::from_range(isl::set set)
+map map::from_range(set set)
 {
   auto res = isl_map_from_range(set.release());
   return manage(res);
 }
 
-isl::map map::from_union_map(isl::union_map umap)
+map map::from_union_map(union_map umap)
 {
   auto res = isl_map_from_union_map(umap.release());
   return manage(res);
 }
 
-isl::basic_map_list map::get_basic_map_list() const
+basic_map_list map::get_basic_map_list() const
 {
   auto res = isl_map_get_basic_map_list(get());
   return manage(res);
 }
 
-isl::id map::get_dim_id(isl::dim type, unsigned int pos) const
+id map::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_map_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -8398,19 +8398,19 @@ uint32_t map::get_hash() const
   return res;
 }
 
-isl::fixed_box map::get_range_simple_fixed_box_hull() const
+fixed_box map::get_range_simple_fixed_box_hull() const
 {
   auto res = isl_map_get_range_simple_fixed_box_hull(get());
   return manage(res);
 }
 
-isl::space map::get_space() const
+space map::get_space() const
 {
   auto res = isl_map_get_space(get());
   return manage(res);
 }
 
-isl::id map::get_tuple_id(isl::dim type) const
+id map::get_tuple_id(isl::dim type) const
 {
   auto res = isl_map_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -8423,175 +8423,175 @@ std::string map::get_tuple_name(isl::dim
   return tmp;
 }
 
-isl::map map::gist(isl::map context) const
+map map::gist(map context) const
 {
   auto res = isl_map_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::map map::gist_basic_map(isl::basic_map context) const
+map map::gist_basic_map(basic_map context) const
 {
   auto res = isl_map_gist_basic_map(copy(), context.release());
   return manage(res);
 }
 
-isl::map map::gist_domain(isl::set context) const
+map map::gist_domain(set context) const
 {
   auto res = isl_map_gist_domain(copy(), context.release());
   return manage(res);
 }
 
-isl::map map::gist_params(isl::set context) const
+map map::gist_params(set context) const
 {
   auto res = isl_map_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::map map::gist_range(isl::set context) const
+map map::gist_range(set context) const
 {
   auto res = isl_map_gist_range(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean map::has_dim_id(isl::dim type, unsigned int pos) const
+boolean map::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_map_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean map::has_dim_name(isl::dim type, unsigned int pos) const
+boolean map::has_dim_name(isl::dim type, unsigned int pos) const
 {
   auto res = isl_map_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean map::has_equal_space(const isl::map &map2) const
+boolean map::has_equal_space(const map &map2) const
 {
   auto res = isl_map_has_equal_space(get(), map2.get());
   return manage(res);
 }
 
-isl::boolean map::has_tuple_id(isl::dim type) const
+boolean map::has_tuple_id(isl::dim type) const
 {
   auto res = isl_map_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::boolean map::has_tuple_name(isl::dim type) const
+boolean map::has_tuple_name(isl::dim type) const
 {
   auto res = isl_map_has_tuple_name(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::map map::identity(isl::space dim)
+map map::identity(space dim)
 {
   auto res = isl_map_identity(dim.release());
   return manage(res);
 }
 
-isl::map map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
+map map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
 {
   auto res = isl_map_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n);
   return manage(res);
 }
 
-isl::map map::intersect(isl::map map2) const
+map map::intersect(map map2) const
 {
   auto res = isl_map_intersect(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::intersect_domain(isl::set set) const
+map map::intersect_domain(set set) const
 {
   auto res = isl_map_intersect_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::map map::intersect_domain_factor_range(isl::map factor) const
+map map::intersect_domain_factor_range(map factor) const
 {
   auto res = isl_map_intersect_domain_factor_range(copy(), factor.release());
   return manage(res);
 }
 
-isl::map map::intersect_params(isl::set params) const
+map map::intersect_params(set params) const
 {
   auto res = isl_map_intersect_params(copy(), params.release());
   return manage(res);
 }
 
-isl::map map::intersect_range(isl::set set) const
+map map::intersect_range(set set) const
 {
   auto res = isl_map_intersect_range(copy(), set.release());
   return manage(res);
 }
 
-isl::map map::intersect_range_factor_range(isl::map factor) const
+map map::intersect_range_factor_range(map factor) const
 {
   auto res = isl_map_intersect_range_factor_range(copy(), factor.release());
   return manage(res);
 }
 
-isl::boolean map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean map::is_bijective() const
+boolean map::is_bijective() const
 {
   auto res = isl_map_is_bijective(get());
   return manage(res);
 }
 
-isl::boolean map::is_disjoint(const isl::map &map2) const
+boolean map::is_disjoint(const map &map2) const
 {
   auto res = isl_map_is_disjoint(get(), map2.get());
   return manage(res);
 }
 
-isl::boolean map::is_empty() const
+boolean map::is_empty() const
 {
   auto res = isl_map_is_empty(get());
   return manage(res);
 }
 
-isl::boolean map::is_equal(const isl::map &map2) const
+boolean map::is_equal(const map &map2) const
 {
   auto res = isl_map_is_equal(get(), map2.get());
   return manage(res);
 }
 
-isl::boolean map::is_identity() const
+boolean map::is_identity() const
 {
   auto res = isl_map_is_identity(get());
   return manage(res);
 }
 
-isl::boolean map::is_injective() const
+boolean map::is_injective() const
 {
   auto res = isl_map_is_injective(get());
   return manage(res);
 }
 
-isl::boolean map::is_product() const
+boolean map::is_product() const
 {
   auto res = isl_map_is_product(get());
   return manage(res);
 }
 
-isl::boolean map::is_single_valued() const
+boolean map::is_single_valued() const
 {
   auto res = isl_map_is_single_valued(get());
   return manage(res);
 }
 
-isl::boolean map::is_strict_subset(const isl::map &map2) const
+boolean map::is_strict_subset(const map &map2) const
 {
   auto res = isl_map_is_strict_subset(get(), map2.get());
   return manage(res);
 }
 
-isl::boolean map::is_subset(const isl::map &map2) const
+boolean map::is_subset(const map &map2) const
 {
   auto res = isl_map_is_subset(get(), map2.get());
   return manage(res);
@@ -8603,109 +8603,109 @@ int map::is_translation() const
   return res;
 }
 
-isl::map map::lex_ge(isl::space set_dim)
+map map::lex_ge(space set_dim)
 {
   auto res = isl_map_lex_ge(set_dim.release());
   return manage(res);
 }
 
-isl::map map::lex_ge_first(isl::space dim, unsigned int n)
+map map::lex_ge_first(space dim, unsigned int n)
 {
   auto res = isl_map_lex_ge_first(dim.release(), n);
   return manage(res);
 }
 
-isl::map map::lex_ge_map(isl::map map2) const
+map map::lex_ge_map(map map2) const
 {
   auto res = isl_map_lex_ge_map(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::lex_gt(isl::space set_dim)
+map map::lex_gt(space set_dim)
 {
   auto res = isl_map_lex_gt(set_dim.release());
   return manage(res);
 }
 
-isl::map map::lex_gt_first(isl::space dim, unsigned int n)
+map map::lex_gt_first(space dim, unsigned int n)
 {
   auto res = isl_map_lex_gt_first(dim.release(), n);
   return manage(res);
 }
 
-isl::map map::lex_gt_map(isl::map map2) const
+map map::lex_gt_map(map map2) const
 {
   auto res = isl_map_lex_gt_map(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::lex_le(isl::space set_dim)
+map map::lex_le(space set_dim)
 {
   auto res = isl_map_lex_le(set_dim.release());
   return manage(res);
 }
 
-isl::map map::lex_le_first(isl::space dim, unsigned int n)
+map map::lex_le_first(space dim, unsigned int n)
 {
   auto res = isl_map_lex_le_first(dim.release(), n);
   return manage(res);
 }
 
-isl::map map::lex_le_map(isl::map map2) const
+map map::lex_le_map(map map2) const
 {
   auto res = isl_map_lex_le_map(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::lex_lt(isl::space set_dim)
+map map::lex_lt(space set_dim)
 {
   auto res = isl_map_lex_lt(set_dim.release());
   return manage(res);
 }
 
-isl::map map::lex_lt_first(isl::space dim, unsigned int n)
+map map::lex_lt_first(space dim, unsigned int n)
 {
   auto res = isl_map_lex_lt_first(dim.release(), n);
   return manage(res);
 }
 
-isl::map map::lex_lt_map(isl::map map2) const
+map map::lex_lt_map(map map2) const
 {
   auto res = isl_map_lex_lt_map(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::lexmax() const
+map map::lexmax() const
 {
   auto res = isl_map_lexmax(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff map::lexmax_pw_multi_aff() const
+pw_multi_aff map::lexmax_pw_multi_aff() const
 {
   auto res = isl_map_lexmax_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::map map::lexmin() const
+map map::lexmin() const
 {
   auto res = isl_map_lexmin(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff map::lexmin_pw_multi_aff() const
+pw_multi_aff map::lexmin_pw_multi_aff() const
 {
   auto res = isl_map_lexmin_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::map map::lower_bound_si(isl::dim type, unsigned int pos, int value) const
+map map::lower_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_map_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::map map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+map map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_map_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
@@ -8717,341 +8717,341 @@ int map::n_basic_map() const
   return res;
 }
 
-isl::map map::nat_universe(isl::space dim)
+map map::nat_universe(space dim)
 {
   auto res = isl_map_nat_universe(dim.release());
   return manage(res);
 }
 
-isl::map map::neg() const
+map map::neg() const
 {
   auto res = isl_map_neg(copy());
   return manage(res);
 }
 
-isl::map map::oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_oppose(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::map map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_order_ge(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::map map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_order_gt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::map map::order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_order_le(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::map map::order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+map map::order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_map_order_lt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-isl::set map::params() const
+set map::params() const
 {
   auto res = isl_map_params(copy());
   return manage(res);
 }
 
-isl::val map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
+val map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
 {
   auto res = isl_map_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean map::plain_is_empty() const
+boolean map::plain_is_empty() const
 {
   auto res = isl_map_plain_is_empty(get());
   return manage(res);
 }
 
-isl::boolean map::plain_is_equal(const isl::map &map2) const
+boolean map::plain_is_equal(const map &map2) const
 {
   auto res = isl_map_plain_is_equal(get(), map2.get());
   return manage(res);
 }
 
-isl::boolean map::plain_is_injective() const
+boolean map::plain_is_injective() const
 {
   auto res = isl_map_plain_is_injective(get());
   return manage(res);
 }
 
-isl::boolean map::plain_is_single_valued() const
+boolean map::plain_is_single_valued() const
 {
   auto res = isl_map_plain_is_single_valued(get());
   return manage(res);
 }
 
-isl::boolean map::plain_is_universe() const
+boolean map::plain_is_universe() const
 {
   auto res = isl_map_plain_is_universe(get());
   return manage(res);
 }
 
-isl::basic_map map::plain_unshifted_simple_hull() const
+basic_map map::plain_unshifted_simple_hull() const
 {
   auto res = isl_map_plain_unshifted_simple_hull(copy());
   return manage(res);
 }
 
-isl::basic_map map::polyhedral_hull() const
+basic_map map::polyhedral_hull() const
 {
   auto res = isl_map_polyhedral_hull(copy());
   return manage(res);
 }
 
-isl::map map::preimage_domain_multi_aff(isl::multi_aff ma) const
+map map::preimage_domain_multi_aff(multi_aff ma) const
 {
   auto res = isl_map_preimage_domain_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::map map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const
+map map::preimage_domain_multi_pw_aff(multi_pw_aff mpa) const
 {
   auto res = isl_map_preimage_domain_multi_pw_aff(copy(), mpa.release());
   return manage(res);
 }
 
-isl::map map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const
+map map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_map_preimage_domain_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::map map::preimage_range_multi_aff(isl::multi_aff ma) const
+map map::preimage_range_multi_aff(multi_aff ma) const
 {
   auto res = isl_map_preimage_range_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::map map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const
+map map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_map_preimage_range_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::map map::product(isl::map map2) const
+map map::product(map map2) const
 {
   auto res = isl_map_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::project_out(isl::dim type, unsigned int first, unsigned int n) const
+map map::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set map::range() const
+set map::range() const
 {
   auto res = isl_map_range(copy());
   return manage(res);
 }
 
-isl::map map::range_curry() const
+map map::range_curry() const
 {
   auto res = isl_map_range_curry(copy());
   return manage(res);
 }
 
-isl::map map::range_factor_domain() const
+map map::range_factor_domain() const
 {
   auto res = isl_map_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::map map::range_factor_range() const
+map map::range_factor_range() const
 {
   auto res = isl_map_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean map::range_is_wrapping() const
+boolean map::range_is_wrapping() const
 {
   auto res = isl_map_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::map map::range_map() const
+map map::range_map() const
 {
   auto res = isl_map_range_map(copy());
   return manage(res);
 }
 
-isl::map map::range_product(isl::map map2) const
+map map::range_product(map map2) const
 {
   auto res = isl_map_range_product(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
+map map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map map::remove_divs() const
+map map::remove_divs() const
 {
   auto res = isl_map_remove_divs(copy());
   return manage(res);
 }
 
-isl::map map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+map map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_map_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map map::remove_redundancies() const
+map map::remove_redundancies() const
 {
   auto res = isl_map_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::map map::remove_unknown_divs() const
+map map::remove_unknown_divs() const
 {
   auto res = isl_map_remove_unknown_divs(copy());
   return manage(res);
 }
 
-isl::map map::reset_tuple_id(isl::dim type) const
+map map::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_map_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::map map::reset_user() const
+map map::reset_user() const
 {
   auto res = isl_map_reset_user(copy());
   return manage(res);
 }
 
-isl::map map::reverse() const
+map map::reverse() const
 {
   auto res = isl_map_reverse(copy());
   return manage(res);
 }
 
-isl::basic_map map::sample() const
+basic_map map::sample() const
 {
   auto res = isl_map_sample(copy());
   return manage(res);
 }
 
-isl::map map::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+map map::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_map_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::map map::set_tuple_id(isl::dim type, isl::id id) const
+map map::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_map_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::map map::set_tuple_name(isl::dim type, const std::string &s) const
+map map::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_map_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::basic_map map::simple_hull() const
+basic_map map::simple_hull() const
 {
   auto res = isl_map_simple_hull(copy());
   return manage(res);
 }
 
-isl::map map::subtract(isl::map map2) const
+map map::subtract(map map2) const
 {
   auto res = isl_map_subtract(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::subtract_domain(isl::set dom) const
+map map::subtract_domain(set dom) const
 {
   auto res = isl_map_subtract_domain(copy(), dom.release());
   return manage(res);
 }
 
-isl::map map::subtract_range(isl::set dom) const
+map map::subtract_range(set dom) const
 {
   auto res = isl_map_subtract_range(copy(), dom.release());
   return manage(res);
 }
 
-isl::map map::sum(isl::map map2) const
+map map::sum(map map2) const
 {
   auto res = isl_map_sum(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::uncurry() const
+map map::uncurry() const
 {
   auto res = isl_map_uncurry(copy());
   return manage(res);
 }
 
-isl::map map::unite(isl::map map2) const
+map map::unite(map map2) const
 {
   auto res = isl_map_union(copy(), map2.release());
   return manage(res);
 }
 
-isl::map map::universe(isl::space space)
+map map::universe(space space)
 {
   auto res = isl_map_universe(space.release());
   return manage(res);
 }
 
-isl::basic_map map::unshifted_simple_hull() const
+basic_map map::unshifted_simple_hull() const
 {
   auto res = isl_map_unshifted_simple_hull(copy());
   return manage(res);
 }
 
-isl::basic_map map::unshifted_simple_hull_from_map_list(isl::map_list list) const
+basic_map map::unshifted_simple_hull_from_map_list(map_list list) const
 {
   auto res = isl_map_unshifted_simple_hull_from_map_list(copy(), list.release());
   return manage(res);
 }
 
-isl::map map::upper_bound_si(isl::dim type, unsigned int pos, int value) const
+map map::upper_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_map_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::set map::wrap() const
+set map::wrap() const
 {
   auto res = isl_map_wrap(copy());
   return manage(res);
 }
 
-isl::map map::zip() const
+map map::zip() const
 {
   auto res = isl_map_zip(copy());
   return manage(res);
 }
 
 // implementations for isl::map_list
-isl::map_list manage(__isl_take isl_map_list *ptr) {
+map_list manage(__isl_take isl_map_list *ptr) {
   return map_list(ptr);
 }
-isl::map_list manage_copy(__isl_keep isl_map_list *ptr) {
+map_list manage_copy(__isl_keep isl_map_list *ptr) {
   ptr = isl_map_list_copy(ptr);
   return map_list(ptr);
 }
@@ -9059,7 +9059,7 @@ isl::map_list manage_copy(__isl_keep isl
 map_list::map_list()
     : ptr(nullptr) {}
 
-map_list::map_list(const isl::map_list &obj)
+map_list::map_list(const map_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -9072,7 +9072,7 @@ map_list::map_list(__isl_take isl_map_li
     : ptr(ptr) {}
 
 
-map_list &map_list::operator=(isl::map_list obj) {
+map_list &map_list::operator=(map_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -9104,8 +9104,8 @@ map_list::operator bool() const {
 }
 
 
-isl::ctx map_list::get_ctx() const {
-  return isl::ctx(isl_map_list_get_ctx(ptr));
+ctx map_list::get_ctx() const {
+  return ctx(isl_map_list_get_ctx(ptr));
 }
 
 void map_list::dump() const {
@@ -9113,63 +9113,63 @@ void map_list::dump() const {
 }
 
 
-isl::map_list map_list::add(isl::map el) const
+map_list map_list::add(map el) const
 {
   auto res = isl_map_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::map_list map_list::alloc(isl::ctx ctx, int n)
+map_list map_list::alloc(ctx ctx, int n)
 {
   auto res = isl_map_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::map_list map_list::concat(isl::map_list list2) const
+map_list map_list::concat(map_list list2) const
 {
   auto res = isl_map_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::map_list map_list::drop(unsigned int first, unsigned int n) const
+map_list map_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_map_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat map_list::foreach(const std::function<isl::stat(isl::map)> &fn) const
+stat map_list::foreach(const std::function<stat(map)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::map)> *func;
+    const std::function<stat(map)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_map *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_map_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::map_list map_list::from_map(isl::map el)
+map_list map_list::from_map(map el)
 {
   auto res = isl_map_list_from_map(el.release());
   return manage(res);
 }
 
-isl::map map_list::get_at(int index) const
+map map_list::get_at(int index) const
 {
   auto res = isl_map_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::map map_list::get_map(int index) const
+map map_list::get_map(int index) const
 {
   auto res = isl_map_list_get_map(get(), index);
   return manage(res);
 }
 
-isl::map_list map_list::insert(unsigned int pos, isl::map el) const
+map_list map_list::insert(unsigned int pos, map el) const
 {
   auto res = isl_map_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -9181,13 +9181,13 @@ int map_list::n_map() const
   return res;
 }
 
-isl::map_list map_list::reverse() const
+map_list map_list::reverse() const
 {
   auto res = isl_map_list_reverse(copy());
   return manage(res);
 }
 
-isl::map_list map_list::set_map(int index, isl::map el) const
+map_list map_list::set_map(int index, map el) const
 {
   auto res = isl_map_list_set_map(copy(), index, el.release());
   return manage(res);
@@ -9199,17 +9199,17 @@ int map_list::size() const
   return res;
 }
 
-isl::map_list map_list::swap(unsigned int pos1, unsigned int pos2) const
+map_list map_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_map_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::mat
-isl::mat manage(__isl_take isl_mat *ptr) {
+mat manage(__isl_take isl_mat *ptr) {
   return mat(ptr);
 }
-isl::mat manage_copy(__isl_keep isl_mat *ptr) {
+mat manage_copy(__isl_keep isl_mat *ptr) {
   ptr = isl_mat_copy(ptr);
   return mat(ptr);
 }
@@ -9217,7 +9217,7 @@ isl::mat manage_copy(__isl_keep isl_mat
 mat::mat()
     : ptr(nullptr) {}
 
-mat::mat(const isl::mat &obj)
+mat::mat(const mat &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -9230,7 +9230,7 @@ mat::mat(__isl_take isl_mat *ptr)
     : ptr(ptr) {}
 
 
-mat &mat::operator=(isl::mat obj) {
+mat &mat::operator=(mat obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -9262,8 +9262,8 @@ mat::operator bool() const {
 }
 
 
-isl::ctx mat::get_ctx() const {
-  return isl::ctx(isl_mat_get_ctx(ptr));
+ctx mat::get_ctx() const {
+  return ctx(isl_mat_get_ctx(ptr));
 }
 
 void mat::dump() const {
@@ -9271,31 +9271,31 @@ void mat::dump() const {
 }
 
 
-isl::mat mat::add_rows(unsigned int n) const
+mat mat::add_rows(unsigned int n) const
 {
   auto res = isl_mat_add_rows(copy(), n);
   return manage(res);
 }
 
-isl::mat mat::add_zero_cols(unsigned int n) const
+mat mat::add_zero_cols(unsigned int n) const
 {
   auto res = isl_mat_add_zero_cols(copy(), n);
   return manage(res);
 }
 
-isl::mat mat::add_zero_rows(unsigned int n) const
+mat mat::add_zero_rows(unsigned int n) const
 {
   auto res = isl_mat_add_zero_rows(copy(), n);
   return manage(res);
 }
 
-isl::mat mat::aff_direct_sum(isl::mat right) const
+mat mat::aff_direct_sum(mat right) const
 {
   auto res = isl_mat_aff_direct_sum(copy(), right.release());
   return manage(res);
 }
 
-isl::mat mat::alloc(isl::ctx ctx, unsigned int n_row, unsigned int n_col)
+mat mat::alloc(ctx ctx, unsigned int n_row, unsigned int n_col)
 {
   auto res = isl_mat_alloc(ctx.release(), n_row, n_col);
   return manage(res);
@@ -9307,43 +9307,43 @@ int mat::cols() const
   return res;
 }
 
-isl::mat mat::concat(isl::mat bot) const
+mat mat::concat(mat bot) const
 {
   auto res = isl_mat_concat(copy(), bot.release());
   return manage(res);
 }
 
-isl::mat mat::diagonal(isl::mat mat2) const
+mat mat::diagonal(mat mat2) const
 {
   auto res = isl_mat_diagonal(copy(), mat2.release());
   return manage(res);
 }
 
-isl::mat mat::drop_cols(unsigned int col, unsigned int n) const
+mat mat::drop_cols(unsigned int col, unsigned int n) const
 {
   auto res = isl_mat_drop_cols(copy(), col, n);
   return manage(res);
 }
 
-isl::mat mat::drop_rows(unsigned int row, unsigned int n) const
+mat mat::drop_rows(unsigned int row, unsigned int n) const
 {
   auto res = isl_mat_drop_rows(copy(), row, n);
   return manage(res);
 }
 
-isl::mat mat::from_row_vec(isl::vec vec)
+mat mat::from_row_vec(vec vec)
 {
   auto res = isl_mat_from_row_vec(vec.release());
   return manage(res);
 }
 
-isl::val mat::get_element_val(int row, int col) const
+val mat::get_element_val(int row, int col) const
 {
   auto res = isl_mat_get_element_val(get(), row, col);
   return manage(res);
 }
 
-isl::boolean mat::has_linearly_independent_rows(const isl::mat &mat2) const
+boolean mat::has_linearly_independent_rows(const mat &mat2) const
 {
   auto res = isl_mat_has_linearly_independent_rows(get(), mat2.get());
   return manage(res);
@@ -9355,67 +9355,67 @@ int mat::initial_non_zero_cols() const
   return res;
 }
 
-isl::mat mat::insert_cols(unsigned int col, unsigned int n) const
+mat mat::insert_cols(unsigned int col, unsigned int n) const
 {
   auto res = isl_mat_insert_cols(copy(), col, n);
   return manage(res);
 }
 
-isl::mat mat::insert_rows(unsigned int row, unsigned int n) const
+mat mat::insert_rows(unsigned int row, unsigned int n) const
 {
   auto res = isl_mat_insert_rows(copy(), row, n);
   return manage(res);
 }
 
-isl::mat mat::insert_zero_cols(unsigned int first, unsigned int n) const
+mat mat::insert_zero_cols(unsigned int first, unsigned int n) const
 {
   auto res = isl_mat_insert_zero_cols(copy(), first, n);
   return manage(res);
 }
 
-isl::mat mat::insert_zero_rows(unsigned int row, unsigned int n) const
+mat mat::insert_zero_rows(unsigned int row, unsigned int n) const
 {
   auto res = isl_mat_insert_zero_rows(copy(), row, n);
   return manage(res);
 }
 
-isl::mat mat::inverse_product(isl::mat right) const
+mat mat::inverse_product(mat right) const
 {
   auto res = isl_mat_inverse_product(copy(), right.release());
   return manage(res);
 }
 
-isl::boolean mat::is_equal(const isl::mat &mat2) const
+boolean mat::is_equal(const mat &mat2) const
 {
   auto res = isl_mat_is_equal(get(), mat2.get());
   return manage(res);
 }
 
-isl::mat mat::lin_to_aff() const
+mat mat::lin_to_aff() const
 {
   auto res = isl_mat_lin_to_aff(copy());
   return manage(res);
 }
 
-isl::mat mat::move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const
+mat mat::move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const
 {
   auto res = isl_mat_move_cols(copy(), dst_col, src_col, n);
   return manage(res);
 }
 
-isl::mat mat::normalize() const
+mat mat::normalize() const
 {
   auto res = isl_mat_normalize(copy());
   return manage(res);
 }
 
-isl::mat mat::normalize_row(int row) const
+mat mat::normalize_row(int row) const
 {
   auto res = isl_mat_normalize_row(copy(), row);
   return manage(res);
 }
 
-isl::mat mat::product(isl::mat right) const
+mat mat::product(mat right) const
 {
   auto res = isl_mat_product(copy(), right.release());
   return manage(res);
@@ -9427,25 +9427,25 @@ int mat::rank() const
   return res;
 }
 
-isl::mat mat::right_inverse() const
+mat mat::right_inverse() const
 {
   auto res = isl_mat_right_inverse(copy());
   return manage(res);
 }
 
-isl::mat mat::right_kernel() const
+mat mat::right_kernel() const
 {
   auto res = isl_mat_right_kernel(copy());
   return manage(res);
 }
 
-isl::mat mat::row_basis() const
+mat mat::row_basis() const
 {
   auto res = isl_mat_row_basis(copy());
   return manage(res);
 }
 
-isl::mat mat::row_basis_extension(isl::mat mat2) const
+mat mat::row_basis_extension(mat mat2) const
 {
   auto res = isl_mat_row_basis_extension(copy(), mat2.release());
   return manage(res);
@@ -9457,65 +9457,65 @@ int mat::rows() const
   return res;
 }
 
-isl::mat mat::set_element_si(int row, int col, int v) const
+mat mat::set_element_si(int row, int col, int v) const
 {
   auto res = isl_mat_set_element_si(copy(), row, col, v);
   return manage(res);
 }
 
-isl::mat mat::set_element_val(int row, int col, isl::val v) const
+mat mat::set_element_val(int row, int col, val v) const
 {
   auto res = isl_mat_set_element_val(copy(), row, col, v.release());
   return manage(res);
 }
 
-isl::mat mat::swap_cols(unsigned int i, unsigned int j) const
+mat mat::swap_cols(unsigned int i, unsigned int j) const
 {
   auto res = isl_mat_swap_cols(copy(), i, j);
   return manage(res);
 }
 
-isl::mat mat::swap_rows(unsigned int i, unsigned int j) const
+mat mat::swap_rows(unsigned int i, unsigned int j) const
 {
   auto res = isl_mat_swap_rows(copy(), i, j);
   return manage(res);
 }
 
-isl::mat mat::transpose() const
+mat mat::transpose() const
 {
   auto res = isl_mat_transpose(copy());
   return manage(res);
 }
 
-isl::mat mat::unimodular_complete(int row) const
+mat mat::unimodular_complete(int row) const
 {
   auto res = isl_mat_unimodular_complete(copy(), row);
   return manage(res);
 }
 
-isl::mat mat::vec_concat(isl::vec bot) const
+mat mat::vec_concat(vec bot) const
 {
   auto res = isl_mat_vec_concat(copy(), bot.release());
   return manage(res);
 }
 
-isl::vec mat::vec_inverse_product(isl::vec vec) const
+vec mat::vec_inverse_product(vec vec) const
 {
   auto res = isl_mat_vec_inverse_product(copy(), vec.release());
   return manage(res);
 }
 
-isl::vec mat::vec_product(isl::vec vec) const
+vec mat::vec_product(vec vec) const
 {
   auto res = isl_mat_vec_product(copy(), vec.release());
   return manage(res);
 }
 
 // implementations for isl::multi_aff
-isl::multi_aff manage(__isl_take isl_multi_aff *ptr) {
+multi_aff manage(__isl_take isl_multi_aff *ptr) {
   return multi_aff(ptr);
 }
-isl::multi_aff manage_copy(__isl_keep isl_multi_aff *ptr) {
+multi_aff manage_copy(__isl_keep isl_multi_aff *ptr) {
   ptr = isl_multi_aff_copy(ptr);
   return multi_aff(ptr);
 }
@@ -9523,7 +9523,7 @@ isl::multi_aff manage_copy(__isl_keep is
 multi_aff::multi_aff()
     : ptr(nullptr) {}
 
-multi_aff::multi_aff(const isl::multi_aff &obj)
+multi_aff::multi_aff(const multi_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -9535,18 +9535,18 @@ multi_aff::multi_aff(std::nullptr_t)
 multi_aff::multi_aff(__isl_take isl_multi_aff *ptr)
     : ptr(ptr) {}
 
-multi_aff::multi_aff(isl::aff aff)
+multi_aff::multi_aff(aff aff)
 {
   auto res = isl_multi_aff_from_aff(aff.release());
   ptr = res;
 }
-multi_aff::multi_aff(isl::ctx ctx, const std::string &str)
+multi_aff::multi_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_multi_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-multi_aff &multi_aff::operator=(isl::multi_aff obj) {
+multi_aff &multi_aff::operator=(multi_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -9578,8 +9578,8 @@ multi_aff::operator bool() const {
 }
 
 
-isl::ctx multi_aff::get_ctx() const {
-  return isl::ctx(isl_multi_aff_get_ctx(ptr));
+ctx multi_aff::get_ctx() const {
+  return ctx(isl_multi_aff_get_ctx(ptr));
 }
 std::string multi_aff::to_str() const {
   char *Tmp = isl_multi_aff_to_str(get());
@@ -9596,19 +9596,19 @@ void multi_aff::dump() const {
 }
 
 
-isl::multi_aff multi_aff::add(isl::multi_aff multi2) const
+multi_aff multi_aff::add(multi_aff multi2) const
 {
   auto res = isl_multi_aff_add(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::add_dims(isl::dim type, unsigned int n) const
+multi_aff multi_aff::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_multi_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::multi_aff multi_aff::align_params(isl::space model) const
+multi_aff multi_aff::align_params(space model) const
 {
   auto res = isl_multi_aff_align_params(copy(), model.release());
   return manage(res);
@@ -9620,25 +9620,25 @@ unsigned int multi_aff::dim(isl::dim typ
   return res;
 }
 
-isl::multi_aff multi_aff::domain_map(isl::space space)
+multi_aff multi_aff::domain_map(space space)
 {
   auto res = isl_multi_aff_domain_map(space.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_aff multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::multi_aff multi_aff::factor_range() const
+multi_aff multi_aff::factor_range() const
 {
   auto res = isl_multi_aff_factor_range(copy());
   return manage(res);
 }
 
-int multi_aff::find_dim_by_id(isl::dim type, const isl::id &id) const
+int multi_aff::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_multi_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -9650,67 +9650,67 @@ int multi_aff::find_dim_by_name(isl::dim
   return res;
 }
 
-isl::multi_aff multi_aff::flat_range_product(isl::multi_aff multi2) const
+multi_aff multi_aff::flat_range_product(multi_aff multi2) const
 {
   auto res = isl_multi_aff_flat_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::flatten_domain() const
+multi_aff multi_aff::flatten_domain() const
 {
   auto res = isl_multi_aff_flatten_domain(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::flatten_range() const
+multi_aff multi_aff::flatten_range() const
 {
   auto res = isl_multi_aff_flatten_range(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::floor() const
+multi_aff multi_aff::floor() const
 {
   auto res = isl_multi_aff_floor(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::from_aff_list(isl::space space, isl::aff_list list)
+multi_aff multi_aff::from_aff_list(space space, aff_list list)
 {
   auto res = isl_multi_aff_from_aff_list(space.release(), list.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::from_range() const
+multi_aff multi_aff::from_range() const
 {
   auto res = isl_multi_aff_from_range(copy());
   return manage(res);
 }
 
-isl::aff multi_aff::get_aff(int pos) const
+aff multi_aff::get_aff(int pos) const
 {
   auto res = isl_multi_aff_get_aff(get(), pos);
   return manage(res);
 }
 
-isl::id multi_aff::get_dim_id(isl::dim type, unsigned int pos) const
+id multi_aff::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_multi_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::space multi_aff::get_domain_space() const
+space multi_aff::get_domain_space() const
 {
   auto res = isl_multi_aff_get_domain_space(get());
   return manage(res);
 }
 
-isl::space multi_aff::get_space() const
+space multi_aff::get_space() const
 {
   auto res = isl_multi_aff_get_space(get());
   return manage(res);
 }
 
-isl::id multi_aff::get_tuple_id(isl::dim type) const
+id multi_aff::get_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -9723,251 +9723,251 @@ std::string multi_aff::get_tuple_name(is
   return tmp;
 }
 
-isl::multi_aff multi_aff::gist(isl::set context) const
+multi_aff multi_aff::gist(set context) const
 {
   auto res = isl_multi_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::gist_params(isl::set context) const
+multi_aff multi_aff::gist_params(set context) const
 {
   auto res = isl_multi_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean multi_aff::has_tuple_id(isl::dim type) const
+boolean multi_aff::has_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_aff multi_aff::identity(isl::space space)
+multi_aff multi_aff::identity(space space)
 {
   auto res = isl_multi_aff_identity(space.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_aff multi_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean multi_aff::involves_nan() const
+boolean multi_aff::involves_nan() const
 {
   auto res = isl_multi_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::set multi_aff::lex_ge_set(isl::multi_aff ma2) const
+set multi_aff::lex_ge_set(multi_aff ma2) const
 {
   auto res = isl_multi_aff_lex_ge_set(copy(), ma2.release());
   return manage(res);
 }
 
-isl::set multi_aff::lex_gt_set(isl::multi_aff ma2) const
+set multi_aff::lex_gt_set(multi_aff ma2) const
 {
   auto res = isl_multi_aff_lex_gt_set(copy(), ma2.release());
   return manage(res);
 }
 
-isl::set multi_aff::lex_le_set(isl::multi_aff ma2) const
+set multi_aff::lex_le_set(multi_aff ma2) const
 {
   auto res = isl_multi_aff_lex_le_set(copy(), ma2.release());
   return manage(res);
 }
 
-isl::set multi_aff::lex_lt_set(isl::multi_aff ma2) const
+set multi_aff::lex_lt_set(multi_aff ma2) const
 {
   auto res = isl_multi_aff_lex_lt_set(copy(), ma2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::mod_multi_val(isl::multi_val mv) const
+multi_aff multi_aff::mod_multi_val(multi_val mv) const
 {
   auto res = isl_multi_aff_mod_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+multi_aff multi_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_multi_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::multi_aff multi_aff::multi_val_on_space(isl::space space, isl::multi_val mv)
+multi_aff multi_aff::multi_val_on_space(space space, multi_val mv)
 {
   auto res = isl_multi_aff_multi_val_on_space(space.release(), mv.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::neg() const
+multi_aff multi_aff::neg() const
 {
   auto res = isl_multi_aff_neg(copy());
   return manage(res);
 }
 
-int multi_aff::plain_cmp(const isl::multi_aff &multi2) const
+int multi_aff::plain_cmp(const multi_aff &multi2) const
 {
   auto res = isl_multi_aff_plain_cmp(get(), multi2.get());
   return res;
 }
 
-isl::boolean multi_aff::plain_is_equal(const isl::multi_aff &multi2) const
+boolean multi_aff::plain_is_equal(const multi_aff &multi2) const
 {
   auto res = isl_multi_aff_plain_is_equal(get(), multi2.get());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::product(isl::multi_aff multi2) const
+multi_aff multi_aff::product(multi_aff multi2) const
 {
   auto res = isl_multi_aff_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::project_domain_on_params() const
+multi_aff multi_aff::project_domain_on_params() const
 {
   auto res = isl_multi_aff_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n)
+multi_aff multi_aff::project_out_map(space space, isl::dim type, unsigned int first, unsigned int n)
 {
   auto res = isl_multi_aff_project_out_map(space.release(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::multi_aff multi_aff::pullback(isl::multi_aff ma2) const
+multi_aff multi_aff::pullback(multi_aff ma2) const
 {
   auto res = isl_multi_aff_pullback_multi_aff(copy(), ma2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::range_factor_domain() const
+multi_aff multi_aff::range_factor_domain() const
 {
   auto res = isl_multi_aff_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::range_factor_range() const
+multi_aff multi_aff::range_factor_range() const
 {
   auto res = isl_multi_aff_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean multi_aff::range_is_wrapping() const
+boolean multi_aff::range_is_wrapping() const
 {
   auto res = isl_multi_aff_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::range_map(isl::space space)
+multi_aff multi_aff::range_map(space space)
 {
   auto res = isl_multi_aff_range_map(space.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::range_product(isl::multi_aff multi2) const
+multi_aff multi_aff::range_product(multi_aff multi2) const
 {
   auto res = isl_multi_aff_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::range_splice(unsigned int pos, isl::multi_aff multi2) const
+multi_aff multi_aff::range_splice(unsigned int pos, multi_aff multi2) const
 {
   auto res = isl_multi_aff_range_splice(copy(), pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::reset_tuple_id(isl::dim type) const
+multi_aff multi_aff::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_aff multi_aff::reset_user() const
+multi_aff multi_aff::reset_user() const
 {
   auto res = isl_multi_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::scale_down_multi_val(isl::multi_val mv) const
+multi_aff multi_aff::scale_down_multi_val(multi_val mv) const
 {
   auto res = isl_multi_aff_scale_down_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::scale_down_val(isl::val v) const
+multi_aff multi_aff::scale_down_val(val v) const
 {
   auto res = isl_multi_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::scale_multi_val(isl::multi_val mv) const
+multi_aff multi_aff::scale_multi_val(multi_val mv) const
 {
   auto res = isl_multi_aff_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::scale_val(isl::val v) const
+multi_aff multi_aff::scale_val(val v) const
 {
   auto res = isl_multi_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::set_aff(int pos, isl::aff el) const
+multi_aff multi_aff::set_aff(int pos, aff el) const
 {
   auto res = isl_multi_aff_set_aff(copy(), pos, el.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+multi_aff multi_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_multi_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::set_tuple_id(isl::dim type, isl::id id) const
+multi_aff multi_aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_multi_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::set_tuple_name(isl::dim type, const std::string &s) const
+multi_aff multi_aff::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_multi_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_aff multi2) const
+multi_aff multi_aff::splice(unsigned int in_pos, unsigned int out_pos, multi_aff multi2) const
 {
   auto res = isl_multi_aff_splice(copy(), in_pos, out_pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::sub(isl::multi_aff multi2) const
+multi_aff multi_aff::sub(multi_aff multi2) const
 {
   auto res = isl_multi_aff_sub(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_aff multi_aff::zero(isl::space space)
+multi_aff multi_aff::zero(space space)
 {
   auto res = isl_multi_aff_zero(space.release());
   return manage(res);
 }
 
 // implementations for isl::multi_pw_aff
-isl::multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr) {
+multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr) {
   return multi_pw_aff(ptr);
 }
-isl::multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr) {
+multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr) {
   ptr = isl_multi_pw_aff_copy(ptr);
   return multi_pw_aff(ptr);
 }
@@ -9975,7 +9975,7 @@ isl::multi_pw_aff manage_copy(__isl_keep
 multi_pw_aff::multi_pw_aff()
     : ptr(nullptr) {}
 
-multi_pw_aff::multi_pw_aff(const isl::multi_pw_aff &obj)
+multi_pw_aff::multi_pw_aff(const multi_pw_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -9987,28 +9987,28 @@ multi_pw_aff::multi_pw_aff(std::nullptr_
 multi_pw_aff::multi_pw_aff(__isl_take isl_multi_pw_aff *ptr)
     : ptr(ptr) {}
 
-multi_pw_aff::multi_pw_aff(isl::multi_aff ma)
+multi_pw_aff::multi_pw_aff(multi_aff ma)
 {
   auto res = isl_multi_pw_aff_from_multi_aff(ma.release());
   ptr = res;
 }
-multi_pw_aff::multi_pw_aff(isl::pw_aff pa)
+multi_pw_aff::multi_pw_aff(pw_aff pa)
 {
   auto res = isl_multi_pw_aff_from_pw_aff(pa.release());
   ptr = res;
 }
-multi_pw_aff::multi_pw_aff(isl::pw_multi_aff pma)
+multi_pw_aff::multi_pw_aff(pw_multi_aff pma)
 {
   auto res = isl_multi_pw_aff_from_pw_multi_aff(pma.release());
   ptr = res;
 }
-multi_pw_aff::multi_pw_aff(isl::ctx ctx, const std::string &str)
+multi_pw_aff::multi_pw_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_multi_pw_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-multi_pw_aff &multi_pw_aff::operator=(isl::multi_pw_aff obj) {
+multi_pw_aff &multi_pw_aff::operator=(multi_pw_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -10040,8 +10040,8 @@ multi_pw_aff::operator bool() const {
 }
 
 
-isl::ctx multi_pw_aff::get_ctx() const {
-  return isl::ctx(isl_multi_pw_aff_get_ctx(ptr));
+ctx multi_pw_aff::get_ctx() const {
+  return ctx(isl_multi_pw_aff_get_ctx(ptr));
 }
 std::string multi_pw_aff::to_str() const {
   char *Tmp = isl_multi_pw_aff_to_str(get());
@@ -10058,25 +10058,25 @@ void multi_pw_aff::dump() const {
 }
 
 
-isl::multi_pw_aff multi_pw_aff::add(isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::add(multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_add(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::add_dims(isl::dim type, unsigned int n) const
+multi_pw_aff multi_pw_aff::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_multi_pw_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::align_params(isl::space model) const
+multi_pw_aff multi_pw_aff::align_params(space model) const
 {
   auto res = isl_multi_pw_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::coalesce() const
+multi_pw_aff multi_pw_aff::coalesce() const
 {
   auto res = isl_multi_pw_aff_coalesce(copy());
   return manage(res);
@@ -10088,31 +10088,31 @@ unsigned int multi_pw_aff::dim(isl::dim
   return res;
 }
 
-isl::set multi_pw_aff::domain() const
+set multi_pw_aff::domain() const
 {
   auto res = isl_multi_pw_aff_domain(copy());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_pw_aff multi_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::map multi_pw_aff::eq_map(isl::multi_pw_aff mpa2) const
+map multi_pw_aff::eq_map(multi_pw_aff mpa2) const
 {
   auto res = isl_multi_pw_aff_eq_map(copy(), mpa2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::factor_range() const
+multi_pw_aff multi_pw_aff::factor_range() const
 {
   auto res = isl_multi_pw_aff_factor_range(copy());
   return manage(res);
 }
 
-int multi_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const
+int multi_pw_aff::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_multi_pw_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -10124,37 +10124,37 @@ int multi_pw_aff::find_dim_by_name(isl::
   return res;
 }
 
-isl::multi_pw_aff multi_pw_aff::flat_range_product(isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::flat_range_product(multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_flat_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::flatten_range() const
+multi_pw_aff multi_pw_aff::flatten_range() const
 {
   auto res = isl_multi_pw_aff_flatten_range(copy());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::from_pw_aff_list(isl::space space, isl::pw_aff_list list)
+multi_pw_aff multi_pw_aff::from_pw_aff_list(space space, pw_aff_list list)
 {
   auto res = isl_multi_pw_aff_from_pw_aff_list(space.release(), list.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::from_range() const
+multi_pw_aff multi_pw_aff::from_range() const
 {
   auto res = isl_multi_pw_aff_from_range(copy());
   return manage(res);
 }
 
-isl::id multi_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
+id multi_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_multi_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::space multi_pw_aff::get_domain_space() const
+space multi_pw_aff::get_domain_space() const
 {
   auto res = isl_multi_pw_aff_get_domain_space(get());
   return manage(res);
@@ -10166,19 +10166,19 @@ uint32_t multi_pw_aff::get_hash() const
   return res;
 }
 
-isl::pw_aff multi_pw_aff::get_pw_aff(int pos) const
+pw_aff multi_pw_aff::get_pw_aff(int pos) const
 {
   auto res = isl_multi_pw_aff_get_pw_aff(get(), pos);
   return manage(res);
 }
 
-isl::space multi_pw_aff::get_space() const
+space multi_pw_aff::get_space() const
 {
   auto res = isl_multi_pw_aff_get_space(get());
   return manage(res);
 }
 
-isl::id multi_pw_aff::get_tuple_id(isl::dim type) const
+id multi_pw_aff::get_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -10191,251 +10191,251 @@ std::string multi_pw_aff::get_tuple_name
   return tmp;
 }
 
-isl::multi_pw_aff multi_pw_aff::gist(isl::set set) const
+multi_pw_aff multi_pw_aff::gist(set set) const
 {
   auto res = isl_multi_pw_aff_gist(copy(), set.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::gist_params(isl::set set) const
+multi_pw_aff multi_pw_aff::gist_params(set set) const
 {
   auto res = isl_multi_pw_aff_gist_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::has_tuple_id(isl::dim type) const
+boolean multi_pw_aff::has_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::identity(isl::space space)
+multi_pw_aff multi_pw_aff::identity(space space)
 {
   auto res = isl_multi_pw_aff_identity(space.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_pw_aff multi_pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_pw_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::intersect_domain(isl::set domain) const
+multi_pw_aff multi_pw_aff::intersect_domain(set domain) const
 {
   auto res = isl_multi_pw_aff_intersect_domain(copy(), domain.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::intersect_params(isl::set set) const
+multi_pw_aff multi_pw_aff::intersect_params(set set) const
 {
   auto res = isl_multi_pw_aff_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean multi_pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_pw_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::involves_nan() const
+boolean multi_pw_aff::involves_nan() const
 {
   auto res = isl_multi_pw_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::is_cst() const
+boolean multi_pw_aff::is_cst() const
 {
   auto res = isl_multi_pw_aff_is_cst(get());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::is_equal(const isl::multi_pw_aff &mpa2) const
+boolean multi_pw_aff::is_equal(const multi_pw_aff &mpa2) const
 {
   auto res = isl_multi_pw_aff_is_equal(get(), mpa2.get());
   return manage(res);
 }
 
-isl::map multi_pw_aff::lex_gt_map(isl::multi_pw_aff mpa2) const
+map multi_pw_aff::lex_gt_map(multi_pw_aff mpa2) const
 {
   auto res = isl_multi_pw_aff_lex_gt_map(copy(), mpa2.release());
   return manage(res);
 }
 
-isl::map multi_pw_aff::lex_lt_map(isl::multi_pw_aff mpa2) const
+map multi_pw_aff::lex_lt_map(multi_pw_aff mpa2) const
 {
   auto res = isl_multi_pw_aff_lex_lt_map(copy(), mpa2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::mod_multi_val(isl::multi_val mv) const
+multi_pw_aff multi_pw_aff::mod_multi_val(multi_val mv) const
 {
   auto res = isl_multi_pw_aff_mod_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+multi_pw_aff multi_pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_multi_pw_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::neg() const
+multi_pw_aff multi_pw_aff::neg() const
 {
   auto res = isl_multi_pw_aff_neg(copy());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
+boolean multi_pw_aff::plain_is_equal(const multi_pw_aff &multi2) const
 {
   auto res = isl_multi_pw_aff_plain_is_equal(get(), multi2.get());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::product(isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::product(multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::project_domain_on_params() const
+multi_pw_aff multi_pw_aff::project_domain_on_params() const
 {
   auto res = isl_multi_pw_aff_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_aff ma) const
+multi_pw_aff multi_pw_aff::pullback(multi_aff ma) const
 {
   auto res = isl_multi_pw_aff_pullback_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::pullback(isl::pw_multi_aff pma) const
+multi_pw_aff multi_pw_aff::pullback(pw_multi_aff pma) const
 {
   auto res = isl_multi_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_pw_aff mpa2) const
+multi_pw_aff multi_pw_aff::pullback(multi_pw_aff mpa2) const
 {
   auto res = isl_multi_pw_aff_pullback_multi_pw_aff(copy(), mpa2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::range_factor_domain() const
+multi_pw_aff multi_pw_aff::range_factor_domain() const
 {
   auto res = isl_multi_pw_aff_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::range_factor_range() const
+multi_pw_aff multi_pw_aff::range_factor_range() const
 {
   auto res = isl_multi_pw_aff_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean multi_pw_aff::range_is_wrapping() const
+boolean multi_pw_aff::range_is_wrapping() const
 {
   auto res = isl_multi_pw_aff_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::range_product(isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::range_product(multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::range_splice(unsigned int pos, isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::range_splice(unsigned int pos, multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_range_splice(copy(), pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::reset_tuple_id(isl::dim type) const
+multi_pw_aff multi_pw_aff::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::reset_user() const
+multi_pw_aff multi_pw_aff::reset_user() const
 {
   auto res = isl_multi_pw_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::scale_down_multi_val(isl::multi_val mv) const
+multi_pw_aff multi_pw_aff::scale_down_multi_val(multi_val mv) const
 {
   auto res = isl_multi_pw_aff_scale_down_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::scale_down_val(isl::val v) const
+multi_pw_aff multi_pw_aff::scale_down_val(val v) const
 {
   auto res = isl_multi_pw_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::scale_multi_val(isl::multi_val mv) const
+multi_pw_aff multi_pw_aff::scale_multi_val(multi_val mv) const
 {
   auto res = isl_multi_pw_aff_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::scale_val(isl::val v) const
+multi_pw_aff multi_pw_aff::scale_val(val v) const
 {
   auto res = isl_multi_pw_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+multi_pw_aff multi_pw_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_multi_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::set_pw_aff(int pos, isl::pw_aff el) const
+multi_pw_aff multi_pw_aff::set_pw_aff(int pos, pw_aff el) const
 {
   auto res = isl_multi_pw_aff_set_pw_aff(copy(), pos, el.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::set_tuple_id(isl::dim type, isl::id id) const
+multi_pw_aff multi_pw_aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_multi_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const
+multi_pw_aff multi_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_multi_pw_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::splice(unsigned int in_pos, unsigned int out_pos, multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_splice(copy(), in_pos, out_pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::sub(isl::multi_pw_aff multi2) const
+multi_pw_aff multi_pw_aff::sub(multi_pw_aff multi2) const
 {
   auto res = isl_multi_pw_aff_sub(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_pw_aff multi_pw_aff::zero(isl::space space)
+multi_pw_aff multi_pw_aff::zero(space space)
 {
   auto res = isl_multi_pw_aff_zero(space.release());
   return manage(res);
 }
 
 // implementations for isl::multi_union_pw_aff
-isl::multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr) {
+multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr) {
   return multi_union_pw_aff(ptr);
 }
-isl::multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr) {
+multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr) {
   ptr = isl_multi_union_pw_aff_copy(ptr);
   return multi_union_pw_aff(ptr);
 }
@@ -10443,7 +10443,7 @@ isl::multi_union_pw_aff manage_copy(__is
 multi_union_pw_aff::multi_union_pw_aff()
     : ptr(nullptr) {}
 
-multi_union_pw_aff::multi_union_pw_aff(const isl::multi_union_pw_aff &obj)
+multi_union_pw_aff::multi_union_pw_aff(const multi_union_pw_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -10455,28 +10455,28 @@ multi_union_pw_aff::multi_union_pw_aff(s
 multi_union_pw_aff::multi_union_pw_aff(__isl_take isl_multi_union_pw_aff *ptr)
     : ptr(ptr) {}
 
-multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_aff upa)
+multi_union_pw_aff::multi_union_pw_aff(union_pw_aff upa)
 {
   auto res = isl_multi_union_pw_aff_from_union_pw_aff(upa.release());
   ptr = res;
 }
-multi_union_pw_aff::multi_union_pw_aff(isl::multi_pw_aff mpa)
+multi_union_pw_aff::multi_union_pw_aff(multi_pw_aff mpa)
 {
   auto res = isl_multi_union_pw_aff_from_multi_pw_aff(mpa.release());
   ptr = res;
 }
-multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_multi_aff upma)
+multi_union_pw_aff::multi_union_pw_aff(union_pw_multi_aff upma)
 {
   auto res = isl_multi_union_pw_aff_from_union_pw_multi_aff(upma.release());
   ptr = res;
 }
-multi_union_pw_aff::multi_union_pw_aff(isl::ctx ctx, const std::string &str)
+multi_union_pw_aff::multi_union_pw_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_multi_union_pw_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-multi_union_pw_aff &multi_union_pw_aff::operator=(isl::multi_union_pw_aff obj) {
+multi_union_pw_aff &multi_union_pw_aff::operator=(multi_union_pw_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -10508,8 +10508,8 @@ multi_union_pw_aff::operator bool() cons
 }
 
 
-isl::ctx multi_union_pw_aff::get_ctx() const {
-  return isl::ctx(isl_multi_union_pw_aff_get_ctx(ptr));
+ctx multi_union_pw_aff::get_ctx() const {
+  return ctx(isl_multi_union_pw_aff_get_ctx(ptr));
 }
 std::string multi_union_pw_aff::to_str() const {
   char *Tmp = isl_multi_union_pw_aff_to_str(get());
@@ -10526,37 +10526,37 @@ void multi_union_pw_aff::dump() const {
 }
 
 
-isl::multi_union_pw_aff multi_union_pw_aff::add(isl::multi_union_pw_aff multi2) const
+multi_union_pw_aff multi_union_pw_aff::add(multi_union_pw_aff multi2) const
 {
   auto res = isl_multi_union_pw_aff_add(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::align_params(isl::space model) const
+multi_union_pw_aff multi_union_pw_aff::align_params(space model) const
 {
   auto res = isl_multi_union_pw_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_pw_aff multi_union_pw_aff::apply_aff(isl::aff aff) const
+union_pw_aff multi_union_pw_aff::apply_aff(aff aff) const
 {
   auto res = isl_multi_union_pw_aff_apply_aff(copy(), aff.release());
   return manage(res);
 }
 
-isl::union_pw_aff multi_union_pw_aff::apply_pw_aff(isl::pw_aff pa) const
+union_pw_aff multi_union_pw_aff::apply_pw_aff(pw_aff pa) const
 {
   auto res = isl_multi_union_pw_aff_apply_pw_aff(copy(), pa.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::apply_pw_multi_aff(isl::pw_multi_aff pma) const
+multi_union_pw_aff multi_union_pw_aff::apply_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_multi_union_pw_aff_apply_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::coalesce() const
+multi_union_pw_aff multi_union_pw_aff::coalesce() const
 {
   auto res = isl_multi_union_pw_aff_coalesce(copy());
   return manage(res);
@@ -10568,31 +10568,31 @@ unsigned int multi_union_pw_aff::dim(isl
   return res;
 }
 
-isl::union_set multi_union_pw_aff::domain() const
+union_set multi_union_pw_aff::domain() const
 {
   auto res = isl_multi_union_pw_aff_domain(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_union_pw_aff multi_union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_union_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::multi_pw_aff multi_union_pw_aff::extract_multi_pw_aff(isl::space space) const
+multi_pw_aff multi_union_pw_aff::extract_multi_pw_aff(space space) const
 {
   auto res = isl_multi_union_pw_aff_extract_multi_pw_aff(get(), space.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::factor_range() const
+multi_union_pw_aff multi_union_pw_aff::factor_range() const
 {
   auto res = isl_multi_union_pw_aff_factor_range(copy());
   return manage(res);
 }
 
-int multi_union_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const
+int multi_union_pw_aff::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_multi_union_pw_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -10604,67 +10604,67 @@ int multi_union_pw_aff::find_dim_by_name
   return res;
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::flat_range_product(isl::multi_union_pw_aff multi2) const
+multi_union_pw_aff multi_union_pw_aff::flat_range_product(multi_union_pw_aff multi2) const
 {
   auto res = isl_multi_union_pw_aff_flat_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::flatten_range() const
+multi_union_pw_aff multi_union_pw_aff::flatten_range() const
 {
   auto res = isl_multi_union_pw_aff_flatten_range(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::floor() const
+multi_union_pw_aff multi_union_pw_aff::floor() const
 {
   auto res = isl_multi_union_pw_aff_floor(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::from_multi_aff(isl::multi_aff ma)
+multi_union_pw_aff multi_union_pw_aff::from_multi_aff(multi_aff ma)
 {
   auto res = isl_multi_union_pw_aff_from_multi_aff(ma.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::from_range() const
+multi_union_pw_aff multi_union_pw_aff::from_range() const
 {
   auto res = isl_multi_union_pw_aff_from_range(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::from_union_map(isl::union_map umap)
+multi_union_pw_aff multi_union_pw_aff::from_union_map(union_map umap)
 {
   auto res = isl_multi_union_pw_aff_from_union_map(umap.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::from_union_pw_aff_list(isl::space space, isl::union_pw_aff_list list)
+multi_union_pw_aff multi_union_pw_aff::from_union_pw_aff_list(space space, union_pw_aff_list list)
 {
   auto res = isl_multi_union_pw_aff_from_union_pw_aff_list(space.release(), list.release());
   return manage(res);
 }
 
-isl::id multi_union_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
+id multi_union_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_multi_union_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::space multi_union_pw_aff::get_domain_space() const
+space multi_union_pw_aff::get_domain_space() const
 {
   auto res = isl_multi_union_pw_aff_get_domain_space(get());
   return manage(res);
 }
 
-isl::space multi_union_pw_aff::get_space() const
+space multi_union_pw_aff::get_space() const
 {
   auto res = isl_multi_union_pw_aff_get_space(get());
   return manage(res);
 }
 
-isl::id multi_union_pw_aff::get_tuple_id(isl::dim type) const
+id multi_union_pw_aff::get_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_union_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -10677,227 +10677,227 @@ std::string multi_union_pw_aff::get_tupl
   return tmp;
 }
 
-isl::union_pw_aff multi_union_pw_aff::get_union_pw_aff(int pos) const
+union_pw_aff multi_union_pw_aff::get_union_pw_aff(int pos) const
 {
   auto res = isl_multi_union_pw_aff_get_union_pw_aff(get(), pos);
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::gist(isl::union_set context) const
+multi_union_pw_aff multi_union_pw_aff::gist(union_set context) const
 {
   auto res = isl_multi_union_pw_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::gist_params(isl::set context) const
+multi_union_pw_aff multi_union_pw_aff::gist_params(set context) const
 {
   auto res = isl_multi_union_pw_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean multi_union_pw_aff::has_tuple_id(isl::dim type) const
+boolean multi_union_pw_aff::has_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_union_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::intersect_domain(isl::union_set uset) const
+multi_union_pw_aff multi_union_pw_aff::intersect_domain(union_set uset) const
 {
   auto res = isl_multi_union_pw_aff_intersect_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::intersect_params(isl::set params) const
+multi_union_pw_aff multi_union_pw_aff::intersect_params(set params) const
 {
   auto res = isl_multi_union_pw_aff_intersect_params(copy(), params.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::intersect_range(isl::set set) const
+multi_union_pw_aff multi_union_pw_aff::intersect_range(set set) const
 {
   auto res = isl_multi_union_pw_aff_intersect_range(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean multi_union_pw_aff::involves_nan() const
+boolean multi_union_pw_aff::involves_nan() const
 {
   auto res = isl_multi_union_pw_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::multi_val multi_union_pw_aff::max_multi_val() const
+multi_val multi_union_pw_aff::max_multi_val() const
 {
   auto res = isl_multi_union_pw_aff_max_multi_val(copy());
   return manage(res);
 }
 
-isl::multi_val multi_union_pw_aff::min_multi_val() const
+multi_val multi_union_pw_aff::min_multi_val() const
 {
   auto res = isl_multi_union_pw_aff_min_multi_val(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::mod_multi_val(isl::multi_val mv) const
+multi_union_pw_aff multi_union_pw_aff::mod_multi_val(multi_val mv) const
 {
   auto res = isl_multi_union_pw_aff_mod_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::multi_aff_on_domain(isl::union_set domain, isl::multi_aff ma)
+multi_union_pw_aff multi_union_pw_aff::multi_aff_on_domain(union_set domain, multi_aff ma)
 {
   auto res = isl_multi_union_pw_aff_multi_aff_on_domain(domain.release(), ma.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv)
+multi_union_pw_aff multi_union_pw_aff::multi_val_on_domain(union_set domain, multi_val mv)
 {
   auto res = isl_multi_union_pw_aff_multi_val_on_domain(domain.release(), mv.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::neg() const
+multi_union_pw_aff multi_union_pw_aff::neg() const
 {
   auto res = isl_multi_union_pw_aff_neg(copy());
   return manage(res);
 }
 
-isl::boolean multi_union_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
+boolean multi_union_pw_aff::plain_is_equal(const multi_union_pw_aff &multi2) const
 {
   auto res = isl_multi_union_pw_aff_plain_is_equal(get(), multi2.get());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::pullback(isl::union_pw_multi_aff upma) const
+multi_union_pw_aff multi_union_pw_aff::pullback(union_pw_multi_aff upma) const
 {
   auto res = isl_multi_union_pw_aff_pullback_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::pw_multi_aff_on_domain(isl::union_set domain, isl::pw_multi_aff pma)
+multi_union_pw_aff multi_union_pw_aff::pw_multi_aff_on_domain(union_set domain, pw_multi_aff pma)
 {
   auto res = isl_multi_union_pw_aff_pw_multi_aff_on_domain(domain.release(), pma.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::range_factor_domain() const
+multi_union_pw_aff multi_union_pw_aff::range_factor_domain() const
 {
   auto res = isl_multi_union_pw_aff_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::range_factor_range() const
+multi_union_pw_aff multi_union_pw_aff::range_factor_range() const
 {
   auto res = isl_multi_union_pw_aff_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean multi_union_pw_aff::range_is_wrapping() const
+boolean multi_union_pw_aff::range_is_wrapping() const
 {
   auto res = isl_multi_union_pw_aff_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::range_product(isl::multi_union_pw_aff multi2) const
+multi_union_pw_aff multi_union_pw_aff::range_product(multi_union_pw_aff multi2) const
 {
   auto res = isl_multi_union_pw_aff_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::range_splice(unsigned int pos, isl::multi_union_pw_aff multi2) const
+multi_union_pw_aff multi_union_pw_aff::range_splice(unsigned int pos, multi_union_pw_aff multi2) const
 {
   auto res = isl_multi_union_pw_aff_range_splice(copy(), pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::reset_tuple_id(isl::dim type) const
+multi_union_pw_aff multi_union_pw_aff::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_union_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::reset_user() const
+multi_union_pw_aff multi_union_pw_aff::reset_user() const
 {
   auto res = isl_multi_union_pw_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::scale_down_multi_val(isl::multi_val mv) const
+multi_union_pw_aff multi_union_pw_aff::scale_down_multi_val(multi_val mv) const
 {
   auto res = isl_multi_union_pw_aff_scale_down_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::scale_down_val(isl::val v) const
+multi_union_pw_aff multi_union_pw_aff::scale_down_val(val v) const
 {
   auto res = isl_multi_union_pw_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::scale_multi_val(isl::multi_val mv) const
+multi_union_pw_aff multi_union_pw_aff::scale_multi_val(multi_val mv) const
 {
   auto res = isl_multi_union_pw_aff_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::scale_val(isl::val v) const
+multi_union_pw_aff multi_union_pw_aff::scale_val(val v) const
 {
   auto res = isl_multi_union_pw_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+multi_union_pw_aff multi_union_pw_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_multi_union_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_id(isl::dim type, isl::id id) const
+multi_union_pw_aff multi_union_pw_aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_multi_union_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const
+multi_union_pw_aff multi_union_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_multi_union_pw_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::set_union_pw_aff(int pos, isl::union_pw_aff el) const
+multi_union_pw_aff multi_union_pw_aff::set_union_pw_aff(int pos, union_pw_aff el) const
 {
   auto res = isl_multi_union_pw_aff_set_union_pw_aff(copy(), pos, el.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::sub(isl::multi_union_pw_aff multi2) const
+multi_union_pw_aff multi_union_pw_aff::sub(multi_union_pw_aff multi2) const
 {
   auto res = isl_multi_union_pw_aff_sub(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::union_add(isl::multi_union_pw_aff mupa2) const
+multi_union_pw_aff multi_union_pw_aff::union_add(multi_union_pw_aff mupa2) const
 {
   auto res = isl_multi_union_pw_aff_union_add(copy(), mupa2.release());
   return manage(res);
 }
 
-isl::multi_union_pw_aff multi_union_pw_aff::zero(isl::space space)
+multi_union_pw_aff multi_union_pw_aff::zero(space space)
 {
   auto res = isl_multi_union_pw_aff_zero(space.release());
   return manage(res);
 }
 
-isl::union_set multi_union_pw_aff::zero_union_set() const
+union_set multi_union_pw_aff::zero_union_set() const
 {
   auto res = isl_multi_union_pw_aff_zero_union_set(copy());
   return manage(res);
 }
 
 // implementations for isl::multi_val
-isl::multi_val manage(__isl_take isl_multi_val *ptr) {
+multi_val manage(__isl_take isl_multi_val *ptr) {
   return multi_val(ptr);
 }
-isl::multi_val manage_copy(__isl_keep isl_multi_val *ptr) {
+multi_val manage_copy(__isl_keep isl_multi_val *ptr) {
   ptr = isl_multi_val_copy(ptr);
   return multi_val(ptr);
 }
@@ -10905,7 +10905,7 @@ isl::multi_val manage_copy(__isl_keep is
 multi_val::multi_val()
     : ptr(nullptr) {}
 
-multi_val::multi_val(const isl::multi_val &obj)
+multi_val::multi_val(const multi_val &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -10918,7 +10918,7 @@ multi_val::multi_val(__isl_take isl_mult
     : ptr(ptr) {}
 
 
-multi_val &multi_val::operator=(isl::multi_val obj) {
+multi_val &multi_val::operator=(multi_val obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -10950,8 +10950,8 @@ multi_val::operator bool() const {
 }
 
 
-isl::ctx multi_val::get_ctx() const {
-  return isl::ctx(isl_multi_val_get_ctx(ptr));
+ctx multi_val::get_ctx() const {
+  return ctx(isl_multi_val_get_ctx(ptr));
 }
 std::string multi_val::to_str() const {
   char *Tmp = isl_multi_val_to_str(get());
@@ -10968,25 +10968,25 @@ void multi_val::dump() const {
 }
 
 
-isl::multi_val multi_val::add(isl::multi_val multi2) const
+multi_val multi_val::add(multi_val multi2) const
 {
   auto res = isl_multi_val_add(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::add_dims(isl::dim type, unsigned int n) const
+multi_val multi_val::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_multi_val_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::multi_val multi_val::add_val(isl::val v) const
+multi_val multi_val::add_val(val v) const
 {
   auto res = isl_multi_val_add_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::align_params(isl::space model) const
+multi_val multi_val::align_params(space model) const
 {
   auto res = isl_multi_val_align_params(copy(), model.release());
   return manage(res);
@@ -10998,19 +10998,19 @@ unsigned int multi_val::dim(isl::dim typ
   return res;
 }
 
-isl::multi_val multi_val::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_val multi_val::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_val_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::multi_val multi_val::factor_range() const
+multi_val multi_val::factor_range() const
 {
   auto res = isl_multi_val_factor_range(copy());
   return manage(res);
 }
 
-int multi_val::find_dim_by_id(isl::dim type, const isl::id &id) const
+int multi_val::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_multi_val_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -11022,49 +11022,49 @@ int multi_val::find_dim_by_name(isl::dim
   return res;
 }
 
-isl::multi_val multi_val::flat_range_product(isl::multi_val multi2) const
+multi_val multi_val::flat_range_product(multi_val multi2) const
 {
   auto res = isl_multi_val_flat_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::flatten_range() const
+multi_val multi_val::flatten_range() const
 {
   auto res = isl_multi_val_flatten_range(copy());
   return manage(res);
 }
 
-isl::multi_val multi_val::from_range() const
+multi_val multi_val::from_range() const
 {
   auto res = isl_multi_val_from_range(copy());
   return manage(res);
 }
 
-isl::multi_val multi_val::from_val_list(isl::space space, isl::val_list list)
+multi_val multi_val::from_val_list(space space, val_list list)
 {
   auto res = isl_multi_val_from_val_list(space.release(), list.release());
   return manage(res);
 }
 
-isl::id multi_val::get_dim_id(isl::dim type, unsigned int pos) const
+id multi_val::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_multi_val_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::space multi_val::get_domain_space() const
+space multi_val::get_domain_space() const
 {
   auto res = isl_multi_val_get_domain_space(get());
   return manage(res);
 }
 
-isl::space multi_val::get_space() const
+space multi_val::get_space() const
 {
   auto res = isl_multi_val_get_space(get());
   return manage(res);
 }
 
-isl::id multi_val::get_tuple_id(isl::dim type) const
+id multi_val::get_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_val_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -11077,191 +11077,191 @@ std::string multi_val::get_tuple_name(is
   return tmp;
 }
 
-isl::val multi_val::get_val(int pos) const
+val multi_val::get_val(int pos) const
 {
   auto res = isl_multi_val_get_val(get(), pos);
   return manage(res);
 }
 
-isl::boolean multi_val::has_tuple_id(isl::dim type) const
+boolean multi_val::has_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_val_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_val multi_val::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+multi_val multi_val::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_val_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean multi_val::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean multi_val::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_multi_val_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean multi_val::involves_nan() const
+boolean multi_val::involves_nan() const
 {
   auto res = isl_multi_val_involves_nan(get());
   return manage(res);
 }
 
-isl::multi_val multi_val::mod_multi_val(isl::multi_val mv) const
+multi_val multi_val::mod_multi_val(multi_val mv) const
 {
   auto res = isl_multi_val_mod_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::mod_val(isl::val v) const
+multi_val multi_val::mod_val(val v) const
 {
   auto res = isl_multi_val_mod_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::neg() const
+multi_val multi_val::neg() const
 {
   auto res = isl_multi_val_neg(copy());
   return manage(res);
 }
 
-isl::boolean multi_val::plain_is_equal(const isl::multi_val &multi2) const
+boolean multi_val::plain_is_equal(const multi_val &multi2) const
 {
   auto res = isl_multi_val_plain_is_equal(get(), multi2.get());
   return manage(res);
 }
 
-isl::multi_val multi_val::product(isl::multi_val multi2) const
+multi_val multi_val::product(multi_val multi2) const
 {
   auto res = isl_multi_val_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::project_domain_on_params() const
+multi_val multi_val::project_domain_on_params() const
 {
   auto res = isl_multi_val_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::multi_val multi_val::range_factor_domain() const
+multi_val multi_val::range_factor_domain() const
 {
   auto res = isl_multi_val_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::multi_val multi_val::range_factor_range() const
+multi_val multi_val::range_factor_range() const
 {
   auto res = isl_multi_val_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean multi_val::range_is_wrapping() const
+boolean multi_val::range_is_wrapping() const
 {
   auto res = isl_multi_val_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::multi_val multi_val::range_product(isl::multi_val multi2) const
+multi_val multi_val::range_product(multi_val multi2) const
 {
   auto res = isl_multi_val_range_product(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::range_splice(unsigned int pos, isl::multi_val multi2) const
+multi_val multi_val::range_splice(unsigned int pos, multi_val multi2) const
 {
   auto res = isl_multi_val_range_splice(copy(), pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::read_from_str(isl::ctx ctx, const std::string &str)
+multi_val multi_val::read_from_str(ctx ctx, const std::string &str)
 {
   auto res = isl_multi_val_read_from_str(ctx.release(), str.c_str());
   return manage(res);
 }
 
-isl::multi_val multi_val::reset_tuple_id(isl::dim type) const
+multi_val multi_val::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_multi_val_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::multi_val multi_val::reset_user() const
+multi_val multi_val::reset_user() const
 {
   auto res = isl_multi_val_reset_user(copy());
   return manage(res);
 }
 
-isl::multi_val multi_val::scale_down_multi_val(isl::multi_val mv) const
+multi_val multi_val::scale_down_multi_val(multi_val mv) const
 {
   auto res = isl_multi_val_scale_down_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::scale_down_val(isl::val v) const
+multi_val multi_val::scale_down_val(val v) const
 {
   auto res = isl_multi_val_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::scale_multi_val(isl::multi_val mv) const
+multi_val multi_val::scale_multi_val(multi_val mv) const
 {
   auto res = isl_multi_val_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::scale_val(isl::val v) const
+multi_val multi_val::scale_val(val v) const
 {
   auto res = isl_multi_val_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+multi_val multi_val::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_multi_val_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::set_tuple_id(isl::dim type, isl::id id) const
+multi_val multi_val::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_multi_val_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::set_tuple_name(isl::dim type, const std::string &s) const
+multi_val multi_val::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_multi_val_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::multi_val multi_val::set_val(int pos, isl::val el) const
+multi_val multi_val::set_val(int pos, val el) const
 {
   auto res = isl_multi_val_set_val(copy(), pos, el.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_val multi2) const
+multi_val multi_val::splice(unsigned int in_pos, unsigned int out_pos, multi_val multi2) const
 {
   auto res = isl_multi_val_splice(copy(), in_pos, out_pos, multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::sub(isl::multi_val multi2) const
+multi_val multi_val::sub(multi_val multi2) const
 {
   auto res = isl_multi_val_sub(copy(), multi2.release());
   return manage(res);
 }
 
-isl::multi_val multi_val::zero(isl::space space)
+multi_val multi_val::zero(space space)
 {
   auto res = isl_multi_val_zero(space.release());
   return manage(res);
 }
 
 // implementations for isl::point
-isl::point manage(__isl_take isl_point *ptr) {
+point manage(__isl_take isl_point *ptr) {
   return point(ptr);
 }
-isl::point manage_copy(__isl_keep isl_point *ptr) {
+point manage_copy(__isl_keep isl_point *ptr) {
   ptr = isl_point_copy(ptr);
   return point(ptr);
 }
@@ -11269,7 +11269,7 @@ isl::point manage_copy(__isl_keep isl_po
 point::point()
     : ptr(nullptr) {}
 
-point::point(const isl::point &obj)
+point::point(const point &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -11281,13 +11281,13 @@ point::point(std::nullptr_t)
 point::point(__isl_take isl_point *ptr)
     : ptr(ptr) {}
 
-point::point(isl::space dim)
+point::point(space dim)
 {
   auto res = isl_point_zero(dim.release());
   ptr = res;
 }
 
-point &point::operator=(isl::point obj) {
+point &point::operator=(point obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -11319,8 +11319,8 @@ point::operator bool() const {
 }
 
 
-isl::ctx point::get_ctx() const {
-  return isl::ctx(isl_point_get_ctx(ptr));
+ctx point::get_ctx() const {
+  return ctx(isl_point_get_ctx(ptr));
 }
 std::string point::to_str() const {
   char *Tmp = isl_point_to_str(get());
@@ -11337,41 +11337,41 @@ void point::dump() const {
 }
 
 
-isl::point point::add_ui(isl::dim type, int pos, unsigned int val) const
+point point::add_ui(isl::dim type, int pos, unsigned int val) const
 {
   auto res = isl_point_add_ui(copy(), static_cast<enum isl_dim_type>(type), pos, val);
   return manage(res);
 }
 
-isl::val point::get_coordinate_val(isl::dim type, int pos) const
+val point::get_coordinate_val(isl::dim type, int pos) const
 {
   auto res = isl_point_get_coordinate_val(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::space point::get_space() const
+space point::get_space() const
 {
   auto res = isl_point_get_space(get());
   return manage(res);
 }
 
-isl::point point::set_coordinate_val(isl::dim type, int pos, isl::val v) const
+point point::set_coordinate_val(isl::dim type, int pos, val v) const
 {
   auto res = isl_point_set_coordinate_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::point point::sub_ui(isl::dim type, int pos, unsigned int val) const
+point point::sub_ui(isl::dim type, int pos, unsigned int val) const
 {
   auto res = isl_point_sub_ui(copy(), static_cast<enum isl_dim_type>(type), pos, val);
   return manage(res);
 }
 
 // implementations for isl::pw_aff
-isl::pw_aff manage(__isl_take isl_pw_aff *ptr) {
+pw_aff manage(__isl_take isl_pw_aff *ptr) {
   return pw_aff(ptr);
 }
-isl::pw_aff manage_copy(__isl_keep isl_pw_aff *ptr) {
+pw_aff manage_copy(__isl_keep isl_pw_aff *ptr) {
   ptr = isl_pw_aff_copy(ptr);
   return pw_aff(ptr);
 }
@@ -11379,7 +11379,7 @@ isl::pw_aff manage_copy(__isl_keep isl_p
 pw_aff::pw_aff()
     : ptr(nullptr) {}
 
-pw_aff::pw_aff(const isl::pw_aff &obj)
+pw_aff::pw_aff(const pw_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -11391,28 +11391,28 @@ pw_aff::pw_aff(std::nullptr_t)
 pw_aff::pw_aff(__isl_take isl_pw_aff *ptr)
     : ptr(ptr) {}
 
-pw_aff::pw_aff(isl::aff aff)
+pw_aff::pw_aff(aff aff)
 {
   auto res = isl_pw_aff_from_aff(aff.release());
   ptr = res;
 }
-pw_aff::pw_aff(isl::local_space ls)
+pw_aff::pw_aff(local_space ls)
 {
   auto res = isl_pw_aff_zero_on_domain(ls.release());
   ptr = res;
 }
-pw_aff::pw_aff(isl::set domain, isl::val v)
+pw_aff::pw_aff(set domain, val v)
 {
   auto res = isl_pw_aff_val_on_domain(domain.release(), v.release());
   ptr = res;
 }
-pw_aff::pw_aff(isl::ctx ctx, const std::string &str)
+pw_aff::pw_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_pw_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-pw_aff &pw_aff::operator=(isl::pw_aff obj) {
+pw_aff &pw_aff::operator=(pw_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -11444,8 +11444,8 @@ pw_aff::operator bool() const {
 }
 
 
-isl::ctx pw_aff::get_ctx() const {
-  return isl::ctx(isl_pw_aff_get_ctx(ptr));
+ctx pw_aff::get_ctx() const {
+  return ctx(isl_pw_aff_get_ctx(ptr));
 }
 std::string pw_aff::to_str() const {
   char *Tmp = isl_pw_aff_to_str(get());
@@ -11462,43 +11462,43 @@ void pw_aff::dump() const {
 }
 
 
-isl::pw_aff pw_aff::add(isl::pw_aff pwaff2) const
+pw_aff pw_aff::add(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_add(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::add_dims(isl::dim type, unsigned int n) const
+pw_aff pw_aff::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_pw_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::pw_aff pw_aff::align_params(isl::space model) const
+pw_aff pw_aff::align_params(space model) const
 {
   auto res = isl_pw_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::alloc(isl::set set, isl::aff aff)
+pw_aff pw_aff::alloc(set set, aff aff)
 {
   auto res = isl_pw_aff_alloc(set.release(), aff.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::ceil() const
+pw_aff pw_aff::ceil() const
 {
   auto res = isl_pw_aff_ceil(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::coalesce() const
+pw_aff pw_aff::coalesce() const
 {
   auto res = isl_pw_aff_coalesce(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const
+pw_aff pw_aff::cond(pw_aff pwaff_true, pw_aff pwaff_false) const
 {
   auto res = isl_pw_aff_cond(copy(), pwaff_true.release(), pwaff_false.release());
   return manage(res);
@@ -11510,49 +11510,49 @@ unsigned int pw_aff::dim(isl::dim type)
   return res;
 }
 
-isl::pw_aff pw_aff::div(isl::pw_aff pa2) const
+pw_aff pw_aff::div(pw_aff pa2) const
 {
   auto res = isl_pw_aff_div(copy(), pa2.release());
   return manage(res);
 }
 
-isl::set pw_aff::domain() const
+set pw_aff::domain() const
 {
   auto res = isl_pw_aff_domain(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_aff pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_aff pw_aff::drop_unused_params() const
+pw_aff pw_aff::drop_unused_params() const
 {
   auto res = isl_pw_aff_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::empty(isl::space dim)
+pw_aff pw_aff::empty(space dim)
 {
   auto res = isl_pw_aff_empty(dim.release());
   return manage(res);
 }
 
-isl::map pw_aff::eq_map(isl::pw_aff pa2) const
+map pw_aff::eq_map(pw_aff pa2) const
 {
   auto res = isl_pw_aff_eq_map(copy(), pa2.release());
   return manage(res);
 }
 
-isl::set pw_aff::eq_set(isl::pw_aff pwaff2) const
+set pw_aff::eq_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_eq_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::val pw_aff::eval(isl::point pnt) const
+val pw_aff::eval(point pnt) const
 {
   auto res = isl_pw_aff_eval(copy(), pnt.release());
   return manage(res);
@@ -11564,39 +11564,39 @@ int pw_aff::find_dim_by_name(isl::dim ty
   return res;
 }
 
-isl::pw_aff pw_aff::floor() const
+pw_aff pw_aff::floor() const
 {
   auto res = isl_pw_aff_floor(copy());
   return manage(res);
 }
 
-isl::stat pw_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::aff)> &fn) const
+stat pw_aff::foreach_piece(const std::function<stat(set, aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::set, isl::aff)> *func;
+    const std::function<stat(set, aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_set *arg_0, isl_aff *arg_1, void *arg_2) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_2);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1));
     return ret.release();
   };
   auto res = isl_pw_aff_foreach_piece(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_aff pw_aff::from_range() const
+pw_aff pw_aff::from_range() const
 {
   auto res = isl_pw_aff_from_range(copy());
   return manage(res);
 }
 
-isl::set pw_aff::ge_set(isl::pw_aff pwaff2) const
+set pw_aff::ge_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_ge_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::id pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
+id pw_aff::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -11609,7 +11609,7 @@ std::string pw_aff::get_dim_name(isl::di
   return tmp;
 }
 
-isl::space pw_aff::get_domain_space() const
+space pw_aff::get_domain_space() const
 {
   auto res = isl_pw_aff_get_domain_space(get());
   return manage(res);
@@ -11621,145 +11621,145 @@ uint32_t pw_aff::get_hash() const
   return res;
 }
 
-isl::space pw_aff::get_space() const
+space pw_aff::get_space() const
 {
   auto res = isl_pw_aff_get_space(get());
   return manage(res);
 }
 
-isl::id pw_aff::get_tuple_id(isl::dim type) const
+id pw_aff::get_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::pw_aff pw_aff::gist(isl::set context) const
+pw_aff pw_aff::gist(set context) const
 {
   auto res = isl_pw_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::gist_params(isl::set context) const
+pw_aff pw_aff::gist_params(set context) const
 {
   auto res = isl_pw_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::map pw_aff::gt_map(isl::pw_aff pa2) const
+map pw_aff::gt_map(pw_aff pa2) const
 {
   auto res = isl_pw_aff_gt_map(copy(), pa2.release());
   return manage(res);
 }
 
-isl::set pw_aff::gt_set(isl::pw_aff pwaff2) const
+set pw_aff::gt_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_gt_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::boolean pw_aff::has_dim_id(isl::dim type, unsigned int pos) const
+boolean pw_aff::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_pw_aff_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean pw_aff::has_tuple_id(isl::dim type) const
+boolean pw_aff::has_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::pw_aff pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_aff pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_aff pw_aff::intersect_domain(isl::set set) const
+pw_aff pw_aff::intersect_domain(set set) const
 {
   auto res = isl_pw_aff_intersect_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::intersect_params(isl::set set) const
+pw_aff pw_aff::intersect_params(set set) const
 {
   auto res = isl_pw_aff_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean pw_aff::involves_nan() const
+boolean pw_aff::involves_nan() const
 {
   auto res = isl_pw_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::boolean pw_aff::is_cst() const
+boolean pw_aff::is_cst() const
 {
   auto res = isl_pw_aff_is_cst(get());
   return manage(res);
 }
 
-isl::boolean pw_aff::is_empty() const
+boolean pw_aff::is_empty() const
 {
   auto res = isl_pw_aff_is_empty(get());
   return manage(res);
 }
 
-isl::boolean pw_aff::is_equal(const isl::pw_aff &pa2) const
+boolean pw_aff::is_equal(const pw_aff &pa2) const
 {
   auto res = isl_pw_aff_is_equal(get(), pa2.get());
   return manage(res);
 }
 
-isl::set pw_aff::le_set(isl::pw_aff pwaff2) const
+set pw_aff::le_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_le_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::map pw_aff::lt_map(isl::pw_aff pa2) const
+map pw_aff::lt_map(pw_aff pa2) const
 {
   auto res = isl_pw_aff_lt_map(copy(), pa2.release());
   return manage(res);
 }
 
-isl::set pw_aff::lt_set(isl::pw_aff pwaff2) const
+set pw_aff::lt_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_lt_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::max(isl::pw_aff pwaff2) const
+pw_aff pw_aff::max(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_max(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::min(isl::pw_aff pwaff2) const
+pw_aff pw_aff::min(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_min(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::mod(isl::val mod) const
+pw_aff pw_aff::mod(val mod) const
 {
   auto res = isl_pw_aff_mod_val(copy(), mod.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+pw_aff pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_pw_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::pw_aff pw_aff::mul(isl::pw_aff pwaff2) const
+pw_aff pw_aff::mul(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_mul(copy(), pwaff2.release());
   return manage(res);
@@ -11771,179 +11771,179 @@ int pw_aff::n_piece() const
   return res;
 }
 
-isl::pw_aff pw_aff::nan_on_domain(isl::local_space ls)
+pw_aff pw_aff::nan_on_domain(local_space ls)
 {
   auto res = isl_pw_aff_nan_on_domain(ls.release());
   return manage(res);
 }
 
-isl::set pw_aff::ne_set(isl::pw_aff pwaff2) const
+set pw_aff::ne_set(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_ne_set(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::neg() const
+pw_aff pw_aff::neg() const
 {
   auto res = isl_pw_aff_neg(copy());
   return manage(res);
 }
 
-isl::set pw_aff::non_zero_set() const
+set pw_aff::non_zero_set() const
 {
   auto res = isl_pw_aff_non_zero_set(copy());
   return manage(res);
 }
 
-isl::set pw_aff::nonneg_set() const
+set pw_aff::nonneg_set() const
 {
   auto res = isl_pw_aff_nonneg_set(copy());
   return manage(res);
 }
 
-isl::set pw_aff::params() const
+set pw_aff::params() const
 {
   auto res = isl_pw_aff_params(copy());
   return manage(res);
 }
 
-int pw_aff::plain_cmp(const isl::pw_aff &pa2) const
+int pw_aff::plain_cmp(const pw_aff &pa2) const
 {
   auto res = isl_pw_aff_plain_cmp(get(), pa2.get());
   return res;
 }
 
-isl::boolean pw_aff::plain_is_equal(const isl::pw_aff &pwaff2) const
+boolean pw_aff::plain_is_equal(const pw_aff &pwaff2) const
 {
   auto res = isl_pw_aff_plain_is_equal(get(), pwaff2.get());
   return manage(res);
 }
 
-isl::set pw_aff::pos_set() const
+set pw_aff::pos_set() const
 {
   auto res = isl_pw_aff_pos_set(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::project_domain_on_params() const
+pw_aff pw_aff::project_domain_on_params() const
 {
   auto res = isl_pw_aff_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::pullback(isl::multi_aff ma) const
+pw_aff pw_aff::pullback(multi_aff ma) const
 {
   auto res = isl_pw_aff_pullback_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::pullback(isl::pw_multi_aff pma) const
+pw_aff pw_aff::pullback(pw_multi_aff pma) const
 {
   auto res = isl_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::pullback(isl::multi_pw_aff mpa) const
+pw_aff pw_aff::pullback(multi_pw_aff mpa) const
 {
   auto res = isl_pw_aff_pullback_multi_pw_aff(copy(), mpa.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::reset_tuple_id(isl::dim type) const
+pw_aff pw_aff::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::pw_aff pw_aff::reset_user() const
+pw_aff pw_aff::reset_user() const
 {
   auto res = isl_pw_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::scale(isl::val v) const
+pw_aff pw_aff::scale(val v) const
 {
   auto res = isl_pw_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::scale_down(isl::val f) const
+pw_aff pw_aff::scale_down(val f) const
 {
   auto res = isl_pw_aff_scale_down_val(copy(), f.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+pw_aff pw_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::set_tuple_id(isl::dim type, isl::id id) const
+pw_aff pw_aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::sub(isl::pw_aff pwaff2) const
+pw_aff pw_aff::sub(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_sub(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::subtract_domain(isl::set set) const
+pw_aff pw_aff::subtract_domain(set set) const
 {
   auto res = isl_pw_aff_subtract_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::tdiv_q(isl::pw_aff pa2) const
+pw_aff pw_aff::tdiv_q(pw_aff pa2) const
 {
   auto res = isl_pw_aff_tdiv_q(copy(), pa2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::tdiv_r(isl::pw_aff pa2) const
+pw_aff pw_aff::tdiv_r(pw_aff pa2) const
 {
   auto res = isl_pw_aff_tdiv_r(copy(), pa2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::union_add(isl::pw_aff pwaff2) const
+pw_aff pw_aff::union_add(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_union_add(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::union_max(isl::pw_aff pwaff2) const
+pw_aff pw_aff::union_max(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_union_max(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::union_min(isl::pw_aff pwaff2) const
+pw_aff pw_aff::union_min(pw_aff pwaff2) const
 {
   auto res = isl_pw_aff_union_min(copy(), pwaff2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos)
+pw_aff pw_aff::var_on_domain(local_space ls, isl::dim type, unsigned int pos)
 {
   auto res = isl_pw_aff_var_on_domain(ls.release(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::set pw_aff::zero_set() const
+set pw_aff::zero_set() const
 {
   auto res = isl_pw_aff_zero_set(copy());
   return manage(res);
 }
 
 // implementations for isl::pw_aff_list
-isl::pw_aff_list manage(__isl_take isl_pw_aff_list *ptr) {
+pw_aff_list manage(__isl_take isl_pw_aff_list *ptr) {
   return pw_aff_list(ptr);
 }
-isl::pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr) {
+pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr) {
   ptr = isl_pw_aff_list_copy(ptr);
   return pw_aff_list(ptr);
 }
@@ -11951,7 +11951,7 @@ isl::pw_aff_list manage_copy(__isl_keep
 pw_aff_list::pw_aff_list()
     : ptr(nullptr) {}
 
-pw_aff_list::pw_aff_list(const isl::pw_aff_list &obj)
+pw_aff_list::pw_aff_list(const pw_aff_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -11964,7 +11964,7 @@ pw_aff_list::pw_aff_list(__isl_take isl_
     : ptr(ptr) {}
 
 
-pw_aff_list &pw_aff_list::operator=(isl::pw_aff_list obj) {
+pw_aff_list &pw_aff_list::operator=(pw_aff_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -11996,8 +11996,8 @@ pw_aff_list::operator bool() const {
 }
 
 
-isl::ctx pw_aff_list::get_ctx() const {
-  return isl::ctx(isl_pw_aff_list_get_ctx(ptr));
+ctx pw_aff_list::get_ctx() const {
+  return ctx(isl_pw_aff_list_get_ctx(ptr));
 }
 
 void pw_aff_list::dump() const {
@@ -12005,105 +12005,105 @@ void pw_aff_list::dump() const {
 }
 
 
-isl::pw_aff_list pw_aff_list::add(isl::pw_aff el) const
+pw_aff_list pw_aff_list::add(pw_aff el) const
 {
   auto res = isl_pw_aff_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::alloc(isl::ctx ctx, int n)
+pw_aff_list pw_aff_list::alloc(ctx ctx, int n)
 {
   auto res = isl_pw_aff_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::concat(isl::pw_aff_list list2) const
+pw_aff_list pw_aff_list::concat(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::drop(unsigned int first, unsigned int n) const
+pw_aff_list pw_aff_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_aff_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::set pw_aff_list::eq_set(isl::pw_aff_list list2) const
+set pw_aff_list::eq_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_eq_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::stat pw_aff_list::foreach(const std::function<isl::stat(isl::pw_aff)> &fn) const
+stat pw_aff_list::foreach(const std::function<stat(pw_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_aff)> *func;
+    const std::function<stat(pw_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_pw_aff_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::from_pw_aff(isl::pw_aff el)
+pw_aff_list pw_aff_list::from_pw_aff(pw_aff el)
 {
   auto res = isl_pw_aff_list_from_pw_aff(el.release());
   return manage(res);
 }
 
-isl::set pw_aff_list::ge_set(isl::pw_aff_list list2) const
+set pw_aff_list::ge_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_ge_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff_list::get_at(int index) const
+pw_aff pw_aff_list::get_at(int index) const
 {
   auto res = isl_pw_aff_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::pw_aff pw_aff_list::get_pw_aff(int index) const
+pw_aff pw_aff_list::get_pw_aff(int index) const
 {
   auto res = isl_pw_aff_list_get_pw_aff(get(), index);
   return manage(res);
 }
 
-isl::set pw_aff_list::gt_set(isl::pw_aff_list list2) const
+set pw_aff_list::gt_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_gt_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::insert(unsigned int pos, isl::pw_aff el) const
+pw_aff_list pw_aff_list::insert(unsigned int pos, pw_aff el) const
 {
   auto res = isl_pw_aff_list_insert(copy(), pos, el.release());
   return manage(res);
 }
 
-isl::set pw_aff_list::le_set(isl::pw_aff_list list2) const
+set pw_aff_list::le_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_le_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::set pw_aff_list::lt_set(isl::pw_aff_list list2) const
+set pw_aff_list::lt_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_lt_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_aff pw_aff_list::max() const
+pw_aff pw_aff_list::max() const
 {
   auto res = isl_pw_aff_list_max(copy());
   return manage(res);
 }
 
-isl::pw_aff pw_aff_list::min() const
+pw_aff pw_aff_list::min() const
 {
   auto res = isl_pw_aff_list_min(copy());
   return manage(res);
@@ -12115,19 +12115,19 @@ int pw_aff_list::n_pw_aff() const
   return res;
 }
 
-isl::set pw_aff_list::ne_set(isl::pw_aff_list list2) const
+set pw_aff_list::ne_set(pw_aff_list list2) const
 {
   auto res = isl_pw_aff_list_ne_set(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::reverse() const
+pw_aff_list pw_aff_list::reverse() const
 {
   auto res = isl_pw_aff_list_reverse(copy());
   return manage(res);
 }
 
-isl::pw_aff_list pw_aff_list::set_pw_aff(int index, isl::pw_aff el) const
+pw_aff_list pw_aff_list::set_pw_aff(int index, pw_aff el) const
 {
   auto res = isl_pw_aff_list_set_pw_aff(copy(), index, el.release());
   return manage(res);
@@ -12139,17 +12139,17 @@ int pw_aff_list::size() const
   return res;
 }
 
-isl::pw_aff_list pw_aff_list::swap(unsigned int pos1, unsigned int pos2) const
+pw_aff_list pw_aff_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_pw_aff_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::pw_multi_aff
-isl::pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr) {
+pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr) {
   return pw_multi_aff(ptr);
 }
-isl::pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr) {
+pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr) {
   ptr = isl_pw_multi_aff_copy(ptr);
   return pw_multi_aff(ptr);
 }
@@ -12157,7 +12157,7 @@ isl::pw_multi_aff manage_copy(__isl_keep
 pw_multi_aff::pw_multi_aff()
     : ptr(nullptr) {}
 
-pw_multi_aff::pw_multi_aff(const isl::pw_multi_aff &obj)
+pw_multi_aff::pw_multi_aff(const pw_multi_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -12169,23 +12169,23 @@ pw_multi_aff::pw_multi_aff(std::nullptr_
 pw_multi_aff::pw_multi_aff(__isl_take isl_pw_multi_aff *ptr)
     : ptr(ptr) {}
 
-pw_multi_aff::pw_multi_aff(isl::multi_aff ma)
+pw_multi_aff::pw_multi_aff(multi_aff ma)
 {
   auto res = isl_pw_multi_aff_from_multi_aff(ma.release());
   ptr = res;
 }
-pw_multi_aff::pw_multi_aff(isl::pw_aff pa)
+pw_multi_aff::pw_multi_aff(pw_aff pa)
 {
   auto res = isl_pw_multi_aff_from_pw_aff(pa.release());
   ptr = res;
 }
-pw_multi_aff::pw_multi_aff(isl::ctx ctx, const std::string &str)
+pw_multi_aff::pw_multi_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_pw_multi_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-pw_multi_aff &pw_multi_aff::operator=(isl::pw_multi_aff obj) {
+pw_multi_aff &pw_multi_aff::operator=(pw_multi_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -12217,8 +12217,8 @@ pw_multi_aff::operator bool() const {
 }
 
 
-isl::ctx pw_multi_aff::get_ctx() const {
-  return isl::ctx(isl_pw_multi_aff_get_ctx(ptr));
+ctx pw_multi_aff::get_ctx() const {
+  return ctx(isl_pw_multi_aff_get_ctx(ptr));
 }
 std::string pw_multi_aff::to_str() const {
   char *Tmp = isl_pw_multi_aff_to_str(get());
@@ -12235,25 +12235,25 @@ void pw_multi_aff::dump() const {
 }
 
 
-isl::pw_multi_aff pw_multi_aff::add(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::add(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_add(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::align_params(isl::space model) const
+pw_multi_aff pw_multi_aff::align_params(space model) const
 {
   auto res = isl_pw_multi_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::alloc(isl::set set, isl::multi_aff maff)
+pw_multi_aff pw_multi_aff::alloc(set set, multi_aff maff)
 {
   auto res = isl_pw_multi_aff_alloc(set.release(), maff.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::coalesce() const
+pw_multi_aff pw_multi_aff::coalesce() const
 {
   auto res = isl_pw_multi_aff_coalesce(copy());
   return manage(res);
@@ -12265,25 +12265,25 @@ unsigned int pw_multi_aff::dim(isl::dim
   return res;
 }
 
-isl::set pw_multi_aff::domain() const
+set pw_multi_aff::domain() const
 {
   auto res = isl_pw_multi_aff_domain(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_multi_aff pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::drop_unused_params() const
+pw_multi_aff pw_multi_aff::drop_unused_params() const
 {
   auto res = isl_pw_multi_aff_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::empty(isl::space space)
+pw_multi_aff pw_multi_aff::empty(space space)
 {
   auto res = isl_pw_multi_aff_empty(space.release());
   return manage(res);
@@ -12295,57 +12295,57 @@ int pw_multi_aff::find_dim_by_name(isl::
   return res;
 }
 
-isl::pw_multi_aff pw_multi_aff::fix_si(isl::dim type, unsigned int pos, int value) const
+pw_multi_aff pw_multi_aff::fix_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_pw_multi_aff_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::flat_range_product(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::flat_range_product(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_flat_range_product(copy(), pma2.release());
   return manage(res);
 }
 
-isl::stat pw_multi_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::multi_aff)> &fn) const
+stat pw_multi_aff::foreach_piece(const std::function<stat(set, multi_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::set, isl::multi_aff)> *func;
+    const std::function<stat(set, multi_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_set *arg_0, isl_multi_aff *arg_1, void *arg_2) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_2);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1));
     return ret.release();
   };
   auto res = isl_pw_multi_aff_foreach_piece(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::from_domain(isl::set set)
+pw_multi_aff pw_multi_aff::from_domain(set set)
 {
   auto res = isl_pw_multi_aff_from_domain(set.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::from_map(isl::map map)
+pw_multi_aff pw_multi_aff::from_map(map map)
 {
   auto res = isl_pw_multi_aff_from_map(map.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::from_multi_pw_aff(isl::multi_pw_aff mpa)
+pw_multi_aff pw_multi_aff::from_multi_pw_aff(multi_pw_aff mpa)
 {
   auto res = isl_pw_multi_aff_from_multi_pw_aff(mpa.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::from_set(isl::set set)
+pw_multi_aff pw_multi_aff::from_set(set set)
 {
   auto res = isl_pw_multi_aff_from_set(set.release());
   return manage(res);
 }
 
-isl::id pw_multi_aff::get_dim_id(isl::dim type, unsigned int pos) const
+id pw_multi_aff::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_pw_multi_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -12358,25 +12358,25 @@ std::string pw_multi_aff::get_dim_name(i
   return tmp;
 }
 
-isl::space pw_multi_aff::get_domain_space() const
+space pw_multi_aff::get_domain_space() const
 {
   auto res = isl_pw_multi_aff_get_domain_space(get());
   return manage(res);
 }
 
-isl::pw_aff pw_multi_aff::get_pw_aff(int pos) const
+pw_aff pw_multi_aff::get_pw_aff(int pos) const
 {
   auto res = isl_pw_multi_aff_get_pw_aff(get(), pos);
   return manage(res);
 }
 
-isl::space pw_multi_aff::get_space() const
+space pw_multi_aff::get_space() const
 {
   auto res = isl_pw_multi_aff_get_space(get());
   return manage(res);
 }
 
-isl::id pw_multi_aff::get_tuple_id(isl::dim type) const
+id pw_multi_aff::get_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_multi_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -12389,67 +12389,67 @@ std::string pw_multi_aff::get_tuple_name
   return tmp;
 }
 
-isl::pw_multi_aff pw_multi_aff::gist(isl::set set) const
+pw_multi_aff pw_multi_aff::gist(set set) const
 {
   auto res = isl_pw_multi_aff_gist(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::gist_params(isl::set set) const
+pw_multi_aff pw_multi_aff::gist_params(set set) const
 {
   auto res = isl_pw_multi_aff_gist_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::has_tuple_id(isl::dim type) const
+boolean pw_multi_aff::has_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_multi_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::has_tuple_name(isl::dim type) const
+boolean pw_multi_aff::has_tuple_name(isl::dim type) const
 {
   auto res = isl_pw_multi_aff_has_tuple_name(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::identity(isl::space space)
+pw_multi_aff pw_multi_aff::identity(space space)
 {
   auto res = isl_pw_multi_aff_identity(space.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::intersect_domain(isl::set set) const
+pw_multi_aff pw_multi_aff::intersect_domain(set set) const
 {
   auto res = isl_pw_multi_aff_intersect_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::intersect_params(isl::set set) const
+pw_multi_aff pw_multi_aff::intersect_params(set set) const
 {
   auto res = isl_pw_multi_aff_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean pw_multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_multi_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::involves_nan() const
+boolean pw_multi_aff::involves_nan() const
 {
   auto res = isl_pw_multi_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::is_equal(const isl::pw_multi_aff &pma2) const
+boolean pw_multi_aff::is_equal(const pw_multi_aff &pma2) const
 {
   auto res = isl_pw_multi_aff_is_equal(get(), pma2.get());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::multi_val_on_domain(isl::set domain, isl::multi_val mv)
+pw_multi_aff pw_multi_aff::multi_val_on_domain(set domain, multi_val mv)
 {
   auto res = isl_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release());
   return manage(res);
@@ -12461,149 +12461,149 @@ int pw_multi_aff::n_piece() const
   return res;
 }
 
-isl::pw_multi_aff pw_multi_aff::neg() const
+pw_multi_aff pw_multi_aff::neg() const
 {
   auto res = isl_pw_multi_aff_neg(copy());
   return manage(res);
 }
 
-isl::boolean pw_multi_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const
+boolean pw_multi_aff::plain_is_equal(const pw_multi_aff &pma2) const
 {
   auto res = isl_pw_multi_aff_plain_is_equal(get(), pma2.get());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::product(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::product(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_product(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::project_domain_on_params() const
+pw_multi_aff pw_multi_aff::project_domain_on_params() const
 {
   auto res = isl_pw_multi_aff_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n)
+pw_multi_aff pw_multi_aff::project_out_map(space space, isl::dim type, unsigned int first, unsigned int n)
 {
   auto res = isl_pw_multi_aff_project_out_map(space.release(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::pullback(isl::multi_aff ma) const
+pw_multi_aff pw_multi_aff::pullback(multi_aff ma) const
 {
   auto res = isl_pw_multi_aff_pullback_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::pullback(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::pullback(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_pullback_pw_multi_aff(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::range_map(isl::space space)
+pw_multi_aff pw_multi_aff::range_map(space space)
 {
   auto res = isl_pw_multi_aff_range_map(space.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::range_product(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::range_product(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_range_product(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::reset_tuple_id(isl::dim type) const
+pw_multi_aff pw_multi_aff::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_pw_multi_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::reset_user() const
+pw_multi_aff pw_multi_aff::reset_user() const
 {
   auto res = isl_pw_multi_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::scale_down_val(isl::val v) const
+pw_multi_aff pw_multi_aff::scale_down_val(val v) const
 {
   auto res = isl_pw_multi_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::scale_multi_val(isl::multi_val mv) const
+pw_multi_aff pw_multi_aff::scale_multi_val(multi_val mv) const
 {
   auto res = isl_pw_multi_aff_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::scale_val(isl::val v) const
+pw_multi_aff pw_multi_aff::scale_val(val v) const
 {
   auto res = isl_pw_multi_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+pw_multi_aff pw_multi_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_pw_multi_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::set_pw_aff(unsigned int pos, isl::pw_aff pa) const
+pw_multi_aff pw_multi_aff::set_pw_aff(unsigned int pos, pw_aff pa) const
 {
   auto res = isl_pw_multi_aff_set_pw_aff(copy(), pos, pa.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::set_tuple_id(isl::dim type, isl::id id) const
+pw_multi_aff pw_multi_aff::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_pw_multi_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::sub(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::sub(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_sub(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::subtract_domain(isl::set set) const
+pw_multi_aff pw_multi_aff::subtract_domain(set set) const
 {
   auto res = isl_pw_multi_aff_subtract_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::union_add(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::union_add(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_union_add(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::union_lexmax(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::union_lexmax(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_union_lexmax(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::union_lexmin(isl::pw_multi_aff pma2) const
+pw_multi_aff pw_multi_aff::union_lexmin(pw_multi_aff pma2) const
 {
   auto res = isl_pw_multi_aff_union_lexmin(copy(), pma2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff::zero(isl::space space)
+pw_multi_aff pw_multi_aff::zero(space space)
 {
   auto res = isl_pw_multi_aff_zero(space.release());
   return manage(res);
 }
 
 // implementations for isl::pw_multi_aff_list
-isl::pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr) {
+pw_multi_aff_list manage(__isl_take isl_pw_multi_aff_list *ptr) {
   return pw_multi_aff_list(ptr);
 }
-isl::pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr) {
+pw_multi_aff_list manage_copy(__isl_keep isl_pw_multi_aff_list *ptr) {
   ptr = isl_pw_multi_aff_list_copy(ptr);
   return pw_multi_aff_list(ptr);
 }
@@ -12611,7 +12611,7 @@ isl::pw_multi_aff_list manage_copy(__isl
 pw_multi_aff_list::pw_multi_aff_list()
     : ptr(nullptr) {}
 
-pw_multi_aff_list::pw_multi_aff_list(const isl::pw_multi_aff_list &obj)
+pw_multi_aff_list::pw_multi_aff_list(const pw_multi_aff_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -12624,7 +12624,7 @@ pw_multi_aff_list::pw_multi_aff_list(__i
     : ptr(ptr) {}
 
 
-pw_multi_aff_list &pw_multi_aff_list::operator=(isl::pw_multi_aff_list obj) {
+pw_multi_aff_list &pw_multi_aff_list::operator=(pw_multi_aff_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -12656,8 +12656,8 @@ pw_multi_aff_list::operator bool() const
 }
 
 
-isl::ctx pw_multi_aff_list::get_ctx() const {
-  return isl::ctx(isl_pw_multi_aff_list_get_ctx(ptr));
+ctx pw_multi_aff_list::get_ctx() const {
+  return ctx(isl_pw_multi_aff_list_get_ctx(ptr));
 }
 
 void pw_multi_aff_list::dump() const {
@@ -12665,63 +12665,63 @@ void pw_multi_aff_list::dump() const {
 }
 
 
-isl::pw_multi_aff_list pw_multi_aff_list::add(isl::pw_multi_aff el) const
+pw_multi_aff_list pw_multi_aff_list::add(pw_multi_aff el) const
 {
   auto res = isl_pw_multi_aff_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::alloc(isl::ctx ctx, int n)
+pw_multi_aff_list pw_multi_aff_list::alloc(ctx ctx, int n)
 {
   auto res = isl_pw_multi_aff_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::concat(isl::pw_multi_aff_list list2) const
+pw_multi_aff_list pw_multi_aff_list::concat(pw_multi_aff_list list2) const
 {
   auto res = isl_pw_multi_aff_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::drop(unsigned int first, unsigned int n) const
+pw_multi_aff_list pw_multi_aff_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_multi_aff_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat pw_multi_aff_list::foreach(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const
+stat pw_multi_aff_list::foreach(const std::function<stat(pw_multi_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_multi_aff)> *func;
+    const std::function<stat(pw_multi_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_multi_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_pw_multi_aff_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::from_pw_multi_aff(isl::pw_multi_aff el)
+pw_multi_aff_list pw_multi_aff_list::from_pw_multi_aff(pw_multi_aff el)
 {
   auto res = isl_pw_multi_aff_list_from_pw_multi_aff(el.release());
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff_list::get_at(int index) const
+pw_multi_aff pw_multi_aff_list::get_at(int index) const
 {
   auto res = isl_pw_multi_aff_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::pw_multi_aff pw_multi_aff_list::get_pw_multi_aff(int index) const
+pw_multi_aff pw_multi_aff_list::get_pw_multi_aff(int index) const
 {
   auto res = isl_pw_multi_aff_list_get_pw_multi_aff(get(), index);
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::insert(unsigned int pos, isl::pw_multi_aff el) const
+pw_multi_aff_list pw_multi_aff_list::insert(unsigned int pos, pw_multi_aff el) const
 {
   auto res = isl_pw_multi_aff_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -12733,13 +12733,13 @@ int pw_multi_aff_list::n_pw_multi_aff()
   return res;
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::reverse() const
+pw_multi_aff_list pw_multi_aff_list::reverse() const
 {
   auto res = isl_pw_multi_aff_list_reverse(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::set_pw_multi_aff(int index, isl::pw_multi_aff el) const
+pw_multi_aff_list pw_multi_aff_list::set_pw_multi_aff(int index, pw_multi_aff el) const
 {
   auto res = isl_pw_multi_aff_list_set_pw_multi_aff(copy(), index, el.release());
   return manage(res);
@@ -12751,17 +12751,17 @@ int pw_multi_aff_list::size() const
   return res;
 }
 
-isl::pw_multi_aff_list pw_multi_aff_list::swap(unsigned int pos1, unsigned int pos2) const
+pw_multi_aff_list pw_multi_aff_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_pw_multi_aff_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::pw_qpolynomial
-isl::pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr) {
+pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr) {
   return pw_qpolynomial(ptr);
 }
-isl::pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr) {
+pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr) {
   ptr = isl_pw_qpolynomial_copy(ptr);
   return pw_qpolynomial(ptr);
 }
@@ -12769,7 +12769,7 @@ isl::pw_qpolynomial manage_copy(__isl_ke
 pw_qpolynomial::pw_qpolynomial()
     : ptr(nullptr) {}
 
-pw_qpolynomial::pw_qpolynomial(const isl::pw_qpolynomial &obj)
+pw_qpolynomial::pw_qpolynomial(const pw_qpolynomial &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -12781,13 +12781,13 @@ pw_qpolynomial::pw_qpolynomial(std::null
 pw_qpolynomial::pw_qpolynomial(__isl_take isl_pw_qpolynomial *ptr)
     : ptr(ptr) {}
 
-pw_qpolynomial::pw_qpolynomial(isl::ctx ctx, const std::string &str)
+pw_qpolynomial::pw_qpolynomial(ctx ctx, const std::string &str)
 {
   auto res = isl_pw_qpolynomial_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-pw_qpolynomial &pw_qpolynomial::operator=(isl::pw_qpolynomial obj) {
+pw_qpolynomial &pw_qpolynomial::operator=(pw_qpolynomial obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -12819,8 +12819,8 @@ pw_qpolynomial::operator bool() const {
 }
 
 
-isl::ctx pw_qpolynomial::get_ctx() const {
-  return isl::ctx(isl_pw_qpolynomial_get_ctx(ptr));
+ctx pw_qpolynomial::get_ctx() const {
+  return ctx(isl_pw_qpolynomial_get_ctx(ptr));
 }
 std::string pw_qpolynomial::to_str() const {
   char *Tmp = isl_pw_qpolynomial_to_str(get());
@@ -12837,25 +12837,25 @@ void pw_qpolynomial::dump() const {
 }
 
 
-isl::pw_qpolynomial pw_qpolynomial::add(isl::pw_qpolynomial pwqp2) const
+pw_qpolynomial pw_qpolynomial::add(pw_qpolynomial pwqp2) const
 {
   auto res = isl_pw_qpolynomial_add(copy(), pwqp2.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::add_dims(isl::dim type, unsigned int n) const
+pw_qpolynomial pw_qpolynomial::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::alloc(isl::set set, isl::qpolynomial qp)
+pw_qpolynomial pw_qpolynomial::alloc(set set, qpolynomial qp)
 {
   auto res = isl_pw_qpolynomial_alloc(set.release(), qp.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::coalesce() const
+pw_qpolynomial pw_qpolynomial::coalesce() const
 {
   auto res = isl_pw_qpolynomial_coalesce(copy());
   return manage(res);
@@ -12867,25 +12867,25 @@ unsigned int pw_qpolynomial::dim(isl::di
   return res;
 }
 
-isl::set pw_qpolynomial::domain() const
+set pw_qpolynomial::domain() const
 {
   auto res = isl_pw_qpolynomial_domain(copy());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_qpolynomial pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::drop_unused_params() const
+pw_qpolynomial pw_qpolynomial::drop_unused_params() const
 {
   auto res = isl_pw_qpolynomial_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::val pw_qpolynomial::eval(isl::point pnt) const
+val pw_qpolynomial::eval(point pnt) const
 {
   auto res = isl_pw_qpolynomial_eval(copy(), pnt.release());
   return manage(res);
@@ -12897,129 +12897,129 @@ int pw_qpolynomial::find_dim_by_name(isl
   return res;
 }
 
-isl::pw_qpolynomial pw_qpolynomial::fix_val(isl::dim type, unsigned int n, isl::val v) const
+pw_qpolynomial pw_qpolynomial::fix_val(isl::dim type, unsigned int n, val v) const
 {
   auto res = isl_pw_qpolynomial_fix_val(copy(), static_cast<enum isl_dim_type>(type), n, v.release());
   return manage(res);
 }
 
-isl::stat pw_qpolynomial::foreach_piece(const std::function<isl::stat(isl::set, isl::qpolynomial)> &fn) const
+stat pw_qpolynomial::foreach_piece(const std::function<stat(set, qpolynomial)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::set, isl::qpolynomial)> *func;
+    const std::function<stat(set, qpolynomial)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_set *arg_0, isl_qpolynomial *arg_1, void *arg_2) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_2);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1));
     return ret.release();
   };
   auto res = isl_pw_qpolynomial_foreach_piece(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::from_pw_aff(isl::pw_aff pwaff)
+pw_qpolynomial pw_qpolynomial::from_pw_aff(pw_aff pwaff)
 {
   auto res = isl_pw_qpolynomial_from_pw_aff(pwaff.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::from_qpolynomial(isl::qpolynomial qp)
+pw_qpolynomial pw_qpolynomial::from_qpolynomial(qpolynomial qp)
 {
   auto res = isl_pw_qpolynomial_from_qpolynomial(qp.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::from_range() const
+pw_qpolynomial pw_qpolynomial::from_range() const
 {
   auto res = isl_pw_qpolynomial_from_range(copy());
   return manage(res);
 }
 
-isl::space pw_qpolynomial::get_domain_space() const
+space pw_qpolynomial::get_domain_space() const
 {
   auto res = isl_pw_qpolynomial_get_domain_space(get());
   return manage(res);
 }
 
-isl::space pw_qpolynomial::get_space() const
+space pw_qpolynomial::get_space() const
 {
   auto res = isl_pw_qpolynomial_get_space(get());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::gist(isl::set context) const
+pw_qpolynomial pw_qpolynomial::gist(set context) const
 {
   auto res = isl_pw_qpolynomial_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::gist_params(isl::set context) const
+pw_qpolynomial pw_qpolynomial::gist_params(set context) const
 {
   auto res = isl_pw_qpolynomial_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean pw_qpolynomial::has_equal_space(const isl::pw_qpolynomial &pwqp2) const
+boolean pw_qpolynomial::has_equal_space(const pw_qpolynomial &pwqp2) const
 {
   auto res = isl_pw_qpolynomial_has_equal_space(get(), pwqp2.get());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_qpolynomial pw_qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::intersect_domain(isl::set set) const
+pw_qpolynomial pw_qpolynomial::intersect_domain(set set) const
 {
   auto res = isl_pw_qpolynomial_intersect_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::intersect_params(isl::set set) const
+pw_qpolynomial pw_qpolynomial::intersect_params(set set) const
 {
   auto res = isl_pw_qpolynomial_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean pw_qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean pw_qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean pw_qpolynomial::involves_nan() const
+boolean pw_qpolynomial::involves_nan() const
 {
   auto res = isl_pw_qpolynomial_involves_nan(get());
   return manage(res);
 }
 
-isl::boolean pw_qpolynomial::is_zero() const
+boolean pw_qpolynomial::is_zero() const
 {
   auto res = isl_pw_qpolynomial_is_zero(get());
   return manage(res);
 }
 
-isl::val pw_qpolynomial::max() const
+val pw_qpolynomial::max() const
 {
   auto res = isl_pw_qpolynomial_max(copy());
   return manage(res);
 }
 
-isl::val pw_qpolynomial::min() const
+val pw_qpolynomial::min() const
 {
   auto res = isl_pw_qpolynomial_min(copy());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+pw_qpolynomial pw_qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::mul(isl::pw_qpolynomial pwqp2) const
+pw_qpolynomial pw_qpolynomial::mul(pw_qpolynomial pwqp2) const
 {
   auto res = isl_pw_qpolynomial_mul(copy(), pwqp2.release());
   return manage(res);
@@ -13031,95 +13031,95 @@ int pw_qpolynomial::n_piece() const
   return res;
 }
 
-isl::pw_qpolynomial pw_qpolynomial::neg() const
+pw_qpolynomial pw_qpolynomial::neg() const
 {
   auto res = isl_pw_qpolynomial_neg(copy());
   return manage(res);
 }
 
-isl::boolean pw_qpolynomial::plain_is_equal(const isl::pw_qpolynomial &pwqp2) const
+boolean pw_qpolynomial::plain_is_equal(const pw_qpolynomial &pwqp2) const
 {
   auto res = isl_pw_qpolynomial_plain_is_equal(get(), pwqp2.get());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::pow(unsigned int exponent) const
+pw_qpolynomial pw_qpolynomial::pow(unsigned int exponent) const
 {
   auto res = isl_pw_qpolynomial_pow(copy(), exponent);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::project_domain_on_params() const
+pw_qpolynomial pw_qpolynomial::project_domain_on_params() const
 {
   auto res = isl_pw_qpolynomial_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::reset_domain_space(isl::space dim) const
+pw_qpolynomial pw_qpolynomial::reset_domain_space(space dim) const
 {
   auto res = isl_pw_qpolynomial_reset_domain_space(copy(), dim.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::reset_user() const
+pw_qpolynomial pw_qpolynomial::reset_user() const
 {
   auto res = isl_pw_qpolynomial_reset_user(copy());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::scale_down_val(isl::val v) const
+pw_qpolynomial pw_qpolynomial::scale_down_val(val v) const
 {
   auto res = isl_pw_qpolynomial_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::scale_val(isl::val v) const
+pw_qpolynomial pw_qpolynomial::scale_val(val v) const
 {
   auto res = isl_pw_qpolynomial_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::split_dims(isl::dim type, unsigned int first, unsigned int n) const
+pw_qpolynomial pw_qpolynomial::split_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_split_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::split_periods(int max_periods) const
+pw_qpolynomial pw_qpolynomial::split_periods(int max_periods) const
 {
   auto res = isl_pw_qpolynomial_split_periods(copy(), max_periods);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::sub(isl::pw_qpolynomial pwqp2) const
+pw_qpolynomial pw_qpolynomial::sub(pw_qpolynomial pwqp2) const
 {
   auto res = isl_pw_qpolynomial_sub(copy(), pwqp2.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::subtract_domain(isl::set set) const
+pw_qpolynomial pw_qpolynomial::subtract_domain(set set) const
 {
   auto res = isl_pw_qpolynomial_subtract_domain(copy(), set.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::to_polynomial(int sign) const
+pw_qpolynomial pw_qpolynomial::to_polynomial(int sign) const
 {
   auto res = isl_pw_qpolynomial_to_polynomial(copy(), sign);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial::zero(isl::space dim)
+pw_qpolynomial pw_qpolynomial::zero(space dim)
 {
   auto res = isl_pw_qpolynomial_zero(dim.release());
   return manage(res);
 }
 
 // implementations for isl::pw_qpolynomial_fold_list
-isl::pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr) {
+pw_qpolynomial_fold_list manage(__isl_take isl_pw_qpolynomial_fold_list *ptr) {
   return pw_qpolynomial_fold_list(ptr);
 }
-isl::pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr) {
+pw_qpolynomial_fold_list manage_copy(__isl_keep isl_pw_qpolynomial_fold_list *ptr) {
   ptr = isl_pw_qpolynomial_fold_list_copy(ptr);
   return pw_qpolynomial_fold_list(ptr);
 }
@@ -13127,7 +13127,7 @@ isl::pw_qpolynomial_fold_list manage_cop
 pw_qpolynomial_fold_list::pw_qpolynomial_fold_list()
     : ptr(nullptr) {}
 
-pw_qpolynomial_fold_list::pw_qpolynomial_fold_list(const isl::pw_qpolynomial_fold_list &obj)
+pw_qpolynomial_fold_list::pw_qpolynomial_fold_list(const pw_qpolynomial_fold_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -13140,7 +13140,7 @@ pw_qpolynomial_fold_list::pw_qpolynomial
     : ptr(ptr) {}
 
 
-pw_qpolynomial_fold_list &pw_qpolynomial_fold_list::operator=(isl::pw_qpolynomial_fold_list obj) {
+pw_qpolynomial_fold_list &pw_qpolynomial_fold_list::operator=(pw_qpolynomial_fold_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -13172,8 +13172,8 @@ pw_qpolynomial_fold_list::operator bool(
 }
 
 
-isl::ctx pw_qpolynomial_fold_list::get_ctx() const {
-  return isl::ctx(isl_pw_qpolynomial_fold_list_get_ctx(ptr));
+ctx pw_qpolynomial_fold_list::get_ctx() const {
+  return ctx(isl_pw_qpolynomial_fold_list_get_ctx(ptr));
 }
 
 void pw_qpolynomial_fold_list::dump() const {
@@ -13183,10 +13183,10 @@ void pw_qpolynomial_fold_list::dump() co
 
 
 // implementations for isl::pw_qpolynomial_list
-isl::pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr) {
+pw_qpolynomial_list manage(__isl_take isl_pw_qpolynomial_list *ptr) {
   return pw_qpolynomial_list(ptr);
 }
-isl::pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr) {
+pw_qpolynomial_list manage_copy(__isl_keep isl_pw_qpolynomial_list *ptr) {
   ptr = isl_pw_qpolynomial_list_copy(ptr);
   return pw_qpolynomial_list(ptr);
 }
@@ -13194,7 +13194,7 @@ isl::pw_qpolynomial_list manage_copy(__i
 pw_qpolynomial_list::pw_qpolynomial_list()
     : ptr(nullptr) {}
 
-pw_qpolynomial_list::pw_qpolynomial_list(const isl::pw_qpolynomial_list &obj)
+pw_qpolynomial_list::pw_qpolynomial_list(const pw_qpolynomial_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -13207,7 +13207,7 @@ pw_qpolynomial_list::pw_qpolynomial_list
     : ptr(ptr) {}
 
 
-pw_qpolynomial_list &pw_qpolynomial_list::operator=(isl::pw_qpolynomial_list obj) {
+pw_qpolynomial_list &pw_qpolynomial_list::operator=(pw_qpolynomial_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -13239,8 +13239,8 @@ pw_qpolynomial_list::operator bool() con
 }
 
 
-isl::ctx pw_qpolynomial_list::get_ctx() const {
-  return isl::ctx(isl_pw_qpolynomial_list_get_ctx(ptr));
+ctx pw_qpolynomial_list::get_ctx() const {
+  return ctx(isl_pw_qpolynomial_list_get_ctx(ptr));
 }
 
 void pw_qpolynomial_list::dump() const {
@@ -13248,63 +13248,63 @@ void pw_qpolynomial_list::dump() const {
 }
 
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::add(isl::pw_qpolynomial el) const
+pw_qpolynomial_list pw_qpolynomial_list::add(pw_qpolynomial el) const
 {
   auto res = isl_pw_qpolynomial_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::alloc(isl::ctx ctx, int n)
+pw_qpolynomial_list pw_qpolynomial_list::alloc(ctx ctx, int n)
 {
   auto res = isl_pw_qpolynomial_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::concat(isl::pw_qpolynomial_list list2) const
+pw_qpolynomial_list pw_qpolynomial_list::concat(pw_qpolynomial_list list2) const
 {
   auto res = isl_pw_qpolynomial_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::drop(unsigned int first, unsigned int n) const
+pw_qpolynomial_list pw_qpolynomial_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_pw_qpolynomial_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat pw_qpolynomial_list::foreach(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const
+stat pw_qpolynomial_list::foreach(const std::function<stat(pw_qpolynomial)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_qpolynomial)> *func;
+    const std::function<stat(pw_qpolynomial)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_qpolynomial *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_pw_qpolynomial_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::from_pw_qpolynomial(isl::pw_qpolynomial el)
+pw_qpolynomial_list pw_qpolynomial_list::from_pw_qpolynomial(pw_qpolynomial el)
 {
   auto res = isl_pw_qpolynomial_list_from_pw_qpolynomial(el.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial_list::get_at(int index) const
+pw_qpolynomial pw_qpolynomial_list::get_at(int index) const
 {
   auto res = isl_pw_qpolynomial_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::pw_qpolynomial pw_qpolynomial_list::get_pw_qpolynomial(int index) const
+pw_qpolynomial pw_qpolynomial_list::get_pw_qpolynomial(int index) const
 {
   auto res = isl_pw_qpolynomial_list_get_pw_qpolynomial(get(), index);
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::insert(unsigned int pos, isl::pw_qpolynomial el) const
+pw_qpolynomial_list pw_qpolynomial_list::insert(unsigned int pos, pw_qpolynomial el) const
 {
   auto res = isl_pw_qpolynomial_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -13316,13 +13316,13 @@ int pw_qpolynomial_list::n_pw_qpolynomia
   return res;
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::reverse() const
+pw_qpolynomial_list pw_qpolynomial_list::reverse() const
 {
   auto res = isl_pw_qpolynomial_list_reverse(copy());
   return manage(res);
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::set_pw_qpolynomial(int index, isl::pw_qpolynomial el) const
+pw_qpolynomial_list pw_qpolynomial_list::set_pw_qpolynomial(int index, pw_qpolynomial el) const
 {
   auto res = isl_pw_qpolynomial_list_set_pw_qpolynomial(copy(), index, el.release());
   return manage(res);
@@ -13334,17 +13334,17 @@ int pw_qpolynomial_list::size() const
   return res;
 }
 
-isl::pw_qpolynomial_list pw_qpolynomial_list::swap(unsigned int pos1, unsigned int pos2) const
+pw_qpolynomial_list pw_qpolynomial_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_pw_qpolynomial_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::qpolynomial
-isl::qpolynomial manage(__isl_take isl_qpolynomial *ptr) {
+qpolynomial manage(__isl_take isl_qpolynomial *ptr) {
   return qpolynomial(ptr);
 }
-isl::qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr) {
+qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr) {
   ptr = isl_qpolynomial_copy(ptr);
   return qpolynomial(ptr);
 }
@@ -13352,7 +13352,7 @@ isl::qpolynomial manage_copy(__isl_keep
 qpolynomial::qpolynomial()
     : ptr(nullptr) {}
 
-qpolynomial::qpolynomial(const isl::qpolynomial &obj)
+qpolynomial::qpolynomial(const qpolynomial &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -13365,7 +13365,7 @@ qpolynomial::qpolynomial(__isl_take isl_
     : ptr(ptr) {}
 
 
-qpolynomial &qpolynomial::operator=(isl::qpolynomial obj) {
+qpolynomial &qpolynomial::operator=(qpolynomial obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -13397,8 +13397,8 @@ qpolynomial::operator bool() const {
 }
 
 
-isl::ctx qpolynomial::get_ctx() const {
-  return isl::ctx(isl_qpolynomial_get_ctx(ptr));
+ctx qpolynomial::get_ctx() const {
+  return ctx(isl_qpolynomial_get_ctx(ptr));
 }
 
 void qpolynomial::dump() const {
@@ -13406,32 +13406,32 @@ void qpolynomial::dump() const {
 }
 
 
-isl::qpolynomial qpolynomial::add(isl::qpolynomial qp2) const
+qpolynomial qpolynomial::add(qpolynomial qp2) const
 {
   auto res = isl_qpolynomial_add(copy(), qp2.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::add_dims(isl::dim type, unsigned int n) const
+qpolynomial qpolynomial::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_qpolynomial_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::align_params(isl::space model) const
+qpolynomial qpolynomial::align_params(space model) const
 {
   auto res = isl_qpolynomial_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::stat qpolynomial::as_polynomial_on_domain(const isl::basic_set &bset, const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> &fn) const
+stat qpolynomial::as_polynomial_on_domain(const basic_set &bset, const std::function<stat(basic_set, qpolynomial)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> *func;
+    const std::function<stat(basic_set, qpolynomial)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_basic_set *arg_0, isl_qpolynomial *arg_1, void *arg_2) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_2);
-    stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1));
+    stat ret = (*data->func)(manage(arg_0), manage(arg_1));
     return ret.release();
   };
   auto res = isl_qpolynomial_as_polynomial_on_domain(get(), bset.get(), fn_lambda, &fn_data);
@@ -13444,189 +13444,189 @@ unsigned int qpolynomial::dim(isl::dim t
   return res;
 }
 
-isl::qpolynomial qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+qpolynomial qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::val qpolynomial::eval(isl::point pnt) const
+val qpolynomial::eval(point pnt) const
 {
   auto res = isl_qpolynomial_eval(copy(), pnt.release());
   return manage(res);
 }
 
-isl::stat qpolynomial::foreach_term(const std::function<isl::stat(isl::term)> &fn) const
+stat qpolynomial::foreach_term(const std::function<stat(term)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::term)> *func;
+    const std::function<stat(term)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_term *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_qpolynomial_foreach_term(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::from_aff(isl::aff aff)
+qpolynomial qpolynomial::from_aff(aff aff)
 {
   auto res = isl_qpolynomial_from_aff(aff.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::from_constraint(isl::constraint c, isl::dim type, unsigned int pos)
+qpolynomial qpolynomial::from_constraint(constraint c, isl::dim type, unsigned int pos)
 {
   auto res = isl_qpolynomial_from_constraint(c.release(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::from_term(isl::term term)
+qpolynomial qpolynomial::from_term(term term)
 {
   auto res = isl_qpolynomial_from_term(term.release());
   return manage(res);
 }
 
-isl::val qpolynomial::get_constant_val() const
+val qpolynomial::get_constant_val() const
 {
   auto res = isl_qpolynomial_get_constant_val(get());
   return manage(res);
 }
 
-isl::space qpolynomial::get_domain_space() const
+space qpolynomial::get_domain_space() const
 {
   auto res = isl_qpolynomial_get_domain_space(get());
   return manage(res);
 }
 
-isl::space qpolynomial::get_space() const
+space qpolynomial::get_space() const
 {
   auto res = isl_qpolynomial_get_space(get());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::gist(isl::set context) const
+qpolynomial qpolynomial::gist(set context) const
 {
   auto res = isl_qpolynomial_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::gist_params(isl::set context) const
+qpolynomial qpolynomial::gist_params(set context) const
 {
   auto res = isl_qpolynomial_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::homogenize() const
+qpolynomial qpolynomial::homogenize() const
 {
   auto res = isl_qpolynomial_homogenize(copy());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::infty_on_domain(isl::space dim)
+qpolynomial qpolynomial::infty_on_domain(space dim)
 {
   auto res = isl_qpolynomial_infty_on_domain(dim.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
+qpolynomial qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_qpolynomial_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_qpolynomial_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean qpolynomial::is_infty() const
+boolean qpolynomial::is_infty() const
 {
   auto res = isl_qpolynomial_is_infty(get());
   return manage(res);
 }
 
-isl::boolean qpolynomial::is_nan() const
+boolean qpolynomial::is_nan() const
 {
   auto res = isl_qpolynomial_is_nan(get());
   return manage(res);
 }
 
-isl::boolean qpolynomial::is_neginfty() const
+boolean qpolynomial::is_neginfty() const
 {
   auto res = isl_qpolynomial_is_neginfty(get());
   return manage(res);
 }
 
-isl::boolean qpolynomial::is_zero() const
+boolean qpolynomial::is_zero() const
 {
   auto res = isl_qpolynomial_is_zero(get());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+qpolynomial qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_qpolynomial_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::mul(isl::qpolynomial qp2) const
+qpolynomial qpolynomial::mul(qpolynomial qp2) const
 {
   auto res = isl_qpolynomial_mul(copy(), qp2.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::nan_on_domain(isl::space dim)
+qpolynomial qpolynomial::nan_on_domain(space dim)
 {
   auto res = isl_qpolynomial_nan_on_domain(dim.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::neg() const
+qpolynomial qpolynomial::neg() const
 {
   auto res = isl_qpolynomial_neg(copy());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::neginfty_on_domain(isl::space dim)
+qpolynomial qpolynomial::neginfty_on_domain(space dim)
 {
   auto res = isl_qpolynomial_neginfty_on_domain(dim.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::one_on_domain(isl::space dim)
+qpolynomial qpolynomial::one_on_domain(space dim)
 {
   auto res = isl_qpolynomial_one_on_domain(dim.release());
   return manage(res);
 }
 
-isl::boolean qpolynomial::plain_is_equal(const isl::qpolynomial &qp2) const
+boolean qpolynomial::plain_is_equal(const qpolynomial &qp2) const
 {
   auto res = isl_qpolynomial_plain_is_equal(get(), qp2.get());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::pow(unsigned int power) const
+qpolynomial qpolynomial::pow(unsigned int power) const
 {
   auto res = isl_qpolynomial_pow(copy(), power);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::project_domain_on_params() const
+qpolynomial qpolynomial::project_domain_on_params() const
 {
   auto res = isl_qpolynomial_project_domain_on_params(copy());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::scale_down_val(isl::val v) const
+qpolynomial qpolynomial::scale_down_val(val v) const
 {
   auto res = isl_qpolynomial_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::scale_val(isl::val v) const
+qpolynomial qpolynomial::scale_val(val v) const
 {
   auto res = isl_qpolynomial_scale_val(copy(), v.release());
   return manage(res);
@@ -13638,35 +13638,35 @@ int qpolynomial::sgn() const
   return res;
 }
 
-isl::qpolynomial qpolynomial::sub(isl::qpolynomial qp2) const
+qpolynomial qpolynomial::sub(qpolynomial qp2) const
 {
   auto res = isl_qpolynomial_sub(copy(), qp2.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::val_on_domain(isl::space space, isl::val val)
+qpolynomial qpolynomial::val_on_domain(space space, val val)
 {
   auto res = isl_qpolynomial_val_on_domain(space.release(), val.release());
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::var_on_domain(isl::space dim, isl::dim type, unsigned int pos)
+qpolynomial qpolynomial::var_on_domain(space dim, isl::dim type, unsigned int pos)
 {
   auto res = isl_qpolynomial_var_on_domain(dim.release(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::qpolynomial qpolynomial::zero_on_domain(isl::space dim)
+qpolynomial qpolynomial::zero_on_domain(space dim)
 {
   auto res = isl_qpolynomial_zero_on_domain(dim.release());
   return manage(res);
 }
 
 // implementations for isl::schedule
-isl::schedule manage(__isl_take isl_schedule *ptr) {
+schedule manage(__isl_take isl_schedule *ptr) {
   return schedule(ptr);
 }
-isl::schedule manage_copy(__isl_keep isl_schedule *ptr) {
+schedule manage_copy(__isl_keep isl_schedule *ptr) {
   ptr = isl_schedule_copy(ptr);
   return schedule(ptr);
 }
@@ -13674,7 +13674,7 @@ isl::schedule manage_copy(__isl_keep isl
 schedule::schedule()
     : ptr(nullptr) {}
 
-schedule::schedule(const isl::schedule &obj)
+schedule::schedule(const schedule &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -13686,13 +13686,13 @@ schedule::schedule(std::nullptr_t)
 schedule::schedule(__isl_take isl_schedule *ptr)
     : ptr(ptr) {}
 
-schedule::schedule(isl::ctx ctx, const std::string &str)
+schedule::schedule(ctx ctx, const std::string &str)
 {
   auto res = isl_schedule_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-schedule &schedule::operator=(isl::schedule obj) {
+schedule &schedule::operator=(schedule obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -13724,8 +13724,8 @@ schedule::operator bool() const {
 }
 
 
-isl::ctx schedule::get_ctx() const {
-  return isl::ctx(isl_schedule_get_ctx(ptr));
+ctx schedule::get_ctx() const {
+  return ctx(isl_schedule_get_ctx(ptr));
 }
 std::string schedule::to_str() const {
   char *Tmp = isl_schedule_to_str(get());
@@ -13742,101 +13742,101 @@ void schedule::dump() const {
 }
 
 
-isl::schedule schedule::align_params(isl::space space) const
+schedule schedule::align_params(space space) const
 {
   auto res = isl_schedule_align_params(copy(), space.release());
   return manage(res);
 }
 
-isl::schedule schedule::empty(isl::space space)
+schedule schedule::empty(space space)
 {
   auto res = isl_schedule_empty(space.release());
   return manage(res);
 }
 
-isl::schedule schedule::from_domain(isl::union_set domain)
+schedule schedule::from_domain(union_set domain)
 {
   auto res = isl_schedule_from_domain(domain.release());
   return manage(res);
 }
 
-isl::union_set schedule::get_domain() const
+union_set schedule::get_domain() const
 {
   auto res = isl_schedule_get_domain(get());
   return manage(res);
 }
 
-isl::union_map schedule::get_map() const
+union_map schedule::get_map() const
 {
   auto res = isl_schedule_get_map(get());
   return manage(res);
 }
 
-isl::schedule_node schedule::get_root() const
+schedule_node schedule::get_root() const
 {
   auto res = isl_schedule_get_root(get());
   return manage(res);
 }
 
-isl::schedule schedule::gist_domain_params(isl::set context) const
+schedule schedule::gist_domain_params(set context) const
 {
   auto res = isl_schedule_gist_domain_params(copy(), context.release());
   return manage(res);
 }
 
-isl::schedule schedule::insert_context(isl::set context) const
+schedule schedule::insert_context(set context) const
 {
   auto res = isl_schedule_insert_context(copy(), context.release());
   return manage(res);
 }
 
-isl::schedule schedule::insert_guard(isl::set guard) const
+schedule schedule::insert_guard(set guard) const
 {
   auto res = isl_schedule_insert_guard(copy(), guard.release());
   return manage(res);
 }
 
-isl::schedule schedule::insert_partial_schedule(isl::multi_union_pw_aff partial) const
+schedule schedule::insert_partial_schedule(multi_union_pw_aff partial) const
 {
   auto res = isl_schedule_insert_partial_schedule(copy(), partial.release());
   return manage(res);
 }
 
-isl::schedule schedule::intersect_domain(isl::union_set domain) const
+schedule schedule::intersect_domain(union_set domain) const
 {
   auto res = isl_schedule_intersect_domain(copy(), domain.release());
   return manage(res);
 }
 
-isl::boolean schedule::plain_is_equal(const isl::schedule &schedule2) const
+boolean schedule::plain_is_equal(const schedule &schedule2) const
 {
   auto res = isl_schedule_plain_is_equal(get(), schedule2.get());
   return manage(res);
 }
 
-isl::schedule schedule::pullback(isl::union_pw_multi_aff upma) const
+schedule schedule::pullback(union_pw_multi_aff upma) const
 {
   auto res = isl_schedule_pullback_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::schedule schedule::reset_user() const
+schedule schedule::reset_user() const
 {
   auto res = isl_schedule_reset_user(copy());
   return manage(res);
 }
 
-isl::schedule schedule::sequence(isl::schedule schedule2) const
+schedule schedule::sequence(schedule schedule2) const
 {
   auto res = isl_schedule_sequence(copy(), schedule2.release());
   return manage(res);
 }
 
 // implementations for isl::schedule_constraints
-isl::schedule_constraints manage(__isl_take isl_schedule_constraints *ptr) {
+schedule_constraints manage(__isl_take isl_schedule_constraints *ptr) {
   return schedule_constraints(ptr);
 }
-isl::schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr) {
+schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr) {
   ptr = isl_schedule_constraints_copy(ptr);
   return schedule_constraints(ptr);
 }
@@ -13844,7 +13844,7 @@ isl::schedule_constraints manage_copy(__
 schedule_constraints::schedule_constraints()
     : ptr(nullptr) {}
 
-schedule_constraints::schedule_constraints(const isl::schedule_constraints &obj)
+schedule_constraints::schedule_constraints(const schedule_constraints &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -13856,13 +13856,13 @@ schedule_constraints::schedule_constrain
 schedule_constraints::schedule_constraints(__isl_take isl_schedule_constraints *ptr)
     : ptr(ptr) {}
 
-schedule_constraints::schedule_constraints(isl::ctx ctx, const std::string &str)
+schedule_constraints::schedule_constraints(ctx ctx, const std::string &str)
 {
   auto res = isl_schedule_constraints_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-schedule_constraints &schedule_constraints::operator=(isl::schedule_constraints obj) {
+schedule_constraints &schedule_constraints::operator=(schedule_constraints obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -13894,8 +13894,8 @@ schedule_constraints::operator bool() co
 }
 
 
-isl::ctx schedule_constraints::get_ctx() const {
-  return isl::ctx(isl_schedule_constraints_get_ctx(ptr));
+ctx schedule_constraints::get_ctx() const {
+  return ctx(isl_schedule_constraints_get_ctx(ptr));
 }
 std::string schedule_constraints::to_str() const {
   char *Tmp = isl_schedule_constraints_to_str(get());
@@ -13912,101 +13912,101 @@ void schedule_constraints::dump() const
 }
 
 
-isl::schedule_constraints schedule_constraints::apply(isl::union_map umap) const
+schedule_constraints schedule_constraints::apply(union_map umap) const
 {
   auto res = isl_schedule_constraints_apply(copy(), umap.release());
   return manage(res);
 }
 
-isl::schedule schedule_constraints::compute_schedule() const
+schedule schedule_constraints::compute_schedule() const
 {
   auto res = isl_schedule_constraints_compute_schedule(copy());
   return manage(res);
 }
 
-isl::union_map schedule_constraints::get_coincidence() const
+union_map schedule_constraints::get_coincidence() const
 {
   auto res = isl_schedule_constraints_get_coincidence(get());
   return manage(res);
 }
 
-isl::union_map schedule_constraints::get_conditional_validity() const
+union_map schedule_constraints::get_conditional_validity() const
 {
   auto res = isl_schedule_constraints_get_conditional_validity(get());
   return manage(res);
 }
 
-isl::union_map schedule_constraints::get_conditional_validity_condition() const
+union_map schedule_constraints::get_conditional_validity_condition() const
 {
   auto res = isl_schedule_constraints_get_conditional_validity_condition(get());
   return manage(res);
 }
 
-isl::set schedule_constraints::get_context() const
+set schedule_constraints::get_context() const
 {
   auto res = isl_schedule_constraints_get_context(get());
   return manage(res);
 }
 
-isl::union_set schedule_constraints::get_domain() const
+union_set schedule_constraints::get_domain() const
 {
   auto res = isl_schedule_constraints_get_domain(get());
   return manage(res);
 }
 
-isl::union_map schedule_constraints::get_proximity() const
+union_map schedule_constraints::get_proximity() const
 {
   auto res = isl_schedule_constraints_get_proximity(get());
   return manage(res);
 }
 
-isl::union_map schedule_constraints::get_validity() const
+union_map schedule_constraints::get_validity() const
 {
   auto res = isl_schedule_constraints_get_validity(get());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::on_domain(isl::union_set domain)
+schedule_constraints schedule_constraints::on_domain(union_set domain)
 {
   auto res = isl_schedule_constraints_on_domain(domain.release());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::set_coincidence(isl::union_map coincidence) const
+schedule_constraints schedule_constraints::set_coincidence(union_map coincidence) const
 {
   auto res = isl_schedule_constraints_set_coincidence(copy(), coincidence.release());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::set_conditional_validity(isl::union_map condition, isl::union_map validity) const
+schedule_constraints schedule_constraints::set_conditional_validity(union_map condition, union_map validity) const
 {
   auto res = isl_schedule_constraints_set_conditional_validity(copy(), condition.release(), validity.release());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::set_context(isl::set context) const
+schedule_constraints schedule_constraints::set_context(set context) const
 {
   auto res = isl_schedule_constraints_set_context(copy(), context.release());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::set_proximity(isl::union_map proximity) const
+schedule_constraints schedule_constraints::set_proximity(union_map proximity) const
 {
   auto res = isl_schedule_constraints_set_proximity(copy(), proximity.release());
   return manage(res);
 }
 
-isl::schedule_constraints schedule_constraints::set_validity(isl::union_map validity) const
+schedule_constraints schedule_constraints::set_validity(union_map validity) const
 {
   auto res = isl_schedule_constraints_set_validity(copy(), validity.release());
   return manage(res);
 }
 
 // implementations for isl::schedule_node
-isl::schedule_node manage(__isl_take isl_schedule_node *ptr) {
+schedule_node manage(__isl_take isl_schedule_node *ptr) {
   return schedule_node(ptr);
 }
-isl::schedule_node manage_copy(__isl_keep isl_schedule_node *ptr) {
+schedule_node manage_copy(__isl_keep isl_schedule_node *ptr) {
   ptr = isl_schedule_node_copy(ptr);
   return schedule_node(ptr);
 }
@@ -14014,7 +14014,7 @@ isl::schedule_node manage_copy(__isl_kee
 schedule_node::schedule_node()
     : ptr(nullptr) {}
 
-schedule_node::schedule_node(const isl::schedule_node &obj)
+schedule_node::schedule_node(const schedule_node &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -14027,7 +14027,7 @@ schedule_node::schedule_node(__isl_take
     : ptr(ptr) {}
 
 
-schedule_node &schedule_node::operator=(isl::schedule_node obj) {
+schedule_node &schedule_node::operator=(schedule_node obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -14059,8 +14059,8 @@ schedule_node::operator bool() const {
 }
 
 
-isl::ctx schedule_node::get_ctx() const {
-  return isl::ctx(isl_schedule_node_get_ctx(ptr));
+ctx schedule_node::get_ctx() const {
+  return ctx(isl_schedule_node_get_ctx(ptr));
 }
 std::string schedule_node::to_str() const {
   char *Tmp = isl_schedule_node_to_str(get());
@@ -14077,123 +14077,123 @@ void schedule_node::dump() const {
 }
 
 
-isl::schedule_node schedule_node::align_params(isl::space space) const
+schedule_node schedule_node::align_params(space space) const
 {
   auto res = isl_schedule_node_align_params(copy(), space.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::ancestor(int generation) const
+schedule_node schedule_node::ancestor(int generation) const
 {
   auto res = isl_schedule_node_ancestor(copy(), generation);
   return manage(res);
 }
 
-isl::boolean schedule_node::band_member_get_coincident(int pos) const
+boolean schedule_node::band_member_get_coincident(int pos) const
 {
   auto res = isl_schedule_node_band_member_get_coincident(get(), pos);
   return manage(res);
 }
 
-isl::schedule_node schedule_node::band_member_set_coincident(int pos, int coincident) const
+schedule_node schedule_node::band_member_set_coincident(int pos, int coincident) const
 {
   auto res = isl_schedule_node_band_member_set_coincident(copy(), pos, coincident);
   return manage(res);
 }
 
-isl::schedule_node schedule_node::band_set_ast_build_options(isl::union_set options) const
+schedule_node schedule_node::band_set_ast_build_options(union_set options) const
 {
   auto res = isl_schedule_node_band_set_ast_build_options(copy(), options.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::child(int pos) const
+schedule_node schedule_node::child(int pos) const
 {
   auto res = isl_schedule_node_child(copy(), pos);
   return manage(res);
 }
 
-isl::set schedule_node::context_get_context() const
+set schedule_node::context_get_context() const
 {
   auto res = isl_schedule_node_context_get_context(get());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::cut() const
+schedule_node schedule_node::cut() const
 {
   auto res = isl_schedule_node_cut(copy());
   return manage(res);
 }
 
-isl::union_set schedule_node::domain_get_domain() const
+union_set schedule_node::domain_get_domain() const
 {
   auto res = isl_schedule_node_domain_get_domain(get());
   return manage(res);
 }
 
-isl::union_pw_multi_aff schedule_node::expansion_get_contraction() const
+union_pw_multi_aff schedule_node::expansion_get_contraction() const
 {
   auto res = isl_schedule_node_expansion_get_contraction(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::expansion_get_expansion() const
+union_map schedule_node::expansion_get_expansion() const
 {
   auto res = isl_schedule_node_expansion_get_expansion(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::extension_get_extension() const
+union_map schedule_node::extension_get_extension() const
 {
   auto res = isl_schedule_node_extension_get_extension(get());
   return manage(res);
 }
 
-isl::union_set schedule_node::filter_get_filter() const
+union_set schedule_node::filter_get_filter() const
 {
   auto res = isl_schedule_node_filter_get_filter(get());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::first_child() const
+schedule_node schedule_node::first_child() const
 {
   auto res = isl_schedule_node_first_child(copy());
   return manage(res);
 }
 
-isl::stat schedule_node::foreach_ancestor_top_down(const std::function<isl::stat(isl::schedule_node)> &fn) const
+stat schedule_node::foreach_ancestor_top_down(const std::function<stat(schedule_node)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::schedule_node)> *func;
+    const std::function<stat(schedule_node)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_schedule_node *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_schedule_node_foreach_ancestor_top_down(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::schedule_node schedule_node::from_domain(isl::union_set domain)
+schedule_node schedule_node::from_domain(union_set domain)
 {
   auto res = isl_schedule_node_from_domain(domain.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::from_extension(isl::union_map extension)
+schedule_node schedule_node::from_extension(union_map extension)
 {
   auto res = isl_schedule_node_from_extension(extension.release());
   return manage(res);
 }
 
-int schedule_node::get_ancestor_child_position(const isl::schedule_node &ancestor) const
+int schedule_node::get_ancestor_child_position(const schedule_node &ancestor) const
 {
   auto res = isl_schedule_node_get_ancestor_child_position(get(), ancestor.get());
   return res;
 }
 
-isl::schedule_node schedule_node::get_child(int pos) const
+schedule_node schedule_node::get_child(int pos) const
 {
   auto res = isl_schedule_node_get_child(get(), pos);
   return manage(res);
@@ -14205,37 +14205,37 @@ int schedule_node::get_child_position()
   return res;
 }
 
-isl::union_set schedule_node::get_domain() const
+union_set schedule_node::get_domain() const
 {
   auto res = isl_schedule_node_get_domain(get());
   return manage(res);
 }
 
-isl::multi_union_pw_aff schedule_node::get_prefix_schedule_multi_union_pw_aff() const
+multi_union_pw_aff schedule_node::get_prefix_schedule_multi_union_pw_aff() const
 {
   auto res = isl_schedule_node_get_prefix_schedule_multi_union_pw_aff(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::get_prefix_schedule_relation() const
+union_map schedule_node::get_prefix_schedule_relation() const
 {
   auto res = isl_schedule_node_get_prefix_schedule_relation(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::get_prefix_schedule_union_map() const
+union_map schedule_node::get_prefix_schedule_union_map() const
 {
   auto res = isl_schedule_node_get_prefix_schedule_union_map(get());
   return manage(res);
 }
 
-isl::union_pw_multi_aff schedule_node::get_prefix_schedule_union_pw_multi_aff() const
+union_pw_multi_aff schedule_node::get_prefix_schedule_union_pw_multi_aff() const
 {
   auto res = isl_schedule_node_get_prefix_schedule_union_pw_multi_aff(get());
   return manage(res);
 }
 
-isl::schedule schedule_node::get_schedule() const
+schedule schedule_node::get_schedule() const
 {
   auto res = isl_schedule_node_get_schedule(get());
   return manage(res);
@@ -14247,25 +14247,25 @@ int schedule_node::get_schedule_depth()
   return res;
 }
 
-isl::schedule_node schedule_node::get_shared_ancestor(const isl::schedule_node &node2) const
+schedule_node schedule_node::get_shared_ancestor(const schedule_node &node2) const
 {
   auto res = isl_schedule_node_get_shared_ancestor(get(), node2.get());
   return manage(res);
 }
 
-isl::union_pw_multi_aff schedule_node::get_subtree_contraction() const
+union_pw_multi_aff schedule_node::get_subtree_contraction() const
 {
   auto res = isl_schedule_node_get_subtree_contraction(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::get_subtree_expansion() const
+union_map schedule_node::get_subtree_expansion() const
 {
   auto res = isl_schedule_node_get_subtree_expansion(get());
   return manage(res);
 }
 
-isl::union_map schedule_node::get_subtree_schedule_union_map() const
+union_map schedule_node::get_subtree_schedule_union_map() const
 {
   auto res = isl_schedule_node_get_subtree_schedule_union_map(get());
   return manage(res);
@@ -14277,115 +14277,115 @@ int schedule_node::get_tree_depth() cons
   return res;
 }
 
-isl::union_set schedule_node::get_universe_domain() const
+union_set schedule_node::get_universe_domain() const
 {
   auto res = isl_schedule_node_get_universe_domain(get());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::graft_after(isl::schedule_node graft) const
+schedule_node schedule_node::graft_after(schedule_node graft) const
 {
   auto res = isl_schedule_node_graft_after(copy(), graft.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::graft_before(isl::schedule_node graft) const
+schedule_node schedule_node::graft_before(schedule_node graft) const
 {
   auto res = isl_schedule_node_graft_before(copy(), graft.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::group(isl::id group_id) const
+schedule_node schedule_node::group(id group_id) const
 {
   auto res = isl_schedule_node_group(copy(), group_id.release());
   return manage(res);
 }
 
-isl::set schedule_node::guard_get_guard() const
+set schedule_node::guard_get_guard() const
 {
   auto res = isl_schedule_node_guard_get_guard(get());
   return manage(res);
 }
 
-isl::boolean schedule_node::has_children() const
+boolean schedule_node::has_children() const
 {
   auto res = isl_schedule_node_has_children(get());
   return manage(res);
 }
 
-isl::boolean schedule_node::has_next_sibling() const
+boolean schedule_node::has_next_sibling() const
 {
   auto res = isl_schedule_node_has_next_sibling(get());
   return manage(res);
 }
 
-isl::boolean schedule_node::has_parent() const
+boolean schedule_node::has_parent() const
 {
   auto res = isl_schedule_node_has_parent(get());
   return manage(res);
 }
 
-isl::boolean schedule_node::has_previous_sibling() const
+boolean schedule_node::has_previous_sibling() const
 {
   auto res = isl_schedule_node_has_previous_sibling(get());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_context(isl::set context) const
+schedule_node schedule_node::insert_context(set context) const
 {
   auto res = isl_schedule_node_insert_context(copy(), context.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_filter(isl::union_set filter) const
+schedule_node schedule_node::insert_filter(union_set filter) const
 {
   auto res = isl_schedule_node_insert_filter(copy(), filter.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_guard(isl::set context) const
+schedule_node schedule_node::insert_guard(set context) const
 {
   auto res = isl_schedule_node_insert_guard(copy(), context.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_mark(isl::id mark) const
+schedule_node schedule_node::insert_mark(id mark) const
 {
   auto res = isl_schedule_node_insert_mark(copy(), mark.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_partial_schedule(isl::multi_union_pw_aff schedule) const
+schedule_node schedule_node::insert_partial_schedule(multi_union_pw_aff schedule) const
 {
   auto res = isl_schedule_node_insert_partial_schedule(copy(), schedule.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_sequence(isl::union_set_list filters) const
+schedule_node schedule_node::insert_sequence(union_set_list filters) const
 {
   auto res = isl_schedule_node_insert_sequence(copy(), filters.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::insert_set(isl::union_set_list filters) const
+schedule_node schedule_node::insert_set(union_set_list filters) const
 {
   auto res = isl_schedule_node_insert_set(copy(), filters.release());
   return manage(res);
 }
 
-isl::boolean schedule_node::is_equal(const isl::schedule_node &node2) const
+boolean schedule_node::is_equal(const schedule_node &node2) const
 {
   auto res = isl_schedule_node_is_equal(get(), node2.get());
   return manage(res);
 }
 
-isl::boolean schedule_node::is_subtree_anchored() const
+boolean schedule_node::is_subtree_anchored() const
 {
   auto res = isl_schedule_node_is_subtree_anchored(get());
   return manage(res);
 }
 
-isl::id schedule_node::mark_get_id() const
+id schedule_node::mark_get_id() const
 {
   auto res = isl_schedule_node_mark_get_id(get());
   return manage(res);
@@ -14397,59 +14397,59 @@ int schedule_node::n_children() const
   return res;
 }
 
-isl::schedule_node schedule_node::next_sibling() const
+schedule_node schedule_node::next_sibling() const
 {
   auto res = isl_schedule_node_next_sibling(copy());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::order_after(isl::union_set filter) const
+schedule_node schedule_node::order_after(union_set filter) const
 {
   auto res = isl_schedule_node_order_after(copy(), filter.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::order_before(isl::union_set filter) const
+schedule_node schedule_node::order_before(union_set filter) const
 {
   auto res = isl_schedule_node_order_before(copy(), filter.release());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::parent() const
+schedule_node schedule_node::parent() const
 {
   auto res = isl_schedule_node_parent(copy());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::previous_sibling() const
+schedule_node schedule_node::previous_sibling() const
 {
   auto res = isl_schedule_node_previous_sibling(copy());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::reset_user() const
+schedule_node schedule_node::reset_user() const
 {
   auto res = isl_schedule_node_reset_user(copy());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::root() const
+schedule_node schedule_node::root() const
 {
   auto res = isl_schedule_node_root(copy());
   return manage(res);
 }
 
-isl::schedule_node schedule_node::sequence_splice_child(int pos) const
+schedule_node schedule_node::sequence_splice_child(int pos) const
 {
   auto res = isl_schedule_node_sequence_splice_child(copy(), pos);
   return manage(res);
 }
 
 // implementations for isl::set
-isl::set manage(__isl_take isl_set *ptr) {
+set manage(__isl_take isl_set *ptr) {
   return set(ptr);
 }
-isl::set manage_copy(__isl_keep isl_set *ptr) {
+set manage_copy(__isl_keep isl_set *ptr) {
   ptr = isl_set_copy(ptr);
   return set(ptr);
 }
@@ -14457,7 +14457,7 @@ isl::set manage_copy(__isl_keep isl_set
 set::set()
     : ptr(nullptr) {}
 
-set::set(const isl::set &obj)
+set::set(const set &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -14469,28 +14469,28 @@ set::set(std::nullptr_t)
 set::set(__isl_take isl_set *ptr)
     : ptr(ptr) {}
 
-set::set(isl::ctx ctx, const std::string &str)
+set::set(ctx ctx, const std::string &str)
 {
   auto res = isl_set_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
-set::set(isl::basic_set bset)
+set::set(basic_set bset)
 {
   auto res = isl_set_from_basic_set(bset.release());
   ptr = res;
 }
-set::set(isl::point pnt)
+set::set(point pnt)
 {
   auto res = isl_set_from_point(pnt.release());
   ptr = res;
 }
-set::set(isl::union_set uset)
+set::set(union_set uset)
 {
   auto res = isl_set_from_union_set(uset.release());
   ptr = res;
 }
 
-set &set::operator=(isl::set obj) {
+set &set::operator=(set obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -14522,8 +14522,8 @@ set::operator bool() const {
 }
 
 
-isl::ctx set::get_ctx() const {
-  return isl::ctx(isl_set_get_ctx(ptr));
+ctx set::get_ctx() const {
+  return ctx(isl_set_get_ctx(ptr));
 }
 std::string set::to_str() const {
   char *Tmp = isl_set_to_str(get());
@@ -14540,79 +14540,79 @@ void set::dump() const {
 }
 
 
-isl::set set::add_constraint(isl::constraint constraint) const
+set set::add_constraint(constraint constraint) const
 {
   auto res = isl_set_add_constraint(copy(), constraint.release());
   return manage(res);
 }
 
-isl::set set::add_dims(isl::dim type, unsigned int n) const
+set set::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_set_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::basic_set set::affine_hull() const
+basic_set set::affine_hull() const
 {
   auto res = isl_set_affine_hull(copy());
   return manage(res);
 }
 
-isl::set set::align_params(isl::space model) const
+set set::align_params(space model) const
 {
   auto res = isl_set_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::set set::apply(isl::map map) const
+set set::apply(map map) const
 {
   auto res = isl_set_apply(copy(), map.release());
   return manage(res);
 }
 
-isl::basic_set set::bounded_simple_hull() const
+basic_set set::bounded_simple_hull() const
 {
   auto res = isl_set_bounded_simple_hull(copy());
   return manage(res);
 }
 
-isl::set set::box_from_points(isl::point pnt1, isl::point pnt2)
+set set::box_from_points(point pnt1, point pnt2)
 {
   auto res = isl_set_box_from_points(pnt1.release(), pnt2.release());
   return manage(res);
 }
 
-isl::set set::coalesce() const
+set set::coalesce() const
 {
   auto res = isl_set_coalesce(copy());
   return manage(res);
 }
 
-isl::basic_set set::coefficients() const
+basic_set set::coefficients() const
 {
   auto res = isl_set_coefficients(copy());
   return manage(res);
 }
 
-isl::set set::complement() const
+set set::complement() const
 {
   auto res = isl_set_complement(copy());
   return manage(res);
 }
 
-isl::basic_set set::convex_hull() const
+basic_set set::convex_hull() const
 {
   auto res = isl_set_convex_hull(copy());
   return manage(res);
 }
 
-isl::val set::count_val() const
+val set::count_val() const
 {
   auto res = isl_set_count_val(get());
   return manage(res);
 }
 
-isl::set set::detect_equalities() const
+set set::detect_equalities() const
 {
   auto res = isl_set_detect_equalities(copy());
   return manage(res);
@@ -14624,85 +14624,85 @@ unsigned int set::dim(isl::dim type) con
   return res;
 }
 
-isl::boolean set::dim_has_any_lower_bound(isl::dim type, unsigned int pos) const
+boolean set::dim_has_any_lower_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_dim_has_any_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::dim_has_any_upper_bound(isl::dim type, unsigned int pos) const
+boolean set::dim_has_any_upper_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_dim_has_any_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::dim_has_lower_bound(isl::dim type, unsigned int pos) const
+boolean set::dim_has_lower_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_dim_has_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::dim_has_upper_bound(isl::dim type, unsigned int pos) const
+boolean set::dim_has_upper_bound(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_dim_has_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::dim_is_bounded(isl::dim type, unsigned int pos) const
+boolean set::dim_is_bounded(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_dim_is_bounded(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::pw_aff set::dim_max(int pos) const
+pw_aff set::dim_max(int pos) const
 {
   auto res = isl_set_dim_max(copy(), pos);
   return manage(res);
 }
 
-isl::pw_aff set::dim_min(int pos) const
+pw_aff set::dim_min(int pos) const
 {
   auto res = isl_set_dim_min(copy(), pos);
   return manage(res);
 }
 
-isl::set set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+set set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+set set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::drop_unused_params() const
+set set::drop_unused_params() const
 {
   auto res = isl_set_drop_unused_params(copy());
   return manage(res);
 }
 
-isl::set set::eliminate(isl::dim type, unsigned int first, unsigned int n) const
+set set::eliminate(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::empty(isl::space space)
+set set::empty(space space)
 {
   auto res = isl_set_empty(space.release());
   return manage(res);
 }
 
-isl::set set::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
+set set::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const
 {
   auto res = isl_set_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2);
   return manage(res);
 }
 
-int set::find_dim_by_id(isl::dim type, const isl::id &id) const
+int set::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_set_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -14714,107 +14714,107 @@ int set::find_dim_by_name(isl::dim type,
   return res;
 }
 
-isl::set set::fix_si(isl::dim type, unsigned int pos, int value) const
+set set::fix_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_set_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::set set::fix_val(isl::dim type, unsigned int pos, isl::val v) const
+set set::fix_val(isl::dim type, unsigned int pos, val v) const
 {
   auto res = isl_set_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release());
   return manage(res);
 }
 
-isl::set set::flat_product(isl::set set2) const
+set set::flat_product(set set2) const
 {
   auto res = isl_set_flat_product(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::flatten() const
+set set::flatten() const
 {
   auto res = isl_set_flatten(copy());
   return manage(res);
 }
 
-isl::map set::flatten_map() const
+map set::flatten_map() const
 {
   auto res = isl_set_flatten_map(copy());
   return manage(res);
 }
 
-int set::follows_at(const isl::set &set2, int pos) const
+int set::follows_at(const set &set2, int pos) const
 {
   auto res = isl_set_follows_at(get(), set2.get(), pos);
   return res;
 }
 
-isl::stat set::foreach_basic_set(const std::function<isl::stat(isl::basic_set)> &fn) const
+stat set::foreach_basic_set(const std::function<stat(basic_set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::basic_set)> *func;
+    const std::function<stat(basic_set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_basic_set *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_set_foreach_basic_set(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::stat set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const
+stat set::foreach_point(const std::function<stat(point)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::point)> *func;
+    const std::function<stat(point)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_point *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_set_foreach_point(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::set set::from_multi_aff(isl::multi_aff ma)
+set set::from_multi_aff(multi_aff ma)
 {
   auto res = isl_set_from_multi_aff(ma.release());
   return manage(res);
 }
 
-isl::set set::from_multi_pw_aff(isl::multi_pw_aff mpa)
+set set::from_multi_pw_aff(multi_pw_aff mpa)
 {
   auto res = isl_set_from_multi_pw_aff(mpa.release());
   return manage(res);
 }
 
-isl::set set::from_params() const
+set set::from_params() const
 {
   auto res = isl_set_from_params(copy());
   return manage(res);
 }
 
-isl::set set::from_pw_aff(isl::pw_aff pwaff)
+set set::from_pw_aff(pw_aff pwaff)
 {
   auto res = isl_set_from_pw_aff(pwaff.release());
   return manage(res);
 }
 
-isl::set set::from_pw_multi_aff(isl::pw_multi_aff pma)
+set set::from_pw_multi_aff(pw_multi_aff pma)
 {
   auto res = isl_set_from_pw_multi_aff(pma.release());
   return manage(res);
 }
 
-isl::basic_set_list set::get_basic_set_list() const
+basic_set_list set::get_basic_set_list() const
 {
   auto res = isl_set_get_basic_set_list(get());
   return manage(res);
 }
 
-isl::id set::get_dim_id(isl::dim type, unsigned int pos) const
+id set::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -14827,19 +14827,19 @@ std::string set::get_dim_name(isl::dim t
   return tmp;
 }
 
-isl::space set::get_space() const
+space set::get_space() const
 {
   auto res = isl_set_get_space(get());
   return manage(res);
 }
 
-isl::val set::get_stride(int pos) const
+val set::get_stride(int pos) const
 {
   auto res = isl_set_get_stride(get(), pos);
   return manage(res);
 }
 
-isl::id set::get_tuple_id() const
+id set::get_tuple_id() const
 {
   auto res = isl_set_get_tuple_id(get());
   return manage(res);
@@ -14852,223 +14852,223 @@ std::string set::get_tuple_name() const
   return tmp;
 }
 
-isl::set set::gist(isl::set context) const
+set set::gist(set context) const
 {
   auto res = isl_set_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::set set::gist_basic_set(isl::basic_set context) const
+set set::gist_basic_set(basic_set context) const
 {
   auto res = isl_set_gist_basic_set(copy(), context.release());
   return manage(res);
 }
 
-isl::set set::gist_params(isl::set context) const
+set set::gist_params(set context) const
 {
   auto res = isl_set_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::boolean set::has_dim_id(isl::dim type, unsigned int pos) const
+boolean set::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::has_dim_name(isl::dim type, unsigned int pos) const
+boolean set::has_dim_name(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::has_equal_space(const isl::set &set2) const
+boolean set::has_equal_space(const set &set2) const
 {
   auto res = isl_set_has_equal_space(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::has_tuple_id() const
+boolean set::has_tuple_id() const
 {
   auto res = isl_set_has_tuple_id(get());
   return manage(res);
 }
 
-isl::boolean set::has_tuple_name() const
+boolean set::has_tuple_name() const
 {
   auto res = isl_set_has_tuple_name(get());
   return manage(res);
 }
 
-isl::map set::identity() const
+map set::identity() const
 {
   auto res = isl_set_identity(copy());
   return manage(res);
 }
 
-isl::pw_aff set::indicator_function() const
+pw_aff set::indicator_function() const
 {
   auto res = isl_set_indicator_function(copy());
   return manage(res);
 }
 
-isl::set set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
+set set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
 {
   auto res = isl_set_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n);
   return manage(res);
 }
 
-isl::set set::intersect(isl::set set2) const
+set set::intersect(set set2) const
 {
   auto res = isl_set_intersect(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::intersect_params(isl::set params) const
+set set::intersect_params(set params) const
 {
   auto res = isl_set_intersect_params(copy(), params.release());
   return manage(res);
 }
 
-isl::boolean set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean set::is_bounded() const
+boolean set::is_bounded() const
 {
   auto res = isl_set_is_bounded(get());
   return manage(res);
 }
 
-isl::boolean set::is_box() const
+boolean set::is_box() const
 {
   auto res = isl_set_is_box(get());
   return manage(res);
 }
 
-isl::boolean set::is_disjoint(const isl::set &set2) const
+boolean set::is_disjoint(const set &set2) const
 {
   auto res = isl_set_is_disjoint(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::is_empty() const
+boolean set::is_empty() const
 {
   auto res = isl_set_is_empty(get());
   return manage(res);
 }
 
-isl::boolean set::is_equal(const isl::set &set2) const
+boolean set::is_equal(const set &set2) const
 {
   auto res = isl_set_is_equal(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::is_params() const
+boolean set::is_params() const
 {
   auto res = isl_set_is_params(get());
   return manage(res);
 }
 
-isl::boolean set::is_singleton() const
+boolean set::is_singleton() const
 {
   auto res = isl_set_is_singleton(get());
   return manage(res);
 }
 
-isl::boolean set::is_strict_subset(const isl::set &set2) const
+boolean set::is_strict_subset(const set &set2) const
 {
   auto res = isl_set_is_strict_subset(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::is_subset(const isl::set &set2) const
+boolean set::is_subset(const set &set2) const
 {
   auto res = isl_set_is_subset(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::is_wrapping() const
+boolean set::is_wrapping() const
 {
   auto res = isl_set_is_wrapping(get());
   return manage(res);
 }
 
-isl::map set::lex_ge_set(isl::set set2) const
+map set::lex_ge_set(set set2) const
 {
   auto res = isl_set_lex_ge_set(copy(), set2.release());
   return manage(res);
 }
 
-isl::map set::lex_gt_set(isl::set set2) const
+map set::lex_gt_set(set set2) const
 {
   auto res = isl_set_lex_gt_set(copy(), set2.release());
   return manage(res);
 }
 
-isl::map set::lex_le_set(isl::set set2) const
+map set::lex_le_set(set set2) const
 {
   auto res = isl_set_lex_le_set(copy(), set2.release());
   return manage(res);
 }
 
-isl::map set::lex_lt_set(isl::set set2) const
+map set::lex_lt_set(set set2) const
 {
   auto res = isl_set_lex_lt_set(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::lexmax() const
+set set::lexmax() const
 {
   auto res = isl_set_lexmax(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff set::lexmax_pw_multi_aff() const
+pw_multi_aff set::lexmax_pw_multi_aff() const
 {
   auto res = isl_set_lexmax_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::set set::lexmin() const
+set set::lexmin() const
 {
   auto res = isl_set_lexmin(copy());
   return manage(res);
 }
 
-isl::pw_multi_aff set::lexmin_pw_multi_aff() const
+pw_multi_aff set::lexmin_pw_multi_aff() const
 {
   auto res = isl_set_lexmin_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::set set::lower_bound_si(isl::dim type, unsigned int pos, int value) const
+set set::lower_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_set_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::set set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const
+set set::lower_bound_val(isl::dim type, unsigned int pos, val value) const
 {
   auto res = isl_set_lower_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
   return manage(res);
 }
 
-isl::val set::max_val(const isl::aff &obj) const
+val set::max_val(const aff &obj) const
 {
   auto res = isl_set_max_val(get(), obj.get());
   return manage(res);
 }
 
-isl::val set::min_val(const isl::aff &obj) const
+val set::min_val(const aff &obj) const
 {
   auto res = isl_set_min_val(get(), obj.get());
   return manage(res);
 }
 
-isl::set set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+set set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_set_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
@@ -15086,187 +15086,187 @@ unsigned int set::n_dim() const
   return res;
 }
 
-isl::set set::nat_universe(isl::space dim)
+set set::nat_universe(space dim)
 {
   auto res = isl_set_nat_universe(dim.release());
   return manage(res);
 }
 
-isl::set set::neg() const
+set set::neg() const
 {
   auto res = isl_set_neg(copy());
   return manage(res);
 }
 
-isl::set set::params() const
+set set::params() const
 {
   auto res = isl_set_params(copy());
   return manage(res);
 }
 
-int set::plain_cmp(const isl::set &set2) const
+int set::plain_cmp(const set &set2) const
 {
   auto res = isl_set_plain_cmp(get(), set2.get());
   return res;
 }
 
-isl::val set::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
+val set::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const
 {
   auto res = isl_set_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean set::plain_is_disjoint(const isl::set &set2) const
+boolean set::plain_is_disjoint(const set &set2) const
 {
   auto res = isl_set_plain_is_disjoint(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::plain_is_empty() const
+boolean set::plain_is_empty() const
 {
   auto res = isl_set_plain_is_empty(get());
   return manage(res);
 }
 
-isl::boolean set::plain_is_equal(const isl::set &set2) const
+boolean set::plain_is_equal(const set &set2) const
 {
   auto res = isl_set_plain_is_equal(get(), set2.get());
   return manage(res);
 }
 
-isl::boolean set::plain_is_universe() const
+boolean set::plain_is_universe() const
 {
   auto res = isl_set_plain_is_universe(get());
   return manage(res);
 }
 
-isl::basic_set set::plain_unshifted_simple_hull() const
+basic_set set::plain_unshifted_simple_hull() const
 {
   auto res = isl_set_plain_unshifted_simple_hull(copy());
   return manage(res);
 }
 
-isl::basic_set set::polyhedral_hull() const
+basic_set set::polyhedral_hull() const
 {
   auto res = isl_set_polyhedral_hull(copy());
   return manage(res);
 }
 
-isl::set set::preimage_multi_aff(isl::multi_aff ma) const
+set set::preimage_multi_aff(multi_aff ma) const
 {
   auto res = isl_set_preimage_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::set set::preimage_multi_pw_aff(isl::multi_pw_aff mpa) const
+set set::preimage_multi_pw_aff(multi_pw_aff mpa) const
 {
   auto res = isl_set_preimage_multi_pw_aff(copy(), mpa.release());
   return manage(res);
 }
 
-isl::set set::preimage_pw_multi_aff(isl::pw_multi_aff pma) const
+set set::preimage_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_set_preimage_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::set set::product(isl::set set2) const
+set set::product(set set2) const
 {
   auto res = isl_set_product(copy(), set2.release());
   return manage(res);
 }
 
-isl::map set::project_onto_map(isl::dim type, unsigned int first, unsigned int n) const
+map set::project_onto_map(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_project_onto_map(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::project_out(isl::dim type, unsigned int first, unsigned int n) const
+set set::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
+set set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::remove_divs() const
+set set::remove_divs() const
 {
   auto res = isl_set_remove_divs(copy());
   return manage(res);
 }
 
-isl::set set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
+set set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::remove_redundancies() const
+set set::remove_redundancies() const
 {
   auto res = isl_set_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::set set::remove_unknown_divs() const
+set set::remove_unknown_divs() const
 {
   auto res = isl_set_remove_unknown_divs(copy());
   return manage(res);
 }
 
-isl::set set::reset_space(isl::space dim) const
+set set::reset_space(space dim) const
 {
   auto res = isl_set_reset_space(copy(), dim.release());
   return manage(res);
 }
 
-isl::set set::reset_tuple_id() const
+set set::reset_tuple_id() const
 {
   auto res = isl_set_reset_tuple_id(copy());
   return manage(res);
 }
 
-isl::set set::reset_user() const
+set set::reset_user() const
 {
   auto res = isl_set_reset_user(copy());
   return manage(res);
 }
 
-isl::basic_set set::sample() const
+basic_set set::sample() const
 {
   auto res = isl_set_sample(copy());
   return manage(res);
 }
 
-isl::point set::sample_point() const
+point set::sample_point() const
 {
   auto res = isl_set_sample_point(copy());
   return manage(res);
 }
 
-isl::set set::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+set set::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_set_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::set set::set_tuple_id(isl::id id) const
+set set::set_tuple_id(id id) const
 {
   auto res = isl_set_set_tuple_id(copy(), id.release());
   return manage(res);
 }
 
-isl::set set::set_tuple_name(const std::string &s) const
+set set::set_tuple_name(const std::string &s) const
 {
   auto res = isl_set_set_tuple_name(copy(), s.c_str());
   return manage(res);
 }
 
-isl::basic_set set::simple_hull() const
+basic_set set::simple_hull() const
 {
   auto res = isl_set_simple_hull(copy());
   return manage(res);
@@ -15278,83 +15278,83 @@ int set::size() const
   return res;
 }
 
-isl::basic_set set::solutions() const
+basic_set set::solutions() const
 {
   auto res = isl_set_solutions(copy());
   return manage(res);
 }
 
-isl::set set::split_dims(isl::dim type, unsigned int first, unsigned int n) const
+set set::split_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_set_split_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::set set::subtract(isl::set set2) const
+set set::subtract(set set2) const
 {
   auto res = isl_set_subtract(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::sum(isl::set set2) const
+set set::sum(set set2) const
 {
   auto res = isl_set_sum(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::unite(isl::set set2) const
+set set::unite(set set2) const
 {
   auto res = isl_set_union(copy(), set2.release());
   return manage(res);
 }
 
-isl::set set::universe(isl::space space)
+set set::universe(space space)
 {
   auto res = isl_set_universe(space.release());
   return manage(res);
 }
 
-isl::basic_set set::unshifted_simple_hull() const
+basic_set set::unshifted_simple_hull() const
 {
   auto res = isl_set_unshifted_simple_hull(copy());
   return manage(res);
 }
 
-isl::basic_set set::unshifted_simple_hull_from_set_list(isl::set_list list) const
+basic_set set::unshifted_simple_hull_from_set_list(set_list list) const
 {
   auto res = isl_set_unshifted_simple_hull_from_set_list(copy(), list.release());
   return manage(res);
 }
 
-isl::map set::unwrap() const
+map set::unwrap() const
 {
   auto res = isl_set_unwrap(copy());
   return manage(res);
 }
 
-isl::set set::upper_bound_si(isl::dim type, unsigned int pos, int value) const
+set set::upper_bound_si(isl::dim type, unsigned int pos, int value) const
 {
   auto res = isl_set_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value);
   return manage(res);
 }
 
-isl::set set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const
+set set::upper_bound_val(isl::dim type, unsigned int pos, val value) const
 {
   auto res = isl_set_upper_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
   return manage(res);
 }
 
-isl::map set::wrapped_domain_map() const
+map set::wrapped_domain_map() const
 {
   auto res = isl_set_wrapped_domain_map(copy());
   return manage(res);
 }
 
 // implementations for isl::set_list
-isl::set_list manage(__isl_take isl_set_list *ptr) {
+set_list manage(__isl_take isl_set_list *ptr) {
   return set_list(ptr);
 }
-isl::set_list manage_copy(__isl_keep isl_set_list *ptr) {
+set_list manage_copy(__isl_keep isl_set_list *ptr) {
   ptr = isl_set_list_copy(ptr);
   return set_list(ptr);
 }
@@ -15362,7 +15362,7 @@ isl::set_list manage_copy(__isl_keep isl
 set_list::set_list()
     : ptr(nullptr) {}
 
-set_list::set_list(const isl::set_list &obj)
+set_list::set_list(const set_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -15375,7 +15375,7 @@ set_list::set_list(__isl_take isl_set_li
     : ptr(ptr) {}
 
 
-set_list &set_list::operator=(isl::set_list obj) {
+set_list &set_list::operator=(set_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -15407,8 +15407,8 @@ set_list::operator bool() const {
 }
 
 
-isl::ctx set_list::get_ctx() const {
-  return isl::ctx(isl_set_list_get_ctx(ptr));
+ctx set_list::get_ctx() const {
+  return ctx(isl_set_list_get_ctx(ptr));
 }
 
 void set_list::dump() const {
@@ -15416,63 +15416,63 @@ void set_list::dump() const {
 }
 
 
-isl::set_list set_list::add(isl::set el) const
+set_list set_list::add(set el) const
 {
   auto res = isl_set_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::set_list set_list::alloc(isl::ctx ctx, int n)
+set_list set_list::alloc(ctx ctx, int n)
 {
   auto res = isl_set_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::set_list set_list::concat(isl::set_list list2) const
+set_list set_list::concat(set_list list2) const
 {
   auto res = isl_set_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::set_list set_list::drop(unsigned int first, unsigned int n) const
+set_list set_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_set_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat set_list::foreach(const std::function<isl::stat(isl::set)> &fn) const
+stat set_list::foreach(const std::function<stat(set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::set)> *func;
+    const std::function<stat(set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_set *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_set_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::set_list set_list::from_set(isl::set el)
+set_list set_list::from_set(set el)
 {
   auto res = isl_set_list_from_set(el.release());
   return manage(res);
 }
 
-isl::set set_list::get_at(int index) const
+set set_list::get_at(int index) const
 {
   auto res = isl_set_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::set set_list::get_set(int index) const
+set set_list::get_set(int index) const
 {
   auto res = isl_set_list_get_set(get(), index);
   return manage(res);
 }
 
-isl::set_list set_list::insert(unsigned int pos, isl::set el) const
+set_list set_list::insert(unsigned int pos, set el) const
 {
   auto res = isl_set_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -15484,13 +15484,13 @@ int set_list::n_set() const
   return res;
 }
 
-isl::set_list set_list::reverse() const
+set_list set_list::reverse() const
 {
   auto res = isl_set_list_reverse(copy());
   return manage(res);
 }
 
-isl::set_list set_list::set_set(int index, isl::set el) const
+set_list set_list::set_set(int index, set el) const
 {
   auto res = isl_set_list_set_set(copy(), index, el.release());
   return manage(res);
@@ -15502,23 +15502,23 @@ int set_list::size() const
   return res;
 }
 
-isl::set_list set_list::swap(unsigned int pos1, unsigned int pos2) const
+set_list set_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_set_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
-isl::set set_list::unite() const
+set set_list::unite() const
 {
   auto res = isl_set_list_union(copy());
   return manage(res);
 }
 
 // implementations for isl::space
-isl::space manage(__isl_take isl_space *ptr) {
+space manage(__isl_take isl_space *ptr) {
   return space(ptr);
 }
-isl::space manage_copy(__isl_keep isl_space *ptr) {
+space manage_copy(__isl_keep isl_space *ptr) {
   ptr = isl_space_copy(ptr);
   return space(ptr);
 }
@@ -15526,7 +15526,7 @@ isl::space manage_copy(__isl_keep isl_sp
 space::space()
     : ptr(nullptr) {}
 
-space::space(const isl::space &obj)
+space::space(const space &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -15538,18 +15538,18 @@ space::space(std::nullptr_t)
 space::space(__isl_take isl_space *ptr)
     : ptr(ptr) {}
 
-space::space(isl::ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out)
+space::space(ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out)
 {
   auto res = isl_space_alloc(ctx.release(), nparam, n_in, n_out);
   ptr = res;
 }
-space::space(isl::ctx ctx, unsigned int nparam, unsigned int dim)
+space::space(ctx ctx, unsigned int nparam, unsigned int dim)
 {
   auto res = isl_space_set_alloc(ctx.release(), nparam, dim);
   ptr = res;
 }
 
-space &space::operator=(isl::space obj) {
+space &space::operator=(space obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -15581,8 +15581,8 @@ space::operator bool() const {
 }
 
 
-isl::ctx space::get_ctx() const {
-  return isl::ctx(isl_space_get_ctx(ptr));
+ctx space::get_ctx() const {
+  return ctx(isl_space_get_ctx(ptr));
 }
 std::string space::to_str() const {
   char *Tmp = isl_space_to_str(get());
@@ -15599,49 +15599,49 @@ void space::dump() const {
 }
 
 
-isl::space space::add_dims(isl::dim type, unsigned int n) const
+space space::add_dims(isl::dim type, unsigned int n) const
 {
   auto res = isl_space_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
   return manage(res);
 }
 
-isl::space space::add_param_id(isl::id id) const
+space space::add_param_id(id id) const
 {
   auto res = isl_space_add_param_id(copy(), id.release());
   return manage(res);
 }
 
-isl::space space::align_params(isl::space dim2) const
+space space::align_params(space dim2) const
 {
   auto res = isl_space_align_params(copy(), dim2.release());
   return manage(res);
 }
 
-isl::boolean space::can_curry() const
+boolean space::can_curry() const
 {
   auto res = isl_space_can_curry(get());
   return manage(res);
 }
 
-isl::boolean space::can_range_curry() const
+boolean space::can_range_curry() const
 {
   auto res = isl_space_can_range_curry(get());
   return manage(res);
 }
 
-isl::boolean space::can_uncurry() const
+boolean space::can_uncurry() const
 {
   auto res = isl_space_can_uncurry(get());
   return manage(res);
 }
 
-isl::boolean space::can_zip() const
+boolean space::can_zip() const
 {
   auto res = isl_space_can_zip(get());
   return manage(res);
 }
 
-isl::space space::curry() const
+space space::curry() const
 {
   auto res = isl_space_curry(copy());
   return manage(res);
@@ -15653,61 +15653,61 @@ unsigned int space::dim(isl::dim type) c
   return res;
 }
 
-isl::space space::domain() const
+space space::domain() const
 {
   auto res = isl_space_domain(copy());
   return manage(res);
 }
 
-isl::space space::domain_factor_domain() const
+space space::domain_factor_domain() const
 {
   auto res = isl_space_domain_factor_domain(copy());
   return manage(res);
 }
 
-isl::space space::domain_factor_range() const
+space space::domain_factor_range() const
 {
   auto res = isl_space_domain_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean space::domain_is_wrapping() const
+boolean space::domain_is_wrapping() const
 {
   auto res = isl_space_domain_is_wrapping(get());
   return manage(res);
 }
 
-isl::space space::domain_map() const
+space space::domain_map() const
 {
   auto res = isl_space_domain_map(copy());
   return manage(res);
 }
 
-isl::space space::domain_product(isl::space right) const
+space space::domain_product(space right) const
 {
   auto res = isl_space_domain_product(copy(), right.release());
   return manage(res);
 }
 
-isl::space space::drop_dims(isl::dim type, unsigned int first, unsigned int num) const
+space space::drop_dims(isl::dim type, unsigned int first, unsigned int num) const
 {
   auto res = isl_space_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, num);
   return manage(res);
 }
 
-isl::space space::factor_domain() const
+space space::factor_domain() const
 {
   auto res = isl_space_factor_domain(copy());
   return manage(res);
 }
 
-isl::space space::factor_range() const
+space space::factor_range() const
 {
   auto res = isl_space_factor_range(copy());
   return manage(res);
 }
 
-int space::find_dim_by_id(isl::dim type, const isl::id &id) const
+int space::find_dim_by_id(isl::dim type, const id &id) const
 {
   auto res = isl_space_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get());
   return res;
@@ -15719,31 +15719,31 @@ int space::find_dim_by_name(isl::dim typ
   return res;
 }
 
-isl::space space::flatten_domain() const
+space space::flatten_domain() const
 {
   auto res = isl_space_flatten_domain(copy());
   return manage(res);
 }
 
-isl::space space::flatten_range() const
+space space::flatten_range() const
 {
   auto res = isl_space_flatten_range(copy());
   return manage(res);
 }
 
-isl::space space::from_domain() const
+space space::from_domain() const
 {
   auto res = isl_space_from_domain(copy());
   return manage(res);
 }
 
-isl::space space::from_range() const
+space space::from_range() const
 {
   auto res = isl_space_from_range(copy());
   return manage(res);
 }
 
-isl::id space::get_dim_id(isl::dim type, unsigned int pos) const
+id space::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_space_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -15756,7 +15756,7 @@ std::string space::get_dim_name(isl::dim
   return tmp;
 }
 
-isl::id space::get_tuple_id(isl::dim type) const
+id space::get_tuple_id(isl::dim type) const
 {
   auto res = isl_space_get_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
@@ -15769,257 +15769,257 @@ std::string space::get_tuple_name(isl::d
   return tmp;
 }
 
-isl::boolean space::has_dim_id(isl::dim type, unsigned int pos) const
+boolean space::has_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_space_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean space::has_dim_name(isl::dim type, unsigned int pos) const
+boolean space::has_dim_name(isl::dim type, unsigned int pos) const
 {
   auto res = isl_space_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
 }
 
-isl::boolean space::has_equal_params(const isl::space &space2) const
+boolean space::has_equal_params(const space &space2) const
 {
   auto res = isl_space_has_equal_params(get(), space2.get());
   return manage(res);
 }
 
-isl::boolean space::has_equal_tuples(const isl::space &space2) const
+boolean space::has_equal_tuples(const space &space2) const
 {
   auto res = isl_space_has_equal_tuples(get(), space2.get());
   return manage(res);
 }
 
-isl::boolean space::has_tuple_id(isl::dim type) const
+boolean space::has_tuple_id(isl::dim type) const
 {
   auto res = isl_space_has_tuple_id(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::boolean space::has_tuple_name(isl::dim type) const
+boolean space::has_tuple_name(isl::dim type) const
 {
   auto res = isl_space_has_tuple_name(get(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::space space::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
+space space::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const
 {
   auto res = isl_space_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n);
   return manage(res);
 }
 
-isl::boolean space::is_domain(const isl::space &space2) const
+boolean space::is_domain(const space &space2) const
 {
   auto res = isl_space_is_domain(get(), space2.get());
   return manage(res);
 }
 
-isl::boolean space::is_equal(const isl::space &space2) const
+boolean space::is_equal(const space &space2) const
 {
   auto res = isl_space_is_equal(get(), space2.get());
   return manage(res);
 }
 
-isl::boolean space::is_map() const
+boolean space::is_map() const
 {
   auto res = isl_space_is_map(get());
   return manage(res);
 }
 
-isl::boolean space::is_params() const
+boolean space::is_params() const
 {
   auto res = isl_space_is_params(get());
   return manage(res);
 }
 
-isl::boolean space::is_product() const
+boolean space::is_product() const
 {
   auto res = isl_space_is_product(get());
   return manage(res);
 }
 
-isl::boolean space::is_range(const isl::space &space2) const
+boolean space::is_range(const space &space2) const
 {
   auto res = isl_space_is_range(get(), space2.get());
   return manage(res);
 }
 
-isl::boolean space::is_set() const
+boolean space::is_set() const
 {
   auto res = isl_space_is_set(get());
   return manage(res);
 }
 
-isl::boolean space::is_wrapping() const
+boolean space::is_wrapping() const
 {
   auto res = isl_space_is_wrapping(get());
   return manage(res);
 }
 
-isl::space space::join(isl::space right) const
+space space::join(space right) const
 {
   auto res = isl_space_join(copy(), right.release());
   return manage(res);
 }
 
-isl::space space::map_from_domain_and_range(isl::space range) const
+space space::map_from_domain_and_range(space range) const
 {
   auto res = isl_space_map_from_domain_and_range(copy(), range.release());
   return manage(res);
 }
 
-isl::space space::map_from_set() const
+space space::map_from_set() const
 {
   auto res = isl_space_map_from_set(copy());
   return manage(res);
 }
 
-isl::space space::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
+space space::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const
 {
   auto res = isl_space_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n);
   return manage(res);
 }
 
-isl::space space::params() const
+space space::params() const
 {
   auto res = isl_space_params(copy());
   return manage(res);
 }
 
-isl::space space::params_alloc(isl::ctx ctx, unsigned int nparam)
+space space::params_alloc(ctx ctx, unsigned int nparam)
 {
   auto res = isl_space_params_alloc(ctx.release(), nparam);
   return manage(res);
 }
 
-isl::space space::product(isl::space right) const
+space space::product(space right) const
 {
   auto res = isl_space_product(copy(), right.release());
   return manage(res);
 }
 
-isl::space space::range() const
+space space::range() const
 {
   auto res = isl_space_range(copy());
   return manage(res);
 }
 
-isl::space space::range_curry() const
+space space::range_curry() const
 {
   auto res = isl_space_range_curry(copy());
   return manage(res);
 }
 
-isl::space space::range_factor_domain() const
+space space::range_factor_domain() const
 {
   auto res = isl_space_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::space space::range_factor_range() const
+space space::range_factor_range() const
 {
   auto res = isl_space_range_factor_range(copy());
   return manage(res);
 }
 
-isl::boolean space::range_is_wrapping() const
+boolean space::range_is_wrapping() const
 {
   auto res = isl_space_range_is_wrapping(get());
   return manage(res);
 }
 
-isl::space space::range_map() const
+space space::range_map() const
 {
   auto res = isl_space_range_map(copy());
   return manage(res);
 }
 
-isl::space space::range_product(isl::space right) const
+space space::range_product(space right) const
 {
   auto res = isl_space_range_product(copy(), right.release());
   return manage(res);
 }
 
-isl::space space::reset_tuple_id(isl::dim type) const
+space space::reset_tuple_id(isl::dim type) const
 {
   auto res = isl_space_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type));
   return manage(res);
 }
 
-isl::space space::reset_user() const
+space space::reset_user() const
 {
   auto res = isl_space_reset_user(copy());
   return manage(res);
 }
 
-isl::space space::reverse() const
+space space::reverse() const
 {
   auto res = isl_space_reverse(copy());
   return manage(res);
 }
 
-isl::space space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const
+space space::set_dim_id(isl::dim type, unsigned int pos, id id) const
 {
   auto res = isl_space_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release());
   return manage(res);
 }
 
-isl::space space::set_from_params() const
+space space::set_from_params() const
 {
   auto res = isl_space_set_from_params(copy());
   return manage(res);
 }
 
-isl::space space::set_tuple_id(isl::dim type, isl::id id) const
+space space::set_tuple_id(isl::dim type, id id) const
 {
   auto res = isl_space_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release());
   return manage(res);
 }
 
-isl::space space::set_tuple_name(isl::dim type, const std::string &s) const
+space space::set_tuple_name(isl::dim type, const std::string &s) const
 {
   auto res = isl_space_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str());
   return manage(res);
 }
 
-isl::boolean space::tuple_is_equal(isl::dim type1, const isl::space &space2, isl::dim type2) const
+boolean space::tuple_is_equal(isl::dim type1, const space &space2, isl::dim type2) const
 {
   auto res = isl_space_tuple_is_equal(get(), static_cast<enum isl_dim_type>(type1), space2.get(), static_cast<enum isl_dim_type>(type2));
   return manage(res);
 }
 
-isl::space space::uncurry() const
+space space::uncurry() const
 {
   auto res = isl_space_uncurry(copy());
   return manage(res);
 }
 
-isl::space space::unwrap() const
+space space::unwrap() const
 {
   auto res = isl_space_unwrap(copy());
   return manage(res);
 }
 
-isl::space space::wrap() const
+space space::wrap() const
 {
   auto res = isl_space_wrap(copy());
   return manage(res);
 }
 
-isl::space space::zip() const
+space space::zip() const
 {
   auto res = isl_space_zip(copy());
   return manage(res);
 }
 
 // implementations for isl::term
-isl::term manage(__isl_take isl_term *ptr) {
+term manage(__isl_take isl_term *ptr) {
   return term(ptr);
 }
-isl::term manage_copy(__isl_keep isl_term *ptr) {
+term manage_copy(__isl_keep isl_term *ptr) {
   ptr = isl_term_copy(ptr);
   return term(ptr);
 }
@@ -16027,7 +16027,7 @@ isl::term manage_copy(__isl_keep isl_ter
 term::term()
     : ptr(nullptr) {}
 
-term::term(const isl::term &obj)
+term::term(const term &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -16040,7 +16040,7 @@ term::term(__isl_take isl_term *ptr)
     : ptr(ptr) {}
 
 
-term &term::operator=(isl::term obj) {
+term &term::operator=(term obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -16072,8 +16072,8 @@ term::operator bool() const {
 }
 
 
-isl::ctx term::get_ctx() const {
-  return isl::ctx(isl_term_get_ctx(ptr));
+ctx term::get_ctx() const {
+  return ctx(isl_term_get_ctx(ptr));
 }
 
 
@@ -16083,13 +16083,13 @@ unsigned int term::dim(isl::dim type) co
   return res;
 }
 
-isl::val term::get_coefficient_val() const
+val term::get_coefficient_val() const
 {
   auto res = isl_term_get_coefficient_val(get());
   return manage(res);
 }
 
-isl::aff term::get_div(unsigned int pos) const
+aff term::get_div(unsigned int pos) const
 {
   auto res = isl_term_get_div(get(), pos);
   return manage(res);
@@ -16102,10 +16102,10 @@ int term::get_exp(isl::dim type, unsigne
 }
 
 // implementations for isl::union_access_info
-isl::union_access_info manage(__isl_take isl_union_access_info *ptr) {
+union_access_info manage(__isl_take isl_union_access_info *ptr) {
   return union_access_info(ptr);
 }
-isl::union_access_info manage_copy(__isl_keep isl_union_access_info *ptr) {
+union_access_info manage_copy(__isl_keep isl_union_access_info *ptr) {
   ptr = isl_union_access_info_copy(ptr);
   return union_access_info(ptr);
 }
@@ -16113,7 +16113,7 @@ isl::union_access_info manage_copy(__isl
 union_access_info::union_access_info()
     : ptr(nullptr) {}
 
-union_access_info::union_access_info(const isl::union_access_info &obj)
+union_access_info::union_access_info(const union_access_info &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -16125,13 +16125,13 @@ union_access_info::union_access_info(std
 union_access_info::union_access_info(__isl_take isl_union_access_info *ptr)
     : ptr(ptr) {}
 
-union_access_info::union_access_info(isl::union_map sink)
+union_access_info::union_access_info(union_map sink)
 {
   auto res = isl_union_access_info_from_sink(sink.release());
   ptr = res;
 }
 
-union_access_info &union_access_info::operator=(isl::union_access_info obj) {
+union_access_info &union_access_info::operator=(union_access_info obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -16163,8 +16163,8 @@ union_access_info::operator bool() const
 }
 
 
-isl::ctx union_access_info::get_ctx() const {
-  return isl::ctx(isl_union_access_info_get_ctx(ptr));
+ctx union_access_info::get_ctx() const {
+  return ctx(isl_union_access_info_get_ctx(ptr));
 }
 std::string union_access_info::to_str() const {
   char *Tmp = isl_union_access_info_to_str(get());
@@ -16177,47 +16177,47 @@ std::string union_access_info::to_str()
 
 
 
-isl::union_flow union_access_info::compute_flow() const
+union_flow union_access_info::compute_flow() const
 {
   auto res = isl_union_access_info_compute_flow(copy());
   return manage(res);
 }
 
-isl::union_access_info union_access_info::set_kill(isl::union_map kill) const
+union_access_info union_access_info::set_kill(union_map kill) const
 {
   auto res = isl_union_access_info_set_kill(copy(), kill.release());
   return manage(res);
 }
 
-isl::union_access_info union_access_info::set_may_source(isl::union_map may_source) const
+union_access_info union_access_info::set_may_source(union_map may_source) const
 {
   auto res = isl_union_access_info_set_may_source(copy(), may_source.release());
   return manage(res);
 }
 
-isl::union_access_info union_access_info::set_must_source(isl::union_map must_source) const
+union_access_info union_access_info::set_must_source(union_map must_source) const
 {
   auto res = isl_union_access_info_set_must_source(copy(), must_source.release());
   return manage(res);
 }
 
-isl::union_access_info union_access_info::set_schedule(isl::schedule schedule) const
+union_access_info union_access_info::set_schedule(schedule schedule) const
 {
   auto res = isl_union_access_info_set_schedule(copy(), schedule.release());
   return manage(res);
 }
 
-isl::union_access_info union_access_info::set_schedule_map(isl::union_map schedule_map) const
+union_access_info union_access_info::set_schedule_map(union_map schedule_map) const
 {
   auto res = isl_union_access_info_set_schedule_map(copy(), schedule_map.release());
   return manage(res);
 }
 
 // implementations for isl::union_flow
-isl::union_flow manage(__isl_take isl_union_flow *ptr) {
+union_flow manage(__isl_take isl_union_flow *ptr) {
   return union_flow(ptr);
 }
-isl::union_flow manage_copy(__isl_keep isl_union_flow *ptr) {
+union_flow manage_copy(__isl_keep isl_union_flow *ptr) {
   ptr = isl_union_flow_copy(ptr);
   return union_flow(ptr);
 }
@@ -16225,7 +16225,7 @@ isl::union_flow manage_copy(__isl_keep i
 union_flow::union_flow()
     : ptr(nullptr) {}
 
-union_flow::union_flow(const isl::union_flow &obj)
+union_flow::union_flow(const union_flow &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -16238,7 +16238,7 @@ union_flow::union_flow(__isl_take isl_un
     : ptr(ptr) {}
 
 
-union_flow &union_flow::operator=(isl::union_flow obj) {
+union_flow &union_flow::operator=(union_flow obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -16270,8 +16270,8 @@ union_flow::operator bool() const {
 }
 
 
-isl::ctx union_flow::get_ctx() const {
-  return isl::ctx(isl_union_flow_get_ctx(ptr));
+ctx union_flow::get_ctx() const {
+  return ctx(isl_union_flow_get_ctx(ptr));
 }
 std::string union_flow::to_str() const {
   char *Tmp = isl_union_flow_to_str(get());
@@ -16284,47 +16284,47 @@ std::string union_flow::to_str() const {
 
 
 
-isl::union_map union_flow::get_full_may_dependence() const
+union_map union_flow::get_full_may_dependence() const
 {
   auto res = isl_union_flow_get_full_may_dependence(get());
   return manage(res);
 }
 
-isl::union_map union_flow::get_full_must_dependence() const
+union_map union_flow::get_full_must_dependence() const
 {
   auto res = isl_union_flow_get_full_must_dependence(get());
   return manage(res);
 }
 
-isl::union_map union_flow::get_may_dependence() const
+union_map union_flow::get_may_dependence() const
 {
   auto res = isl_union_flow_get_may_dependence(get());
   return manage(res);
 }
 
-isl::union_map union_flow::get_may_no_source() const
+union_map union_flow::get_may_no_source() const
 {
   auto res = isl_union_flow_get_may_no_source(get());
   return manage(res);
 }
 
-isl::union_map union_flow::get_must_dependence() const
+union_map union_flow::get_must_dependence() const
 {
   auto res = isl_union_flow_get_must_dependence(get());
   return manage(res);
 }
 
-isl::union_map union_flow::get_must_no_source() const
+union_map union_flow::get_must_no_source() const
 {
   auto res = isl_union_flow_get_must_no_source(get());
   return manage(res);
 }
 
 // implementations for isl::union_map
-isl::union_map manage(__isl_take isl_union_map *ptr) {
+union_map manage(__isl_take isl_union_map *ptr) {
   return union_map(ptr);
 }
-isl::union_map manage_copy(__isl_keep isl_union_map *ptr) {
+union_map manage_copy(__isl_keep isl_union_map *ptr) {
   ptr = isl_union_map_copy(ptr);
   return union_map(ptr);
 }
@@ -16332,7 +16332,7 @@ isl::union_map manage_copy(__isl_keep is
 union_map::union_map()
     : ptr(nullptr) {}
 
-union_map::union_map(const isl::union_map &obj)
+union_map::union_map(const union_map &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -16344,28 +16344,28 @@ union_map::union_map(std::nullptr_t)
 union_map::union_map(__isl_take isl_union_map *ptr)
     : ptr(ptr) {}
 
-union_map::union_map(isl::union_pw_multi_aff upma)
+union_map::union_map(union_pw_multi_aff upma)
 {
   auto res = isl_union_map_from_union_pw_multi_aff(upma.release());
   ptr = res;
 }
-union_map::union_map(isl::basic_map bmap)
+union_map::union_map(basic_map bmap)
 {
   auto res = isl_union_map_from_basic_map(bmap.release());
   ptr = res;
 }
-union_map::union_map(isl::map map)
+union_map::union_map(map map)
 {
   auto res = isl_union_map_from_map(map.release());
   ptr = res;
 }
-union_map::union_map(isl::ctx ctx, const std::string &str)
+union_map::union_map(ctx ctx, const std::string &str)
 {
   auto res = isl_union_map_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-union_map &union_map::operator=(isl::union_map obj) {
+union_map &union_map::operator=(union_map obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -16397,8 +16397,8 @@ union_map::operator bool() const {
 }
 
 
-isl::ctx union_map::get_ctx() const {
-  return isl::ctx(isl_union_map_get_ctx(ptr));
+ctx union_map::get_ctx() const {
+  return ctx(isl_union_map_get_ctx(ptr));
 }
 std::string union_map::to_str() const {
   char *Tmp = isl_union_map_to_str(get());
@@ -16415,67 +16415,67 @@ void union_map::dump() const {
 }
 
 
-isl::union_map union_map::add_map(isl::map map) const
+union_map union_map::add_map(map map) const
 {
   auto res = isl_union_map_add_map(copy(), map.release());
   return manage(res);
 }
 
-isl::union_map union_map::affine_hull() const
+union_map union_map::affine_hull() const
 {
   auto res = isl_union_map_affine_hull(copy());
   return manage(res);
 }
 
-isl::union_map union_map::align_params(isl::space model) const
+union_map union_map::align_params(space model) const
 {
   auto res = isl_union_map_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_map union_map::apply_domain(isl::union_map umap2) const
+union_map union_map::apply_domain(union_map umap2) const
 {
   auto res = isl_union_map_apply_domain(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::apply_range(isl::union_map umap2) const
+union_map union_map::apply_range(union_map umap2) const
 {
   auto res = isl_union_map_apply_range(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::coalesce() const
+union_map union_map::coalesce() const
 {
   auto res = isl_union_map_coalesce(copy());
   return manage(res);
 }
 
-isl::boolean union_map::contains(const isl::space &space) const
+boolean union_map::contains(const space &space) const
 {
   auto res = isl_union_map_contains(get(), space.get());
   return manage(res);
 }
 
-isl::union_map union_map::curry() const
+union_map union_map::curry() const
 {
   auto res = isl_union_map_curry(copy());
   return manage(res);
 }
 
-isl::union_set union_map::deltas() const
+union_set union_map::deltas() const
 {
   auto res = isl_union_map_deltas(copy());
   return manage(res);
 }
 
-isl::union_map union_map::deltas_map() const
+union_map union_map::deltas_map() const
 {
   auto res = isl_union_map_deltas_map(copy());
   return manage(res);
 }
 
-isl::union_map union_map::detect_equalities() const
+union_map union_map::detect_equalities() const
 {
   auto res = isl_union_map_detect_equalities(copy());
   return manage(res);
@@ -16487,67 +16487,67 @@ unsigned int union_map::dim(isl::dim typ
   return res;
 }
 
-isl::union_set union_map::domain() const
+union_set union_map::domain() const
 {
   auto res = isl_union_map_domain(copy());
   return manage(res);
 }
 
-isl::union_map union_map::domain_factor_domain() const
+union_map union_map::domain_factor_domain() const
 {
   auto res = isl_union_map_domain_factor_domain(copy());
   return manage(res);
 }
 
-isl::union_map union_map::domain_factor_range() const
+union_map union_map::domain_factor_range() const
 {
   auto res = isl_union_map_domain_factor_range(copy());
   return manage(res);
 }
 
-isl::union_map union_map::domain_map() const
+union_map union_map::domain_map() const
 {
   auto res = isl_union_map_domain_map(copy());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_map::domain_map_union_pw_multi_aff() const
+union_pw_multi_aff union_map::domain_map_union_pw_multi_aff() const
 {
   auto res = isl_union_map_domain_map_union_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::union_map union_map::domain_product(isl::union_map umap2) const
+union_map union_map::domain_product(union_map umap2) const
 {
   auto res = isl_union_map_domain_product(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::empty(isl::space space)
+union_map union_map::empty(space space)
 {
   auto res = isl_union_map_empty(space.release());
   return manage(res);
 }
 
-isl::union_map union_map::eq_at(isl::multi_union_pw_aff mupa) const
+union_map union_map::eq_at(multi_union_pw_aff mupa) const
 {
   auto res = isl_union_map_eq_at_multi_union_pw_aff(copy(), mupa.release());
   return manage(res);
 }
 
-isl::map union_map::extract_map(isl::space dim) const
+map union_map::extract_map(space dim) const
 {
   auto res = isl_union_map_extract_map(get(), dim.release());
   return manage(res);
 }
 
-isl::union_map union_map::factor_domain() const
+union_map union_map::factor_domain() const
 {
   auto res = isl_union_map_factor_domain(copy());
   return manage(res);
 }
 
-isl::union_map union_map::factor_range() const
+union_map union_map::factor_range() const
 {
   auto res = isl_union_map_factor_range(copy());
   return manage(res);
@@ -16559,69 +16559,69 @@ int union_map::find_dim_by_name(isl::dim
   return res;
 }
 
-isl::union_map union_map::fixed_power(isl::val exp) const
+union_map union_map::fixed_power(val exp) const
 {
   auto res = isl_union_map_fixed_power_val(copy(), exp.release());
   return manage(res);
 }
 
-isl::union_map union_map::flat_domain_product(isl::union_map umap2) const
+union_map union_map::flat_domain_product(union_map umap2) const
 {
   auto res = isl_union_map_flat_domain_product(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::flat_range_product(isl::union_map umap2) const
+union_map union_map::flat_range_product(union_map umap2) const
 {
   auto res = isl_union_map_flat_range_product(copy(), umap2.release());
   return manage(res);
 }
 
-isl::stat union_map::foreach_map(const std::function<isl::stat(isl::map)> &fn) const
+stat union_map::foreach_map(const std::function<stat(map)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::map)> *func;
+    const std::function<stat(map)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_map *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_map_foreach_map(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_map union_map::from(isl::multi_union_pw_aff mupa)
+union_map union_map::from(multi_union_pw_aff mupa)
 {
   auto res = isl_union_map_from_multi_union_pw_aff(mupa.release());
   return manage(res);
 }
 
-isl::union_map union_map::from_domain(isl::union_set uset)
+union_map union_map::from_domain(union_set uset)
 {
   auto res = isl_union_map_from_domain(uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::from_domain_and_range(isl::union_set domain, isl::union_set range)
+union_map union_map::from_domain_and_range(union_set domain, union_set range)
 {
   auto res = isl_union_map_from_domain_and_range(domain.release(), range.release());
   return manage(res);
 }
 
-isl::union_map union_map::from_range(isl::union_set uset)
+union_map union_map::from_range(union_set uset)
 {
   auto res = isl_union_map_from_range(uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::from_union_pw_aff(isl::union_pw_aff upa)
+union_map union_map::from_union_pw_aff(union_pw_aff upa)
 {
   auto res = isl_union_map_from_union_pw_aff(upa.release());
   return manage(res);
 }
 
-isl::id union_map::get_dim_id(isl::dim type, unsigned int pos) const
+id union_map::get_dim_id(isl::dim type, unsigned int pos) const
 {
   auto res = isl_union_map_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos);
   return manage(res);
@@ -16633,175 +16633,175 @@ uint32_t union_map::get_hash() const
   return res;
 }
 
-isl::map_list union_map::get_map_list() const
+map_list union_map::get_map_list() const
 {
   auto res = isl_union_map_get_map_list(get());
   return manage(res);
 }
 
-isl::space union_map::get_space() const
+space union_map::get_space() const
 {
   auto res = isl_union_map_get_space(get());
   return manage(res);
 }
 
-isl::union_map union_map::gist(isl::union_map context) const
+union_map union_map::gist(union_map context) const
 {
   auto res = isl_union_map_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::union_map union_map::gist_domain(isl::union_set uset) const
+union_map union_map::gist_domain(union_set uset) const
 {
   auto res = isl_union_map_gist_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::gist_params(isl::set set) const
+union_map union_map::gist_params(set set) const
 {
   auto res = isl_union_map_gist_params(copy(), set.release());
   return manage(res);
 }
 
-isl::union_map union_map::gist_range(isl::union_set uset) const
+union_map union_map::gist_range(union_set uset) const
 {
   auto res = isl_union_map_gist_range(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::intersect(isl::union_map umap2) const
+union_map union_map::intersect(union_map umap2) const
 {
   auto res = isl_union_map_intersect(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::intersect_domain(isl::union_set uset) const
+union_map union_map::intersect_domain(union_set uset) const
 {
   auto res = isl_union_map_intersect_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::intersect_params(isl::set set) const
+union_map union_map::intersect_params(set set) const
 {
   auto res = isl_union_map_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::union_map union_map::intersect_range(isl::union_set uset) const
+union_map union_map::intersect_range(union_set uset) const
 {
   auto res = isl_union_map_intersect_range(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_map union_map::intersect_range_factor_range(isl::union_map factor) const
+union_map union_map::intersect_range_factor_range(union_map factor) const
 {
   auto res = isl_union_map_intersect_range_factor_range(copy(), factor.release());
   return manage(res);
 }
 
-isl::boolean union_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
+boolean union_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::boolean union_map::is_bijective() const
+boolean union_map::is_bijective() const
 {
   auto res = isl_union_map_is_bijective(get());
   return manage(res);
 }
 
-isl::boolean union_map::is_disjoint(const isl::union_map &umap2) const
+boolean union_map::is_disjoint(const union_map &umap2) const
 {
   auto res = isl_union_map_is_disjoint(get(), umap2.get());
   return manage(res);
 }
 
-isl::boolean union_map::is_empty() const
+boolean union_map::is_empty() const
 {
   auto res = isl_union_map_is_empty(get());
   return manage(res);
 }
 
-isl::boolean union_map::is_equal(const isl::union_map &umap2) const
+boolean union_map::is_equal(const union_map &umap2) const
 {
   auto res = isl_union_map_is_equal(get(), umap2.get());
   return manage(res);
 }
 
-isl::boolean union_map::is_identity() const
+boolean union_map::is_identity() const
 {
   auto res = isl_union_map_is_identity(get());
   return manage(res);
 }
 
-isl::boolean union_map::is_injective() const
+boolean union_map::is_injective() const
 {
   auto res = isl_union_map_is_injective(get());
   return manage(res);
 }
 
-isl::boolean union_map::is_single_valued() const
+boolean union_map::is_single_valued() const
 {
   auto res = isl_union_map_is_single_valued(get());
   return manage(res);
 }
 
-isl::boolean union_map::is_strict_subset(const isl::union_map &umap2) const
+boolean union_map::is_strict_subset(const union_map &umap2) const
 {
   auto res = isl_union_map_is_strict_subset(get(), umap2.get());
   return manage(res);
 }
 
-isl::boolean union_map::is_subset(const isl::union_map &umap2) const
+boolean union_map::is_subset(const union_map &umap2) const
 {
   auto res = isl_union_map_is_subset(get(), umap2.get());
   return manage(res);
 }
 
-isl::union_map union_map::lex_ge_union_map(isl::union_map umap2) const
+union_map union_map::lex_ge_union_map(union_map umap2) const
 {
   auto res = isl_union_map_lex_ge_union_map(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::lex_gt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const
+union_map union_map::lex_gt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
 {
   auto res = isl_union_map_lex_gt_at_multi_union_pw_aff(copy(), mupa.release());
   return manage(res);
 }
 
-isl::union_map union_map::lex_gt_union_map(isl::union_map umap2) const
+union_map union_map::lex_gt_union_map(union_map umap2) const
 {
   auto res = isl_union_map_lex_gt_union_map(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::lex_le_union_map(isl::union_map umap2) const
+union_map union_map::lex_le_union_map(union_map umap2) const
 {
   auto res = isl_union_map_lex_le_union_map(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::lex_lt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const
+union_map union_map::lex_lt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
 {
   auto res = isl_union_map_lex_lt_at_multi_union_pw_aff(copy(), mupa.release());
   return manage(res);
 }
 
-isl::union_map union_map::lex_lt_union_map(isl::union_map umap2) const
+union_map union_map::lex_lt_union_map(union_map umap2) const
 {
   auto res = isl_union_map_lex_lt_union_map(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::lexmax() const
+union_map union_map::lexmax() const
 {
   auto res = isl_union_map_lexmax(copy());
   return manage(res);
 }
 
-isl::union_map union_map::lexmin() const
+union_map union_map::lexmin() const
 {
   auto res = isl_union_map_lexmin(copy());
   return manage(res);
@@ -16813,215 +16813,215 @@ int union_map::n_map() const
   return res;
 }
 
-isl::set union_map::params() const
+set union_map::params() const
 {
   auto res = isl_union_map_params(copy());
   return manage(res);
 }
 
-isl::boolean union_map::plain_is_empty() const
+boolean union_map::plain_is_empty() const
 {
   auto res = isl_union_map_plain_is_empty(get());
   return manage(res);
 }
 
-isl::boolean union_map::plain_is_injective() const
+boolean union_map::plain_is_injective() const
 {
   auto res = isl_union_map_plain_is_injective(get());
   return manage(res);
 }
 
-isl::union_map union_map::polyhedral_hull() const
+union_map union_map::polyhedral_hull() const
 {
   auto res = isl_union_map_polyhedral_hull(copy());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_domain_multi_aff(isl::multi_aff ma) const
+union_map union_map::preimage_domain_multi_aff(multi_aff ma) const
 {
   auto res = isl_union_map_preimage_domain_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const
+union_map union_map::preimage_domain_multi_pw_aff(multi_pw_aff mpa) const
 {
   auto res = isl_union_map_preimage_domain_multi_pw_aff(copy(), mpa.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const
+union_map union_map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_union_map_preimage_domain_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_domain_union_pw_multi_aff(isl::union_pw_multi_aff upma) const
+union_map union_map::preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const
 {
   auto res = isl_union_map_preimage_domain_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_range_multi_aff(isl::multi_aff ma) const
+union_map union_map::preimage_range_multi_aff(multi_aff ma) const
 {
   auto res = isl_union_map_preimage_range_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const
+union_map union_map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_union_map_preimage_range_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::union_map union_map::preimage_range_union_pw_multi_aff(isl::union_pw_multi_aff upma) const
+union_map union_map::preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const
 {
   auto res = isl_union_map_preimage_range_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::union_map union_map::product(isl::union_map umap2) const
+union_map union_map::product(union_map umap2) const
 {
   auto res = isl_union_map_product(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::project_out(isl::dim type, unsigned int first, unsigned int n) const
+union_map union_map::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::union_map union_map::project_out_all_params() const
+union_map union_map::project_out_all_params() const
 {
   auto res = isl_union_map_project_out_all_params(copy());
   return manage(res);
 }
 
-isl::union_set union_map::range() const
+union_set union_map::range() const
 {
   auto res = isl_union_map_range(copy());
   return manage(res);
 }
 
-isl::union_map union_map::range_curry() const
+union_map union_map::range_curry() const
 {
   auto res = isl_union_map_range_curry(copy());
   return manage(res);
 }
 
-isl::union_map union_map::range_factor_domain() const
+union_map union_map::range_factor_domain() const
 {
   auto res = isl_union_map_range_factor_domain(copy());
   return manage(res);
 }
 
-isl::union_map union_map::range_factor_range() const
+union_map union_map::range_factor_range() const
 {
   auto res = isl_union_map_range_factor_range(copy());
   return manage(res);
 }
 
-isl::union_map union_map::range_map() const
+union_map union_map::range_map() const
 {
   auto res = isl_union_map_range_map(copy());
   return manage(res);
 }
 
-isl::union_map union_map::range_product(isl::union_map umap2) const
+union_map union_map::range_product(union_map umap2) const
 {
   auto res = isl_union_map_range_product(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::remove_divs() const
+union_map union_map::remove_divs() const
 {
   auto res = isl_union_map_remove_divs(copy());
   return manage(res);
 }
 
-isl::union_map union_map::remove_redundancies() const
+union_map union_map::remove_redundancies() const
 {
   auto res = isl_union_map_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::union_map union_map::reset_user() const
+union_map union_map::reset_user() const
 {
   auto res = isl_union_map_reset_user(copy());
   return manage(res);
 }
 
-isl::union_map union_map::reverse() const
+union_map union_map::reverse() const
 {
   auto res = isl_union_map_reverse(copy());
   return manage(res);
 }
 
-isl::basic_map union_map::sample() const
+basic_map union_map::sample() const
 {
   auto res = isl_union_map_sample(copy());
   return manage(res);
 }
 
-isl::union_map union_map::simple_hull() const
+union_map union_map::simple_hull() const
 {
   auto res = isl_union_map_simple_hull(copy());
   return manage(res);
 }
 
-isl::union_map union_map::subtract(isl::union_map umap2) const
+union_map union_map::subtract(union_map umap2) const
 {
   auto res = isl_union_map_subtract(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::subtract_domain(isl::union_set dom) const
+union_map union_map::subtract_domain(union_set dom) const
 {
   auto res = isl_union_map_subtract_domain(copy(), dom.release());
   return manage(res);
 }
 
-isl::union_map union_map::subtract_range(isl::union_set dom) const
+union_map union_map::subtract_range(union_set dom) const
 {
   auto res = isl_union_map_subtract_range(copy(), dom.release());
   return manage(res);
 }
 
-isl::union_map union_map::uncurry() const
+union_map union_map::uncurry() const
 {
   auto res = isl_union_map_uncurry(copy());
   return manage(res);
 }
 
-isl::union_map union_map::unite(isl::union_map umap2) const
+union_map union_map::unite(union_map umap2) const
 {
   auto res = isl_union_map_union(copy(), umap2.release());
   return manage(res);
 }
 
-isl::union_map union_map::universe() const
+union_map union_map::universe() const
 {
   auto res = isl_union_map_universe(copy());
   return manage(res);
 }
 
-isl::union_set union_map::wrap() const
+union_set union_map::wrap() const
 {
   auto res = isl_union_map_wrap(copy());
   return manage(res);
 }
 
-isl::union_map union_map::zip() const
+union_map union_map::zip() const
 {
   auto res = isl_union_map_zip(copy());
   return manage(res);
 }
 
 // implementations for isl::union_map_list
-isl::union_map_list manage(__isl_take isl_union_map_list *ptr) {
+union_map_list manage(__isl_take isl_union_map_list *ptr) {
   return union_map_list(ptr);
 }
-isl::union_map_list manage_copy(__isl_keep isl_union_map_list *ptr) {
+union_map_list manage_copy(__isl_keep isl_union_map_list *ptr) {
   ptr = isl_union_map_list_copy(ptr);
   return union_map_list(ptr);
 }
@@ -17029,7 +17029,7 @@ isl::union_map_list manage_copy(__isl_ke
 union_map_list::union_map_list()
     : ptr(nullptr) {}
 
-union_map_list::union_map_list(const isl::union_map_list &obj)
+union_map_list::union_map_list(const union_map_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -17042,7 +17042,7 @@ union_map_list::union_map_list(__isl_tak
     : ptr(ptr) {}
 
 
-union_map_list &union_map_list::operator=(isl::union_map_list obj) {
+union_map_list &union_map_list::operator=(union_map_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -17074,8 +17074,8 @@ union_map_list::operator bool() const {
 }
 
 
-isl::ctx union_map_list::get_ctx() const {
-  return isl::ctx(isl_union_map_list_get_ctx(ptr));
+ctx union_map_list::get_ctx() const {
+  return ctx(isl_union_map_list_get_ctx(ptr));
 }
 
 void union_map_list::dump() const {
@@ -17083,63 +17083,63 @@ void union_map_list::dump() const {
 }
 
 
-isl::union_map_list union_map_list::add(isl::union_map el) const
+union_map_list union_map_list::add(union_map el) const
 {
   auto res = isl_union_map_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::union_map_list union_map_list::alloc(isl::ctx ctx, int n)
+union_map_list union_map_list::alloc(ctx ctx, int n)
 {
   auto res = isl_union_map_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::union_map_list union_map_list::concat(isl::union_map_list list2) const
+union_map_list union_map_list::concat(union_map_list list2) const
 {
   auto res = isl_union_map_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::union_map_list union_map_list::drop(unsigned int first, unsigned int n) const
+union_map_list union_map_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_union_map_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat union_map_list::foreach(const std::function<isl::stat(isl::union_map)> &fn) const
+stat union_map_list::foreach(const std::function<stat(union_map)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::union_map)> *func;
+    const std::function<stat(union_map)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_union_map *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_map_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_map_list union_map_list::from_union_map(isl::union_map el)
+union_map_list union_map_list::from_union_map(union_map el)
 {
   auto res = isl_union_map_list_from_union_map(el.release());
   return manage(res);
 }
 
-isl::union_map union_map_list::get_at(int index) const
+union_map union_map_list::get_at(int index) const
 {
   auto res = isl_union_map_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::union_map union_map_list::get_union_map(int index) const
+union_map union_map_list::get_union_map(int index) const
 {
   auto res = isl_union_map_list_get_union_map(get(), index);
   return manage(res);
 }
 
-isl::union_map_list union_map_list::insert(unsigned int pos, isl::union_map el) const
+union_map_list union_map_list::insert(unsigned int pos, union_map el) const
 {
   auto res = isl_union_map_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -17151,13 +17151,13 @@ int union_map_list::n_union_map() const
   return res;
 }
 
-isl::union_map_list union_map_list::reverse() const
+union_map_list union_map_list::reverse() const
 {
   auto res = isl_union_map_list_reverse(copy());
   return manage(res);
 }
 
-isl::union_map_list union_map_list::set_union_map(int index, isl::union_map el) const
+union_map_list union_map_list::set_union_map(int index, union_map el) const
 {
   auto res = isl_union_map_list_set_union_map(copy(), index, el.release());
   return manage(res);
@@ -17169,17 +17169,17 @@ int union_map_list::size() const
   return res;
 }
 
-isl::union_map_list union_map_list::swap(unsigned int pos1, unsigned int pos2) const
+union_map_list union_map_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_union_map_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::union_pw_aff
-isl::union_pw_aff manage(__isl_take isl_union_pw_aff *ptr) {
+union_pw_aff manage(__isl_take isl_union_pw_aff *ptr) {
   return union_pw_aff(ptr);
 }
-isl::union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr) {
+union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr) {
   ptr = isl_union_pw_aff_copy(ptr);
   return union_pw_aff(ptr);
 }
@@ -17187,7 +17187,7 @@ isl::union_pw_aff manage_copy(__isl_keep
 union_pw_aff::union_pw_aff()
     : ptr(nullptr) {}
 
-union_pw_aff::union_pw_aff(const isl::union_pw_aff &obj)
+union_pw_aff::union_pw_aff(const union_pw_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -17199,23 +17199,23 @@ union_pw_aff::union_pw_aff(std::nullptr_
 union_pw_aff::union_pw_aff(__isl_take isl_union_pw_aff *ptr)
     : ptr(ptr) {}
 
-union_pw_aff::union_pw_aff(isl::pw_aff pa)
+union_pw_aff::union_pw_aff(pw_aff pa)
 {
   auto res = isl_union_pw_aff_from_pw_aff(pa.release());
   ptr = res;
 }
-union_pw_aff::union_pw_aff(isl::union_set domain, isl::val v)
+union_pw_aff::union_pw_aff(union_set domain, val v)
 {
   auto res = isl_union_pw_aff_val_on_domain(domain.release(), v.release());
   ptr = res;
 }
-union_pw_aff::union_pw_aff(isl::ctx ctx, const std::string &str)
+union_pw_aff::union_pw_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_union_pw_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-union_pw_aff &union_pw_aff::operator=(isl::union_pw_aff obj) {
+union_pw_aff &union_pw_aff::operator=(union_pw_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -17247,8 +17247,8 @@ union_pw_aff::operator bool() const {
 }
 
 
-isl::ctx union_pw_aff::get_ctx() const {
-  return isl::ctx(isl_union_pw_aff_get_ctx(ptr));
+ctx union_pw_aff::get_ctx() const {
+  return ctx(isl_union_pw_aff_get_ctx(ptr));
 }
 std::string union_pw_aff::to_str() const {
   char *Tmp = isl_union_pw_aff_to_str(get());
@@ -17265,31 +17265,31 @@ void union_pw_aff::dump() const {
 }
 
 
-isl::union_pw_aff union_pw_aff::add(isl::union_pw_aff upa2) const
+union_pw_aff union_pw_aff::add(union_pw_aff upa2) const
 {
   auto res = isl_union_pw_aff_add(copy(), upa2.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::add_pw_aff(isl::pw_aff pa) const
+union_pw_aff union_pw_aff::add_pw_aff(pw_aff pa) const
 {
   auto res = isl_union_pw_aff_add_pw_aff(copy(), pa.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::aff_on_domain(isl::union_set domain, isl::aff aff)
+union_pw_aff union_pw_aff::aff_on_domain(union_set domain, aff aff)
 {
   auto res = isl_union_pw_aff_aff_on_domain(domain.release(), aff.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::align_params(isl::space model) const
+union_pw_aff union_pw_aff::align_params(space model) const
 {
   auto res = isl_union_pw_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::coalesce() const
+union_pw_aff union_pw_aff::coalesce() const
 {
   auto res = isl_union_pw_aff_coalesce(copy());
   return manage(res);
@@ -17301,25 +17301,25 @@ unsigned int union_pw_aff::dim(isl::dim
   return res;
 }
 
-isl::union_set union_pw_aff::domain() const
+union_set union_pw_aff::domain() const
 {
   auto res = isl_union_pw_aff_domain(copy());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+union_pw_aff union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::empty(isl::space space)
+union_pw_aff union_pw_aff::empty(space space)
 {
   auto res = isl_union_pw_aff_empty(space.release());
   return manage(res);
 }
 
-isl::pw_aff union_pw_aff::extract_pw_aff(isl::space space) const
+pw_aff union_pw_aff::extract_pw_aff(space space) const
 {
   auto res = isl_union_pw_aff_extract_pw_aff(get(), space.release());
   return manage(res);
@@ -17331,81 +17331,81 @@ int union_pw_aff::find_dim_by_name(isl::
   return res;
 }
 
-isl::union_pw_aff union_pw_aff::floor() const
+union_pw_aff union_pw_aff::floor() const
 {
   auto res = isl_union_pw_aff_floor(copy());
   return manage(res);
 }
 
-isl::stat union_pw_aff::foreach_pw_aff(const std::function<isl::stat(isl::pw_aff)> &fn) const
+stat union_pw_aff::foreach_pw_aff(const std::function<stat(pw_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_aff)> *func;
+    const std::function<stat(pw_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_pw_aff_foreach_pw_aff(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::pw_aff_list union_pw_aff::get_pw_aff_list() const
+pw_aff_list union_pw_aff::get_pw_aff_list() const
 {
   auto res = isl_union_pw_aff_get_pw_aff_list(get());
   return manage(res);
 }
 
-isl::space union_pw_aff::get_space() const
+space union_pw_aff::get_space() const
 {
   auto res = isl_union_pw_aff_get_space(get());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::gist(isl::union_set context) const
+union_pw_aff union_pw_aff::gist(union_set context) const
 {
   auto res = isl_union_pw_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::gist_params(isl::set context) const
+union_pw_aff union_pw_aff::gist_params(set context) const
 {
   auto res = isl_union_pw_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::intersect_domain(isl::union_set uset) const
+union_pw_aff union_pw_aff::intersect_domain(union_set uset) const
 {
   auto res = isl_union_pw_aff_intersect_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::intersect_params(isl::set set) const
+union_pw_aff union_pw_aff::intersect_params(set set) const
 {
   auto res = isl_union_pw_aff_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean union_pw_aff::involves_nan() const
+boolean union_pw_aff::involves_nan() const
 {
   auto res = isl_union_pw_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::val union_pw_aff::max_val() const
+val union_pw_aff::max_val() const
 {
   auto res = isl_union_pw_aff_max_val(copy());
   return manage(res);
 }
 
-isl::val union_pw_aff::min_val() const
+val union_pw_aff::min_val() const
 {
   auto res = isl_union_pw_aff_min_val(copy());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::mod_val(isl::val f) const
+union_pw_aff union_pw_aff::mod_val(val f) const
 {
   auto res = isl_union_pw_aff_mod_val(copy(), f.release());
   return manage(res);
@@ -17417,83 +17417,83 @@ int union_pw_aff::n_pw_aff() const
   return res;
 }
 
-isl::union_pw_aff union_pw_aff::neg() const
+union_pw_aff union_pw_aff::neg() const
 {
   auto res = isl_union_pw_aff_neg(copy());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::param_on_domain_id(isl::union_set domain, isl::id id)
+union_pw_aff union_pw_aff::param_on_domain_id(union_set domain, id id)
 {
   auto res = isl_union_pw_aff_param_on_domain_id(domain.release(), id.release());
   return manage(res);
 }
 
-isl::boolean union_pw_aff::plain_is_equal(const isl::union_pw_aff &upa2) const
+boolean union_pw_aff::plain_is_equal(const union_pw_aff &upa2) const
 {
   auto res = isl_union_pw_aff_plain_is_equal(get(), upa2.get());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::pullback(isl::union_pw_multi_aff upma) const
+union_pw_aff union_pw_aff::pullback(union_pw_multi_aff upma) const
 {
   auto res = isl_union_pw_aff_pullback_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::pw_aff_on_domain(isl::union_set domain, isl::pw_aff pa)
+union_pw_aff union_pw_aff::pw_aff_on_domain(union_set domain, pw_aff pa)
 {
   auto res = isl_union_pw_aff_pw_aff_on_domain(domain.release(), pa.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::reset_user() const
+union_pw_aff union_pw_aff::reset_user() const
 {
   auto res = isl_union_pw_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::scale_down_val(isl::val v) const
+union_pw_aff union_pw_aff::scale_down_val(val v) const
 {
   auto res = isl_union_pw_aff_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::scale_val(isl::val v) const
+union_pw_aff union_pw_aff::scale_val(val v) const
 {
   auto res = isl_union_pw_aff_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::sub(isl::union_pw_aff upa2) const
+union_pw_aff union_pw_aff::sub(union_pw_aff upa2) const
 {
   auto res = isl_union_pw_aff_sub(copy(), upa2.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::subtract_domain(isl::union_set uset) const
+union_pw_aff union_pw_aff::subtract_domain(union_set uset) const
 {
   auto res = isl_union_pw_aff_subtract_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff::union_add(isl::union_pw_aff upa2) const
+union_pw_aff union_pw_aff::union_add(union_pw_aff upa2) const
 {
   auto res = isl_union_pw_aff_union_add(copy(), upa2.release());
   return manage(res);
 }
 
-isl::union_set union_pw_aff::zero_union_set() const
+union_set union_pw_aff::zero_union_set() const
 {
   auto res = isl_union_pw_aff_zero_union_set(copy());
   return manage(res);
 }
 
 // implementations for isl::union_pw_aff_list
-isl::union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr) {
+union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr) {
   return union_pw_aff_list(ptr);
 }
-isl::union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr) {
+union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr) {
   ptr = isl_union_pw_aff_list_copy(ptr);
   return union_pw_aff_list(ptr);
 }
@@ -17501,7 +17501,7 @@ isl::union_pw_aff_list manage_copy(__isl
 union_pw_aff_list::union_pw_aff_list()
     : ptr(nullptr) {}
 
-union_pw_aff_list::union_pw_aff_list(const isl::union_pw_aff_list &obj)
+union_pw_aff_list::union_pw_aff_list(const union_pw_aff_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -17514,7 +17514,7 @@ union_pw_aff_list::union_pw_aff_list(__i
     : ptr(ptr) {}
 
 
-union_pw_aff_list &union_pw_aff_list::operator=(isl::union_pw_aff_list obj) {
+union_pw_aff_list &union_pw_aff_list::operator=(union_pw_aff_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -17546,8 +17546,8 @@ union_pw_aff_list::operator bool() const
 }
 
 
-isl::ctx union_pw_aff_list::get_ctx() const {
-  return isl::ctx(isl_union_pw_aff_list_get_ctx(ptr));
+ctx union_pw_aff_list::get_ctx() const {
+  return ctx(isl_union_pw_aff_list_get_ctx(ptr));
 }
 
 void union_pw_aff_list::dump() const {
@@ -17555,63 +17555,63 @@ void union_pw_aff_list::dump() const {
 }
 
 
-isl::union_pw_aff_list union_pw_aff_list::add(isl::union_pw_aff el) const
+union_pw_aff_list union_pw_aff_list::add(union_pw_aff el) const
 {
   auto res = isl_union_pw_aff_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::alloc(isl::ctx ctx, int n)
+union_pw_aff_list union_pw_aff_list::alloc(ctx ctx, int n)
 {
   auto res = isl_union_pw_aff_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::concat(isl::union_pw_aff_list list2) const
+union_pw_aff_list union_pw_aff_list::concat(union_pw_aff_list list2) const
 {
   auto res = isl_union_pw_aff_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::drop(unsigned int first, unsigned int n) const
+union_pw_aff_list union_pw_aff_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_union_pw_aff_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat union_pw_aff_list::foreach(const std::function<isl::stat(isl::union_pw_aff)> &fn) const
+stat union_pw_aff_list::foreach(const std::function<stat(union_pw_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::union_pw_aff)> *func;
+    const std::function<stat(union_pw_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_union_pw_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_pw_aff_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::from_union_pw_aff(isl::union_pw_aff el)
+union_pw_aff_list union_pw_aff_list::from_union_pw_aff(union_pw_aff el)
 {
   auto res = isl_union_pw_aff_list_from_union_pw_aff(el.release());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff_list::get_at(int index) const
+union_pw_aff union_pw_aff_list::get_at(int index) const
 {
   auto res = isl_union_pw_aff_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_aff_list::get_union_pw_aff(int index) const
+union_pw_aff union_pw_aff_list::get_union_pw_aff(int index) const
 {
   auto res = isl_union_pw_aff_list_get_union_pw_aff(get(), index);
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::insert(unsigned int pos, isl::union_pw_aff el) const
+union_pw_aff_list union_pw_aff_list::insert(unsigned int pos, union_pw_aff el) const
 {
   auto res = isl_union_pw_aff_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -17623,13 +17623,13 @@ int union_pw_aff_list::n_union_pw_aff()
   return res;
 }
 
-isl::union_pw_aff_list union_pw_aff_list::reverse() const
+union_pw_aff_list union_pw_aff_list::reverse() const
 {
   auto res = isl_union_pw_aff_list_reverse(copy());
   return manage(res);
 }
 
-isl::union_pw_aff_list union_pw_aff_list::set_union_pw_aff(int index, isl::union_pw_aff el) const
+union_pw_aff_list union_pw_aff_list::set_union_pw_aff(int index, union_pw_aff el) const
 {
   auto res = isl_union_pw_aff_list_set_union_pw_aff(copy(), index, el.release());
   return manage(res);
@@ -17641,17 +17641,17 @@ int union_pw_aff_list::size() const
   return res;
 }
 
-isl::union_pw_aff_list union_pw_aff_list::swap(unsigned int pos1, unsigned int pos2) const
+union_pw_aff_list union_pw_aff_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_union_pw_aff_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::union_pw_multi_aff
-isl::union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr) {
+union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr) {
   return union_pw_multi_aff(ptr);
 }
-isl::union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr) {
+union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr) {
   ptr = isl_union_pw_multi_aff_copy(ptr);
   return union_pw_multi_aff(ptr);
 }
@@ -17659,7 +17659,7 @@ isl::union_pw_multi_aff manage_copy(__is
 union_pw_multi_aff::union_pw_multi_aff()
     : ptr(nullptr) {}
 
-union_pw_multi_aff::union_pw_multi_aff(const isl::union_pw_multi_aff &obj)
+union_pw_multi_aff::union_pw_multi_aff(const union_pw_multi_aff &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -17671,43 +17671,43 @@ union_pw_multi_aff::union_pw_multi_aff(s
 union_pw_multi_aff::union_pw_multi_aff(__isl_take isl_union_pw_multi_aff *ptr)
     : ptr(ptr) {}
 
-union_pw_multi_aff::union_pw_multi_aff(isl::aff aff)
+union_pw_multi_aff::union_pw_multi_aff(aff aff)
 {
   auto res = isl_union_pw_multi_aff_from_aff(aff.release());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::pw_multi_aff pma)
+union_pw_multi_aff::union_pw_multi_aff(pw_multi_aff pma)
 {
   auto res = isl_union_pw_multi_aff_from_pw_multi_aff(pma.release());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::union_set uset)
+union_pw_multi_aff::union_pw_multi_aff(union_set uset)
 {
   auto res = isl_union_pw_multi_aff_from_domain(uset.release());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::union_map umap)
+union_pw_multi_aff::union_pw_multi_aff(union_map umap)
 {
   auto res = isl_union_pw_multi_aff_from_union_map(umap.release());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::ctx ctx, const std::string &str)
+union_pw_multi_aff::union_pw_multi_aff(ctx ctx, const std::string &str)
 {
   auto res = isl_union_pw_multi_aff_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::union_pw_aff upa)
+union_pw_multi_aff::union_pw_multi_aff(union_pw_aff upa)
 {
   auto res = isl_union_pw_multi_aff_from_union_pw_aff(upa.release());
   ptr = res;
 }
-union_pw_multi_aff::union_pw_multi_aff(isl::multi_union_pw_aff mupa)
+union_pw_multi_aff::union_pw_multi_aff(multi_union_pw_aff mupa)
 {
   auto res = isl_union_pw_multi_aff_from_multi_union_pw_aff(mupa.release());
   ptr = res;
 }
 
-union_pw_multi_aff &union_pw_multi_aff::operator=(isl::union_pw_multi_aff obj) {
+union_pw_multi_aff &union_pw_multi_aff::operator=(union_pw_multi_aff obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -17739,8 +17739,8 @@ union_pw_multi_aff::operator bool() cons
 }
 
 
-isl::ctx union_pw_multi_aff::get_ctx() const {
-  return isl::ctx(isl_union_pw_multi_aff_get_ctx(ptr));
+ctx union_pw_multi_aff::get_ctx() const {
+  return ctx(isl_union_pw_multi_aff_get_ctx(ptr));
 }
 std::string union_pw_multi_aff::to_str() const {
   char *Tmp = isl_union_pw_multi_aff_to_str(get());
@@ -17757,25 +17757,25 @@ void union_pw_multi_aff::dump() const {
 }
 
 
-isl::union_pw_multi_aff union_pw_multi_aff::add(isl::union_pw_multi_aff upma2) const
+union_pw_multi_aff union_pw_multi_aff::add(union_pw_multi_aff upma2) const
 {
   auto res = isl_union_pw_multi_aff_add(copy(), upma2.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::add_pw_multi_aff(isl::pw_multi_aff pma) const
+union_pw_multi_aff union_pw_multi_aff::add_pw_multi_aff(pw_multi_aff pma) const
 {
   auto res = isl_union_pw_multi_aff_add_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::align_params(isl::space model) const
+union_pw_multi_aff union_pw_multi_aff::align_params(space model) const
 {
   auto res = isl_union_pw_multi_aff_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::coalesce() const
+union_pw_multi_aff union_pw_multi_aff::coalesce() const
 {
   auto res = isl_union_pw_multi_aff_coalesce(copy());
   return manage(res);
@@ -17787,25 +17787,25 @@ unsigned int union_pw_multi_aff::dim(isl
   return res;
 }
 
-isl::union_set union_pw_multi_aff::domain() const
+union_set union_pw_multi_aff::domain() const
 {
   auto res = isl_union_pw_multi_aff_domain(copy());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+union_pw_multi_aff union_pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_pw_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::empty(isl::space space)
+union_pw_multi_aff union_pw_multi_aff::empty(space space)
 {
   auto res = isl_union_pw_multi_aff_empty(space.release());
   return manage(res);
 }
 
-isl::pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(isl::space space) const
+pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(space space) const
 {
   auto res = isl_union_pw_multi_aff_extract_pw_multi_aff(get(), space.release());
   return manage(res);
@@ -17817,81 +17817,81 @@ int union_pw_multi_aff::find_dim_by_name
   return res;
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::flat_range_product(isl::union_pw_multi_aff upma2) const
+union_pw_multi_aff union_pw_multi_aff::flat_range_product(union_pw_multi_aff upma2) const
 {
   auto res = isl_union_pw_multi_aff_flat_range_product(copy(), upma2.release());
   return manage(res);
 }
 
-isl::stat union_pw_multi_aff::foreach_pw_multi_aff(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const
+stat union_pw_multi_aff::foreach_pw_multi_aff(const std::function<stat(pw_multi_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_multi_aff)> *func;
+    const std::function<stat(pw_multi_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_multi_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_pw_multi_aff_foreach_pw_multi_aff(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::from_union_set(isl::union_set uset)
+union_pw_multi_aff union_pw_multi_aff::from_union_set(union_set uset)
 {
   auto res = isl_union_pw_multi_aff_from_union_set(uset.release());
   return manage(res);
 }
 
-isl::pw_multi_aff_list union_pw_multi_aff::get_pw_multi_aff_list() const
+pw_multi_aff_list union_pw_multi_aff::get_pw_multi_aff_list() const
 {
   auto res = isl_union_pw_multi_aff_get_pw_multi_aff_list(get());
   return manage(res);
 }
 
-isl::space union_pw_multi_aff::get_space() const
+space union_pw_multi_aff::get_space() const
 {
   auto res = isl_union_pw_multi_aff_get_space(get());
   return manage(res);
 }
 
-isl::union_pw_aff union_pw_multi_aff::get_union_pw_aff(int pos) const
+union_pw_aff union_pw_multi_aff::get_union_pw_aff(int pos) const
 {
   auto res = isl_union_pw_multi_aff_get_union_pw_aff(get(), pos);
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::gist(isl::union_set context) const
+union_pw_multi_aff union_pw_multi_aff::gist(union_set context) const
 {
   auto res = isl_union_pw_multi_aff_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::gist_params(isl::set context) const
+union_pw_multi_aff union_pw_multi_aff::gist_params(set context) const
 {
   auto res = isl_union_pw_multi_aff_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain(isl::union_set uset) const
+union_pw_multi_aff union_pw_multi_aff::intersect_domain(union_set uset) const
 {
   auto res = isl_union_pw_multi_aff_intersect_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::intersect_params(isl::set set) const
+union_pw_multi_aff union_pw_multi_aff::intersect_params(set set) const
 {
   auto res = isl_union_pw_multi_aff_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean union_pw_multi_aff::involves_nan() const
+boolean union_pw_multi_aff::involves_nan() const
 {
   auto res = isl_union_pw_multi_aff_involves_nan(get());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv)
+union_pw_multi_aff union_pw_multi_aff::multi_val_on_domain(union_set domain, multi_val mv)
 {
   auto res = isl_union_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release());
   return manage(res);
@@ -17903,71 +17903,71 @@ int union_pw_multi_aff::n_pw_multi_aff()
   return res;
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::neg() const
+union_pw_multi_aff union_pw_multi_aff::neg() const
 {
   auto res = isl_union_pw_multi_aff_neg(copy());
   return manage(res);
 }
 
-isl::boolean union_pw_multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
+boolean union_pw_multi_aff::plain_is_equal(const union_pw_multi_aff &upma2) const
 {
   auto res = isl_union_pw_multi_aff_plain_is_equal(get(), upma2.get());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::pullback(isl::union_pw_multi_aff upma2) const
+union_pw_multi_aff union_pw_multi_aff::pullback(union_pw_multi_aff upma2) const
 {
   auto res = isl_union_pw_multi_aff_pullback_union_pw_multi_aff(copy(), upma2.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::reset_user() const
+union_pw_multi_aff union_pw_multi_aff::reset_user() const
 {
   auto res = isl_union_pw_multi_aff_reset_user(copy());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::scale_down_val(isl::val val) const
+union_pw_multi_aff union_pw_multi_aff::scale_down_val(val val) const
 {
   auto res = isl_union_pw_multi_aff_scale_down_val(copy(), val.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::scale_multi_val(isl::multi_val mv) const
+union_pw_multi_aff union_pw_multi_aff::scale_multi_val(multi_val mv) const
 {
   auto res = isl_union_pw_multi_aff_scale_multi_val(copy(), mv.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::scale_val(isl::val val) const
+union_pw_multi_aff union_pw_multi_aff::scale_val(val val) const
 {
   auto res = isl_union_pw_multi_aff_scale_val(copy(), val.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::sub(isl::union_pw_multi_aff upma2) const
+union_pw_multi_aff union_pw_multi_aff::sub(union_pw_multi_aff upma2) const
 {
   auto res = isl_union_pw_multi_aff_sub(copy(), upma2.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::subtract_domain(isl::union_set uset) const
+union_pw_multi_aff union_pw_multi_aff::subtract_domain(union_set uset) const
 {
   auto res = isl_union_pw_multi_aff_subtract_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff::union_add(isl::union_pw_multi_aff upma2) const
+union_pw_multi_aff union_pw_multi_aff::union_add(union_pw_multi_aff upma2) const
 {
   auto res = isl_union_pw_multi_aff_union_add(copy(), upma2.release());
   return manage(res);
 }
 
 // implementations for isl::union_pw_multi_aff_list
-isl::union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr) {
+union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr) {
   return union_pw_multi_aff_list(ptr);
 }
-isl::union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr) {
+union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr) {
   ptr = isl_union_pw_multi_aff_list_copy(ptr);
   return union_pw_multi_aff_list(ptr);
 }
@@ -17975,7 +17975,7 @@ isl::union_pw_multi_aff_list manage_copy
 union_pw_multi_aff_list::union_pw_multi_aff_list()
     : ptr(nullptr) {}
 
-union_pw_multi_aff_list::union_pw_multi_aff_list(const isl::union_pw_multi_aff_list &obj)
+union_pw_multi_aff_list::union_pw_multi_aff_list(const union_pw_multi_aff_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -17988,7 +17988,7 @@ union_pw_multi_aff_list::union_pw_multi_
     : ptr(ptr) {}
 
 
-union_pw_multi_aff_list &union_pw_multi_aff_list::operator=(isl::union_pw_multi_aff_list obj) {
+union_pw_multi_aff_list &union_pw_multi_aff_list::operator=(union_pw_multi_aff_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -18020,8 +18020,8 @@ union_pw_multi_aff_list::operator bool()
 }
 
 
-isl::ctx union_pw_multi_aff_list::get_ctx() const {
-  return isl::ctx(isl_union_pw_multi_aff_list_get_ctx(ptr));
+ctx union_pw_multi_aff_list::get_ctx() const {
+  return ctx(isl_union_pw_multi_aff_list_get_ctx(ptr));
 }
 
 void union_pw_multi_aff_list::dump() const {
@@ -18029,63 +18029,63 @@ void union_pw_multi_aff_list::dump() con
 }
 
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::add(isl::union_pw_multi_aff el) const
+union_pw_multi_aff_list union_pw_multi_aff_list::add(union_pw_multi_aff el) const
 {
   auto res = isl_union_pw_multi_aff_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::alloc(isl::ctx ctx, int n)
+union_pw_multi_aff_list union_pw_multi_aff_list::alloc(ctx ctx, int n)
 {
   auto res = isl_union_pw_multi_aff_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::concat(isl::union_pw_multi_aff_list list2) const
+union_pw_multi_aff_list union_pw_multi_aff_list::concat(union_pw_multi_aff_list list2) const
 {
   auto res = isl_union_pw_multi_aff_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::drop(unsigned int first, unsigned int n) const
+union_pw_multi_aff_list union_pw_multi_aff_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_union_pw_multi_aff_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat union_pw_multi_aff_list::foreach(const std::function<isl::stat(isl::union_pw_multi_aff)> &fn) const
+stat union_pw_multi_aff_list::foreach(const std::function<stat(union_pw_multi_aff)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::union_pw_multi_aff)> *func;
+    const std::function<stat(union_pw_multi_aff)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_union_pw_multi_aff *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_pw_multi_aff_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::from_union_pw_multi_aff(isl::union_pw_multi_aff el)
+union_pw_multi_aff_list union_pw_multi_aff_list::from_union_pw_multi_aff(union_pw_multi_aff el)
 {
   auto res = isl_union_pw_multi_aff_list_from_union_pw_multi_aff(el.release());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff_list::get_at(int index) const
+union_pw_multi_aff union_pw_multi_aff_list::get_at(int index) const
 {
   auto res = isl_union_pw_multi_aff_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_pw_multi_aff_list::get_union_pw_multi_aff(int index) const
+union_pw_multi_aff union_pw_multi_aff_list::get_union_pw_multi_aff(int index) const
 {
   auto res = isl_union_pw_multi_aff_list_get_union_pw_multi_aff(get(), index);
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::insert(unsigned int pos, isl::union_pw_multi_aff el) const
+union_pw_multi_aff_list union_pw_multi_aff_list::insert(unsigned int pos, union_pw_multi_aff el) const
 {
   auto res = isl_union_pw_multi_aff_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -18097,13 +18097,13 @@ int union_pw_multi_aff_list::n_union_pw_
   return res;
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::reverse() const
+union_pw_multi_aff_list union_pw_multi_aff_list::reverse() const
 {
   auto res = isl_union_pw_multi_aff_list_reverse(copy());
   return manage(res);
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::set_union_pw_multi_aff(int index, isl::union_pw_multi_aff el) const
+union_pw_multi_aff_list union_pw_multi_aff_list::set_union_pw_multi_aff(int index, union_pw_multi_aff el) const
 {
   auto res = isl_union_pw_multi_aff_list_set_union_pw_multi_aff(copy(), index, el.release());
   return manage(res);
@@ -18115,17 +18115,17 @@ int union_pw_multi_aff_list::size() cons
   return res;
 }
 
-isl::union_pw_multi_aff_list union_pw_multi_aff_list::swap(unsigned int pos1, unsigned int pos2) const
+union_pw_multi_aff_list union_pw_multi_aff_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_union_pw_multi_aff_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::union_pw_qpolynomial
-isl::union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr) {
+union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr) {
   return union_pw_qpolynomial(ptr);
 }
-isl::union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr) {
+union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr) {
   ptr = isl_union_pw_qpolynomial_copy(ptr);
   return union_pw_qpolynomial(ptr);
 }
@@ -18133,7 +18133,7 @@ isl::union_pw_qpolynomial manage_copy(__
 union_pw_qpolynomial::union_pw_qpolynomial()
     : ptr(nullptr) {}
 
-union_pw_qpolynomial::union_pw_qpolynomial(const isl::union_pw_qpolynomial &obj)
+union_pw_qpolynomial::union_pw_qpolynomial(const union_pw_qpolynomial &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -18145,13 +18145,13 @@ union_pw_qpolynomial::union_pw_qpolynomi
 union_pw_qpolynomial::union_pw_qpolynomial(__isl_take isl_union_pw_qpolynomial *ptr)
     : ptr(ptr) {}
 
-union_pw_qpolynomial::union_pw_qpolynomial(isl::ctx ctx, const std::string &str)
+union_pw_qpolynomial::union_pw_qpolynomial(ctx ctx, const std::string &str)
 {
   auto res = isl_union_pw_qpolynomial_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-union_pw_qpolynomial &union_pw_qpolynomial::operator=(isl::union_pw_qpolynomial obj) {
+union_pw_qpolynomial &union_pw_qpolynomial::operator=(union_pw_qpolynomial obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -18183,8 +18183,8 @@ union_pw_qpolynomial::operator bool() co
 }
 
 
-isl::ctx union_pw_qpolynomial::get_ctx() const {
-  return isl::ctx(isl_union_pw_qpolynomial_get_ctx(ptr));
+ctx union_pw_qpolynomial::get_ctx() const {
+  return ctx(isl_union_pw_qpolynomial_get_ctx(ptr));
 }
 std::string union_pw_qpolynomial::to_str() const {
   char *Tmp = isl_union_pw_qpolynomial_to_str(get());
@@ -18197,25 +18197,25 @@ std::string union_pw_qpolynomial::to_str
 
 
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::add(isl::union_pw_qpolynomial upwqp2) const
+union_pw_qpolynomial union_pw_qpolynomial::add(union_pw_qpolynomial upwqp2) const
 {
   auto res = isl_union_pw_qpolynomial_add(copy(), upwqp2.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::add_pw_qpolynomial(isl::pw_qpolynomial pwqp) const
+union_pw_qpolynomial union_pw_qpolynomial::add_pw_qpolynomial(pw_qpolynomial pwqp) const
 {
   auto res = isl_union_pw_qpolynomial_add_pw_qpolynomial(copy(), pwqp.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::align_params(isl::space model) const
+union_pw_qpolynomial union_pw_qpolynomial::align_params(space model) const
 {
   auto res = isl_union_pw_qpolynomial_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::coalesce() const
+union_pw_qpolynomial union_pw_qpolynomial::coalesce() const
 {
   auto res = isl_union_pw_qpolynomial_coalesce(copy());
   return manage(res);
@@ -18227,25 +18227,25 @@ unsigned int union_pw_qpolynomial::dim(i
   return res;
 }
 
-isl::union_set union_pw_qpolynomial::domain() const
+union_set union_pw_qpolynomial::domain() const
 {
   auto res = isl_union_pw_qpolynomial_domain(copy());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
+union_pw_qpolynomial union_pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_pw_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::val union_pw_qpolynomial::eval(isl::point pnt) const
+val union_pw_qpolynomial::eval(point pnt) const
 {
   auto res = isl_union_pw_qpolynomial_eval(copy(), pnt.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(isl::space dim) const
+pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(space dim) const
 {
   auto res = isl_union_pw_qpolynomial_extract_pw_qpolynomial(get(), dim.release());
   return manage(res);
@@ -18257,69 +18257,69 @@ int union_pw_qpolynomial::find_dim_by_na
   return res;
 }
 
-isl::stat union_pw_qpolynomial::foreach_pw_qpolynomial(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const
+stat union_pw_qpolynomial::foreach_pw_qpolynomial(const std::function<stat(pw_qpolynomial)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::pw_qpolynomial)> *func;
+    const std::function<stat(pw_qpolynomial)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_pw_qpolynomial *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_pw_qpolynomial_foreach_pw_qpolynomial(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::from_pw_qpolynomial(isl::pw_qpolynomial pwqp)
+union_pw_qpolynomial union_pw_qpolynomial::from_pw_qpolynomial(pw_qpolynomial pwqp)
 {
   auto res = isl_union_pw_qpolynomial_from_pw_qpolynomial(pwqp.release());
   return manage(res);
 }
 
-isl::pw_qpolynomial_list union_pw_qpolynomial::get_pw_qpolynomial_list() const
+pw_qpolynomial_list union_pw_qpolynomial::get_pw_qpolynomial_list() const
 {
   auto res = isl_union_pw_qpolynomial_get_pw_qpolynomial_list(get());
   return manage(res);
 }
 
-isl::space union_pw_qpolynomial::get_space() const
+space union_pw_qpolynomial::get_space() const
 {
   auto res = isl_union_pw_qpolynomial_get_space(get());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::gist(isl::union_set context) const
+union_pw_qpolynomial union_pw_qpolynomial::gist(union_set context) const
 {
   auto res = isl_union_pw_qpolynomial_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::gist_params(isl::set context) const
+union_pw_qpolynomial union_pw_qpolynomial::gist_params(set context) const
 {
   auto res = isl_union_pw_qpolynomial_gist_params(copy(), context.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_domain(isl::union_set uset) const
+union_pw_qpolynomial union_pw_qpolynomial::intersect_domain(union_set uset) const
 {
   auto res = isl_union_pw_qpolynomial_intersect_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_params(isl::set set) const
+union_pw_qpolynomial union_pw_qpolynomial::intersect_params(set set) const
 {
   auto res = isl_union_pw_qpolynomial_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean union_pw_qpolynomial::involves_nan() const
+boolean union_pw_qpolynomial::involves_nan() const
 {
   auto res = isl_union_pw_qpolynomial_involves_nan(get());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::mul(isl::union_pw_qpolynomial upwqp2) const
+union_pw_qpolynomial union_pw_qpolynomial::mul(union_pw_qpolynomial upwqp2) const
 {
   auto res = isl_union_pw_qpolynomial_mul(copy(), upwqp2.release());
   return manage(res);
@@ -18331,65 +18331,65 @@ int union_pw_qpolynomial::n_pw_qpolynomi
   return res;
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::neg() const
+union_pw_qpolynomial union_pw_qpolynomial::neg() const
 {
   auto res = isl_union_pw_qpolynomial_neg(copy());
   return manage(res);
 }
 
-isl::boolean union_pw_qpolynomial::plain_is_equal(const isl::union_pw_qpolynomial &upwqp2) const
+boolean union_pw_qpolynomial::plain_is_equal(const union_pw_qpolynomial &upwqp2) const
 {
   auto res = isl_union_pw_qpolynomial_plain_is_equal(get(), upwqp2.get());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::reset_user() const
+union_pw_qpolynomial union_pw_qpolynomial::reset_user() const
 {
   auto res = isl_union_pw_qpolynomial_reset_user(copy());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::scale_down_val(isl::val v) const
+union_pw_qpolynomial union_pw_qpolynomial::scale_down_val(val v) const
 {
   auto res = isl_union_pw_qpolynomial_scale_down_val(copy(), v.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::scale_val(isl::val v) const
+union_pw_qpolynomial union_pw_qpolynomial::scale_val(val v) const
 {
   auto res = isl_union_pw_qpolynomial_scale_val(copy(), v.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::sub(isl::union_pw_qpolynomial upwqp2) const
+union_pw_qpolynomial union_pw_qpolynomial::sub(union_pw_qpolynomial upwqp2) const
 {
   auto res = isl_union_pw_qpolynomial_sub(copy(), upwqp2.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::subtract_domain(isl::union_set uset) const
+union_pw_qpolynomial union_pw_qpolynomial::subtract_domain(union_set uset) const
 {
   auto res = isl_union_pw_qpolynomial_subtract_domain(copy(), uset.release());
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::to_polynomial(int sign) const
+union_pw_qpolynomial union_pw_qpolynomial::to_polynomial(int sign) const
 {
   auto res = isl_union_pw_qpolynomial_to_polynomial(copy(), sign);
   return manage(res);
 }
 
-isl::union_pw_qpolynomial union_pw_qpolynomial::zero(isl::space dim)
+union_pw_qpolynomial union_pw_qpolynomial::zero(space dim)
 {
   auto res = isl_union_pw_qpolynomial_zero(dim.release());
   return manage(res);
 }
 
 // implementations for isl::union_set
-isl::union_set manage(__isl_take isl_union_set *ptr) {
+union_set manage(__isl_take isl_union_set *ptr) {
   return union_set(ptr);
 }
-isl::union_set manage_copy(__isl_keep isl_union_set *ptr) {
+union_set manage_copy(__isl_keep isl_union_set *ptr) {
   ptr = isl_union_set_copy(ptr);
   return union_set(ptr);
 }
@@ -18397,7 +18397,7 @@ isl::union_set manage_copy(__isl_keep is
 union_set::union_set()
     : ptr(nullptr) {}
 
-union_set::union_set(const isl::union_set &obj)
+union_set::union_set(const union_set &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -18409,28 +18409,28 @@ union_set::union_set(std::nullptr_t)
 union_set::union_set(__isl_take isl_union_set *ptr)
     : ptr(ptr) {}
 
-union_set::union_set(isl::basic_set bset)
+union_set::union_set(basic_set bset)
 {
   auto res = isl_union_set_from_basic_set(bset.release());
   ptr = res;
 }
-union_set::union_set(isl::set set)
+union_set::union_set(set set)
 {
   auto res = isl_union_set_from_set(set.release());
   ptr = res;
 }
-union_set::union_set(isl::point pnt)
+union_set::union_set(point pnt)
 {
   auto res = isl_union_set_from_point(pnt.release());
   ptr = res;
 }
-union_set::union_set(isl::ctx ctx, const std::string &str)
+union_set::union_set(ctx ctx, const std::string &str)
 {
   auto res = isl_union_set_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
 
-union_set &union_set::operator=(isl::union_set obj) {
+union_set &union_set::operator=(union_set obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -18462,8 +18462,8 @@ union_set::operator bool() const {
 }
 
 
-isl::ctx union_set::get_ctx() const {
-  return isl::ctx(isl_union_set_get_ctx(ptr));
+ctx union_set::get_ctx() const {
+  return ctx(isl_union_set_get_ctx(ptr));
 }
 std::string union_set::to_str() const {
   char *Tmp = isl_union_set_to_str(get());
@@ -18480,55 +18480,55 @@ void union_set::dump() const {
 }
 
 
-isl::union_set union_set::add_set(isl::set set) const
+union_set union_set::add_set(set set) const
 {
   auto res = isl_union_set_add_set(copy(), set.release());
   return manage(res);
 }
 
-isl::union_set union_set::affine_hull() const
+union_set union_set::affine_hull() const
 {
   auto res = isl_union_set_affine_hull(copy());
   return manage(res);
 }
 
-isl::union_set union_set::align_params(isl::space model) const
+union_set union_set::align_params(space model) const
 {
   auto res = isl_union_set_align_params(copy(), model.release());
   return manage(res);
 }
 
-isl::union_set union_set::apply(isl::union_map umap) const
+union_set union_set::apply(union_map umap) const
 {
   auto res = isl_union_set_apply(copy(), umap.release());
   return manage(res);
 }
 
-isl::union_set union_set::coalesce() const
+union_set union_set::coalesce() const
 {
   auto res = isl_union_set_coalesce(copy());
   return manage(res);
 }
 
-isl::union_set union_set::coefficients() const
+union_set union_set::coefficients() const
 {
   auto res = isl_union_set_coefficients(copy());
   return manage(res);
 }
 
-isl::schedule union_set::compute_schedule(isl::union_map validity, isl::union_map proximity) const
+schedule union_set::compute_schedule(union_map validity, union_map proximity) const
 {
   auto res = isl_union_set_compute_schedule(copy(), validity.release(), proximity.release());
   return manage(res);
 }
 
-isl::boolean union_set::contains(const isl::space &space) const
+boolean union_set::contains(const space &space) const
 {
   auto res = isl_union_set_contains(get(), space.get());
   return manage(res);
 }
 
-isl::union_set union_set::detect_equalities() const
+union_set union_set::detect_equalities() const
 {
   auto res = isl_union_set_detect_equalities(copy());
   return manage(res);
@@ -18540,47 +18540,47 @@ unsigned int union_set::dim(isl::dim typ
   return res;
 }
 
-isl::union_set union_set::empty(isl::space space)
+union_set union_set::empty(space space)
 {
   auto res = isl_union_set_empty(space.release());
   return manage(res);
 }
 
-isl::set union_set::extract_set(isl::space dim) const
+set union_set::extract_set(space dim) const
 {
   auto res = isl_union_set_extract_set(get(), dim.release());
   return manage(res);
 }
 
-isl::stat union_set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const
+stat union_set::foreach_point(const std::function<stat(point)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::point)> *func;
+    const std::function<stat(point)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_point *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_set_foreach_point(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::stat union_set::foreach_set(const std::function<isl::stat(isl::set)> &fn) const
+stat union_set::foreach_set(const std::function<stat(set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::set)> *func;
+    const std::function<stat(set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_set *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_set_foreach_set(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::basic_set_list union_set::get_basic_set_list() const
+basic_set_list union_set::get_basic_set_list() const
 {
   auto res = isl_union_set_get_basic_set_list(get());
   return manage(res);
@@ -18592,127 +18592,127 @@ uint32_t union_set::get_hash() const
   return res;
 }
 
-isl::set_list union_set::get_set_list() const
+set_list union_set::get_set_list() const
 {
   auto res = isl_union_set_get_set_list(get());
   return manage(res);
 }
 
-isl::space union_set::get_space() const
+space union_set::get_space() const
 {
   auto res = isl_union_set_get_space(get());
   return manage(res);
 }
 
-isl::union_set union_set::gist(isl::union_set context) const
+union_set union_set::gist(union_set context) const
 {
   auto res = isl_union_set_gist(copy(), context.release());
   return manage(res);
 }
 
-isl::union_set union_set::gist_params(isl::set set) const
+union_set union_set::gist_params(set set) const
 {
   auto res = isl_union_set_gist_params(copy(), set.release());
   return manage(res);
 }
 
-isl::union_map union_set::identity() const
+union_map union_set::identity() const
 {
   auto res = isl_union_set_identity(copy());
   return manage(res);
 }
 
-isl::union_pw_multi_aff union_set::identity_union_pw_multi_aff() const
+union_pw_multi_aff union_set::identity_union_pw_multi_aff() const
 {
   auto res = isl_union_set_identity_union_pw_multi_aff(copy());
   return manage(res);
 }
 
-isl::union_set union_set::intersect(isl::union_set uset2) const
+union_set union_set::intersect(union_set uset2) const
 {
   auto res = isl_union_set_intersect(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_set union_set::intersect_params(isl::set set) const
+union_set union_set::intersect_params(set set) const
 {
   auto res = isl_union_set_intersect_params(copy(), set.release());
   return manage(res);
 }
 
-isl::boolean union_set::is_disjoint(const isl::union_set &uset2) const
+boolean union_set::is_disjoint(const union_set &uset2) const
 {
   auto res = isl_union_set_is_disjoint(get(), uset2.get());
   return manage(res);
 }
 
-isl::boolean union_set::is_empty() const
+boolean union_set::is_empty() const
 {
   auto res = isl_union_set_is_empty(get());
   return manage(res);
 }
 
-isl::boolean union_set::is_equal(const isl::union_set &uset2) const
+boolean union_set::is_equal(const union_set &uset2) const
 {
   auto res = isl_union_set_is_equal(get(), uset2.get());
   return manage(res);
 }
 
-isl::boolean union_set::is_params() const
+boolean union_set::is_params() const
 {
   auto res = isl_union_set_is_params(get());
   return manage(res);
 }
 
-isl::boolean union_set::is_strict_subset(const isl::union_set &uset2) const
+boolean union_set::is_strict_subset(const union_set &uset2) const
 {
   auto res = isl_union_set_is_strict_subset(get(), uset2.get());
   return manage(res);
 }
 
-isl::boolean union_set::is_subset(const isl::union_set &uset2) const
+boolean union_set::is_subset(const union_set &uset2) const
 {
   auto res = isl_union_set_is_subset(get(), uset2.get());
   return manage(res);
 }
 
-isl::union_map union_set::lex_ge_union_set(isl::union_set uset2) const
+union_map union_set::lex_ge_union_set(union_set uset2) const
 {
   auto res = isl_union_set_lex_ge_union_set(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_map union_set::lex_gt_union_set(isl::union_set uset2) const
+union_map union_set::lex_gt_union_set(union_set uset2) const
 {
   auto res = isl_union_set_lex_gt_union_set(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_map union_set::lex_le_union_set(isl::union_set uset2) const
+union_map union_set::lex_le_union_set(union_set uset2) const
 {
   auto res = isl_union_set_lex_le_union_set(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_map union_set::lex_lt_union_set(isl::union_set uset2) const
+union_map union_set::lex_lt_union_set(union_set uset2) const
 {
   auto res = isl_union_set_lex_lt_union_set(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_set union_set::lexmax() const
+union_set union_set::lexmax() const
 {
   auto res = isl_union_set_lexmax(copy());
   return manage(res);
 }
 
-isl::union_set union_set::lexmin() const
+union_set union_set::lexmin() const
 {
   auto res = isl_union_set_lexmin(copy());
   return manage(res);
 }
 
-isl::multi_val union_set::min_multi_union_pw_aff(const isl::multi_union_pw_aff &obj) const
+multi_val union_set::min_multi_union_pw_aff(const multi_union_pw_aff &obj) const
 {
   auto res = isl_union_set_min_multi_union_pw_aff(get(), obj.get());
   return manage(res);
@@ -18724,125 +18724,125 @@ int union_set::n_set() const
   return res;
 }
 
-isl::set union_set::params() const
+set union_set::params() const
 {
   auto res = isl_union_set_params(copy());
   return manage(res);
 }
 
-isl::union_set union_set::polyhedral_hull() const
+union_set union_set::polyhedral_hull() const
 {
   auto res = isl_union_set_polyhedral_hull(copy());
   return manage(res);
 }
 
-isl::union_set union_set::preimage(isl::multi_aff ma) const
+union_set union_set::preimage(multi_aff ma) const
 {
   auto res = isl_union_set_preimage_multi_aff(copy(), ma.release());
   return manage(res);
 }
 
-isl::union_set union_set::preimage(isl::pw_multi_aff pma) const
+union_set union_set::preimage(pw_multi_aff pma) const
 {
   auto res = isl_union_set_preimage_pw_multi_aff(copy(), pma.release());
   return manage(res);
 }
 
-isl::union_set union_set::preimage(isl::union_pw_multi_aff upma) const
+union_set union_set::preimage(union_pw_multi_aff upma) const
 {
   auto res = isl_union_set_preimage_union_pw_multi_aff(copy(), upma.release());
   return manage(res);
 }
 
-isl::union_set union_set::product(isl::union_set uset2) const
+union_set union_set::product(union_set uset2) const
 {
   auto res = isl_union_set_product(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_set union_set::project_out(isl::dim type, unsigned int first, unsigned int n) const
+union_set union_set::project_out(isl::dim type, unsigned int first, unsigned int n) const
 {
   auto res = isl_union_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n);
   return manage(res);
 }
 
-isl::union_set union_set::remove_divs() const
+union_set union_set::remove_divs() const
 {
   auto res = isl_union_set_remove_divs(copy());
   return manage(res);
 }
 
-isl::union_set union_set::remove_redundancies() const
+union_set union_set::remove_redundancies() const
 {
   auto res = isl_union_set_remove_redundancies(copy());
   return manage(res);
 }
 
-isl::union_set union_set::reset_user() const
+union_set union_set::reset_user() const
 {
   auto res = isl_union_set_reset_user(copy());
   return manage(res);
 }
 
-isl::basic_set union_set::sample() const
+basic_set union_set::sample() const
 {
   auto res = isl_union_set_sample(copy());
   return manage(res);
 }
 
-isl::point union_set::sample_point() const
+point union_set::sample_point() const
 {
   auto res = isl_union_set_sample_point(copy());
   return manage(res);
 }
 
-isl::union_set union_set::simple_hull() const
+union_set union_set::simple_hull() const
 {
   auto res = isl_union_set_simple_hull(copy());
   return manage(res);
 }
 
-isl::union_set union_set::solutions() const
+union_set union_set::solutions() const
 {
   auto res = isl_union_set_solutions(copy());
   return manage(res);
 }
 
-isl::union_set union_set::subtract(isl::union_set uset2) const
+union_set union_set::subtract(union_set uset2) const
 {
   auto res = isl_union_set_subtract(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_set union_set::unite(isl::union_set uset2) const
+union_set union_set::unite(union_set uset2) const
 {
   auto res = isl_union_set_union(copy(), uset2.release());
   return manage(res);
 }
 
-isl::union_set union_set::universe() const
+union_set union_set::universe() const
 {
   auto res = isl_union_set_universe(copy());
   return manage(res);
 }
 
-isl::union_map union_set::unwrap() const
+union_map union_set::unwrap() const
 {
   auto res = isl_union_set_unwrap(copy());
   return manage(res);
 }
 
-isl::union_map union_set::wrapped_domain_map() const
+union_map union_set::wrapped_domain_map() const
 {
   auto res = isl_union_set_wrapped_domain_map(copy());
   return manage(res);
 }
 
 // implementations for isl::union_set_list
-isl::union_set_list manage(__isl_take isl_union_set_list *ptr) {
+union_set_list manage(__isl_take isl_union_set_list *ptr) {
   return union_set_list(ptr);
 }
-isl::union_set_list manage_copy(__isl_keep isl_union_set_list *ptr) {
+union_set_list manage_copy(__isl_keep isl_union_set_list *ptr) {
   ptr = isl_union_set_list_copy(ptr);
   return union_set_list(ptr);
 }
@@ -18850,7 +18850,7 @@ isl::union_set_list manage_copy(__isl_ke
 union_set_list::union_set_list()
     : ptr(nullptr) {}
 
-union_set_list::union_set_list(const isl::union_set_list &obj)
+union_set_list::union_set_list(const union_set_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -18863,7 +18863,7 @@ union_set_list::union_set_list(__isl_tak
     : ptr(ptr) {}
 
 
-union_set_list &union_set_list::operator=(isl::union_set_list obj) {
+union_set_list &union_set_list::operator=(union_set_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -18895,8 +18895,8 @@ union_set_list::operator bool() const {
 }
 
 
-isl::ctx union_set_list::get_ctx() const {
-  return isl::ctx(isl_union_set_list_get_ctx(ptr));
+ctx union_set_list::get_ctx() const {
+  return ctx(isl_union_set_list_get_ctx(ptr));
 }
 
 void union_set_list::dump() const {
@@ -18904,63 +18904,63 @@ void union_set_list::dump() const {
 }
 
 
-isl::union_set_list union_set_list::add(isl::union_set el) const
+union_set_list union_set_list::add(union_set el) const
 {
   auto res = isl_union_set_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::union_set_list union_set_list::alloc(isl::ctx ctx, int n)
+union_set_list union_set_list::alloc(ctx ctx, int n)
 {
   auto res = isl_union_set_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::union_set_list union_set_list::concat(isl::union_set_list list2) const
+union_set_list union_set_list::concat(union_set_list list2) const
 {
   auto res = isl_union_set_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::union_set_list union_set_list::drop(unsigned int first, unsigned int n) const
+union_set_list union_set_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_union_set_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat union_set_list::foreach(const std::function<isl::stat(isl::union_set)> &fn) const
+stat union_set_list::foreach(const std::function<stat(union_set)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::union_set)> *func;
+    const std::function<stat(union_set)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_union_set *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_union_set_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::union_set_list union_set_list::from_union_set(isl::union_set el)
+union_set_list union_set_list::from_union_set(union_set el)
 {
   auto res = isl_union_set_list_from_union_set(el.release());
   return manage(res);
 }
 
-isl::union_set union_set_list::get_at(int index) const
+union_set union_set_list::get_at(int index) const
 {
   auto res = isl_union_set_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::union_set union_set_list::get_union_set(int index) const
+union_set union_set_list::get_union_set(int index) const
 {
   auto res = isl_union_set_list_get_union_set(get(), index);
   return manage(res);
 }
 
-isl::union_set_list union_set_list::insert(unsigned int pos, isl::union_set el) const
+union_set_list union_set_list::insert(unsigned int pos, union_set el) const
 {
   auto res = isl_union_set_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -18972,13 +18972,13 @@ int union_set_list::n_union_set() const
   return res;
 }
 
-isl::union_set_list union_set_list::reverse() const
+union_set_list union_set_list::reverse() const
 {
   auto res = isl_union_set_list_reverse(copy());
   return manage(res);
 }
 
-isl::union_set_list union_set_list::set_union_set(int index, isl::union_set el) const
+union_set_list union_set_list::set_union_set(int index, union_set el) const
 {
   auto res = isl_union_set_list_set_union_set(copy(), index, el.release());
   return manage(res);
@@ -18990,23 +18990,23 @@ int union_set_list::size() const
   return res;
 }
 
-isl::union_set_list union_set_list::swap(unsigned int pos1, unsigned int pos2) const
+union_set_list union_set_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_union_set_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
-isl::union_set union_set_list::unite() const
+union_set union_set_list::unite() const
 {
   auto res = isl_union_set_list_union(copy());
   return manage(res);
 }
 
 // implementations for isl::val
-isl::val manage(__isl_take isl_val *ptr) {
+val manage(__isl_take isl_val *ptr) {
   return val(ptr);
 }
-isl::val manage_copy(__isl_keep isl_val *ptr) {
+val manage_copy(__isl_keep isl_val *ptr) {
   ptr = isl_val_copy(ptr);
   return val(ptr);
 }
@@ -19014,7 +19014,7 @@ isl::val manage_copy(__isl_keep isl_val
 val::val()
     : ptr(nullptr) {}
 
-val::val(const isl::val &obj)
+val::val(const val &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -19026,18 +19026,18 @@ val::val(std::nullptr_t)
 val::val(__isl_take isl_val *ptr)
     : ptr(ptr) {}
 
-val::val(isl::ctx ctx, const std::string &str)
+val::val(ctx ctx, const std::string &str)
 {
   auto res = isl_val_read_from_str(ctx.release(), str.c_str());
   ptr = res;
 }
-val::val(isl::ctx ctx, long i)
+val::val(ctx ctx, long i)
 {
   auto res = isl_val_int_from_si(ctx.release(), i);
   ptr = res;
 }
 
-val &val::operator=(isl::val obj) {
+val &val::operator=(val obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -19069,8 +19069,8 @@ val::operator bool() const {
 }
 
 
-isl::ctx val::get_ctx() const {
-  return isl::ctx(isl_val_get_ctx(ptr));
+ctx val::get_ctx() const {
+  return ctx(isl_val_get_ctx(ptr));
 }
 std::string val::to_str() const {
   char *Tmp = isl_val_to_str(get());
@@ -19087,37 +19087,37 @@ void val::dump() const {
 }
 
 
-isl::val val::two_exp() const
+val val::two_exp() const
 {
   auto res = isl_val_2exp(copy());
   return manage(res);
 }
 
-isl::val val::abs() const
+val val::abs() const
 {
   auto res = isl_val_abs(copy());
   return manage(res);
 }
 
-isl::boolean val::abs_eq(const isl::val &v2) const
+boolean val::abs_eq(const val &v2) const
 {
   auto res = isl_val_abs_eq(get(), v2.get());
   return manage(res);
 }
 
-isl::val val::add(isl::val v2) const
+val val::add(val v2) const
 {
   auto res = isl_val_add(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::add_ui(unsigned long v2) const
+val val::add_ui(unsigned long v2) const
 {
   auto res = isl_val_add_ui(copy(), v2);
   return manage(res);
 }
 
-isl::val val::ceil() const
+val val::ceil() const
 {
   auto res = isl_val_ceil(copy());
   return manage(res);
@@ -19129,37 +19129,37 @@ int val::cmp_si(long i) const
   return res;
 }
 
-isl::val val::div(isl::val v2) const
+val val::div(val v2) const
 {
   auto res = isl_val_div(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::div_ui(unsigned long v2) const
+val val::div_ui(unsigned long v2) const
 {
   auto res = isl_val_div_ui(copy(), v2);
   return manage(res);
 }
 
-isl::boolean val::eq(const isl::val &v2) const
+boolean val::eq(const val &v2) const
 {
   auto res = isl_val_eq(get(), v2.get());
   return manage(res);
 }
 
-isl::val val::floor() const
+val val::floor() const
 {
   auto res = isl_val_floor(copy());
   return manage(res);
 }
 
-isl::val val::gcd(isl::val v2) const
+val val::gcd(val v2) const
 {
   auto res = isl_val_gcd(copy(), v2.release());
   return manage(res);
 }
 
-isl::boolean val::ge(const isl::val &v2) const
+boolean val::ge(const val &v2) const
 {
   auto res = isl_val_ge(get(), v2.get());
   return manage(res);
@@ -19177,151 +19177,151 @@ long val::get_num_si() const
   return res;
 }
 
-isl::boolean val::gt(const isl::val &v2) const
+boolean val::gt(const val &v2) const
 {
   auto res = isl_val_gt(get(), v2.get());
   return manage(res);
 }
 
-isl::boolean val::gt_si(long i) const
+boolean val::gt_si(long i) const
 {
   auto res = isl_val_gt_si(get(), i);
   return manage(res);
 }
 
-isl::val val::infty(isl::ctx ctx)
+val val::infty(ctx ctx)
 {
   auto res = isl_val_infty(ctx.release());
   return manage(res);
 }
 
-isl::val val::int_from_ui(isl::ctx ctx, unsigned long u)
+val val::int_from_ui(ctx ctx, unsigned long u)
 {
   auto res = isl_val_int_from_ui(ctx.release(), u);
   return manage(res);
 }
 
-isl::val val::inv() const
+val val::inv() const
 {
   auto res = isl_val_inv(copy());
   return manage(res);
 }
 
-isl::boolean val::is_divisible_by(const isl::val &v2) const
+boolean val::is_divisible_by(const val &v2) const
 {
   auto res = isl_val_is_divisible_by(get(), v2.get());
   return manage(res);
 }
 
-isl::boolean val::is_infty() const
+boolean val::is_infty() const
 {
   auto res = isl_val_is_infty(get());
   return manage(res);
 }
 
-isl::boolean val::is_int() const
+boolean val::is_int() const
 {
   auto res = isl_val_is_int(get());
   return manage(res);
 }
 
-isl::boolean val::is_nan() const
+boolean val::is_nan() const
 {
   auto res = isl_val_is_nan(get());
   return manage(res);
 }
 
-isl::boolean val::is_neg() const
+boolean val::is_neg() const
 {
   auto res = isl_val_is_neg(get());
   return manage(res);
 }
 
-isl::boolean val::is_neginfty() const
+boolean val::is_neginfty() const
 {
   auto res = isl_val_is_neginfty(get());
   return manage(res);
 }
 
-isl::boolean val::is_negone() const
+boolean val::is_negone() const
 {
   auto res = isl_val_is_negone(get());
   return manage(res);
 }
 
-isl::boolean val::is_nonneg() const
+boolean val::is_nonneg() const
 {
   auto res = isl_val_is_nonneg(get());
   return manage(res);
 }
 
-isl::boolean val::is_nonpos() const
+boolean val::is_nonpos() const
 {
   auto res = isl_val_is_nonpos(get());
   return manage(res);
 }
 
-isl::boolean val::is_one() const
+boolean val::is_one() const
 {
   auto res = isl_val_is_one(get());
   return manage(res);
 }
 
-isl::boolean val::is_pos() const
+boolean val::is_pos() const
 {
   auto res = isl_val_is_pos(get());
   return manage(res);
 }
 
-isl::boolean val::is_rat() const
+boolean val::is_rat() const
 {
   auto res = isl_val_is_rat(get());
   return manage(res);
 }
 
-isl::boolean val::is_zero() const
+boolean val::is_zero() const
 {
   auto res = isl_val_is_zero(get());
   return manage(res);
 }
 
-isl::boolean val::le(const isl::val &v2) const
+boolean val::le(const val &v2) const
 {
   auto res = isl_val_le(get(), v2.get());
   return manage(res);
 }
 
-isl::boolean val::lt(const isl::val &v2) const
+boolean val::lt(const val &v2) const
 {
   auto res = isl_val_lt(get(), v2.get());
   return manage(res);
 }
 
-isl::val val::max(isl::val v2) const
+val val::max(val v2) const
 {
   auto res = isl_val_max(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::min(isl::val v2) const
+val val::min(val v2) const
 {
   auto res = isl_val_min(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::mod(isl::val v2) const
+val val::mod(val v2) const
 {
   auto res = isl_val_mod(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::mul(isl::val v2) const
+val val::mul(val v2) const
 {
   auto res = isl_val_mul(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::mul_ui(unsigned long v2) const
+val val::mul_ui(unsigned long v2) const
 {
   auto res = isl_val_mul_ui(copy(), v2);
   return manage(res);
@@ -19333,43 +19333,43 @@ size_t val::n_abs_num_chunks(size_t size
   return res;
 }
 
-isl::val val::nan(isl::ctx ctx)
+val val::nan(ctx ctx)
 {
   auto res = isl_val_nan(ctx.release());
   return manage(res);
 }
 
-isl::boolean val::ne(const isl::val &v2) const
+boolean val::ne(const val &v2) const
 {
   auto res = isl_val_ne(get(), v2.get());
   return manage(res);
 }
 
-isl::val val::neg() const
+val val::neg() const
 {
   auto res = isl_val_neg(copy());
   return manage(res);
 }
 
-isl::val val::neginfty(isl::ctx ctx)
+val val::neginfty(ctx ctx)
 {
   auto res = isl_val_neginfty(ctx.release());
   return manage(res);
 }
 
-isl::val val::negone(isl::ctx ctx)
+val val::negone(ctx ctx)
 {
   auto res = isl_val_negone(ctx.release());
   return manage(res);
 }
 
-isl::val val::one(isl::ctx ctx)
+val val::one(ctx ctx)
 {
   auto res = isl_val_one(ctx.release());
   return manage(res);
 }
 
-isl::val val::set_si(long i) const
+val val::set_si(long i) const
 {
   auto res = isl_val_set_si(copy(), i);
   return manage(res);
@@ -19381,35 +19381,35 @@ int val::sgn() const
   return res;
 }
 
-isl::val val::sub(isl::val v2) const
+val val::sub(val v2) const
 {
   auto res = isl_val_sub(copy(), v2.release());
   return manage(res);
 }
 
-isl::val val::sub_ui(unsigned long v2) const
+val val::sub_ui(unsigned long v2) const
 {
   auto res = isl_val_sub_ui(copy(), v2);
   return manage(res);
 }
 
-isl::val val::trunc() const
+val val::trunc() const
 {
   auto res = isl_val_trunc(copy());
   return manage(res);
 }
 
-isl::val val::zero(isl::ctx ctx)
+val val::zero(ctx ctx)
 {
   auto res = isl_val_zero(ctx.release());
   return manage(res);
 }
 
 // implementations for isl::val_list
-isl::val_list manage(__isl_take isl_val_list *ptr) {
+val_list manage(__isl_take isl_val_list *ptr) {
   return val_list(ptr);
 }
-isl::val_list manage_copy(__isl_keep isl_val_list *ptr) {
+val_list manage_copy(__isl_keep isl_val_list *ptr) {
   ptr = isl_val_list_copy(ptr);
   return val_list(ptr);
 }
@@ -19417,7 +19417,7 @@ isl::val_list manage_copy(__isl_keep isl
 val_list::val_list()
     : ptr(nullptr) {}
 
-val_list::val_list(const isl::val_list &obj)
+val_list::val_list(const val_list &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -19430,7 +19430,7 @@ val_list::val_list(__isl_take isl_val_li
     : ptr(ptr) {}
 
 
-val_list &val_list::operator=(isl::val_list obj) {
+val_list &val_list::operator=(val_list obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -19462,8 +19462,8 @@ val_list::operator bool() const {
 }
 
 
-isl::ctx val_list::get_ctx() const {
-  return isl::ctx(isl_val_list_get_ctx(ptr));
+ctx val_list::get_ctx() const {
+  return ctx(isl_val_list_get_ctx(ptr));
 }
 
 void val_list::dump() const {
@@ -19471,63 +19471,63 @@ void val_list::dump() const {
 }
 
 
-isl::val_list val_list::add(isl::val el) const
+val_list val_list::add(val el) const
 {
   auto res = isl_val_list_add(copy(), el.release());
   return manage(res);
 }
 
-isl::val_list val_list::alloc(isl::ctx ctx, int n)
+val_list val_list::alloc(ctx ctx, int n)
 {
   auto res = isl_val_list_alloc(ctx.release(), n);
   return manage(res);
 }
 
-isl::val_list val_list::concat(isl::val_list list2) const
+val_list val_list::concat(val_list list2) const
 {
   auto res = isl_val_list_concat(copy(), list2.release());
   return manage(res);
 }
 
-isl::val_list val_list::drop(unsigned int first, unsigned int n) const
+val_list val_list::drop(unsigned int first, unsigned int n) const
 {
   auto res = isl_val_list_drop(copy(), first, n);
   return manage(res);
 }
 
-isl::stat val_list::foreach(const std::function<isl::stat(isl::val)> &fn) const
+stat val_list::foreach(const std::function<stat(val)> &fn) const
 {
   struct fn_data {
-    const std::function<isl::stat(isl::val)> *func;
+    const std::function<stat(val)> *func;
   } fn_data = { &fn };
   auto fn_lambda = [](isl_val *arg_0, void *arg_1) -> isl_stat {
     auto *data = static_cast<struct fn_data *>(arg_1);
-    stat ret = (*data->func)(isl::manage(arg_0));
+    stat ret = (*data->func)(manage(arg_0));
     return ret.release();
   };
   auto res = isl_val_list_foreach(get(), fn_lambda, &fn_data);
   return manage(res);
 }
 
-isl::val_list val_list::from_val(isl::val el)
+val_list val_list::from_val(val el)
 {
   auto res = isl_val_list_from_val(el.release());
   return manage(res);
 }
 
-isl::val val_list::get_at(int index) const
+val val_list::get_at(int index) const
 {
   auto res = isl_val_list_get_at(get(), index);
   return manage(res);
 }
 
-isl::val val_list::get_val(int index) const
+val val_list::get_val(int index) const
 {
   auto res = isl_val_list_get_val(get(), index);
   return manage(res);
 }
 
-isl::val_list val_list::insert(unsigned int pos, isl::val el) const
+val_list val_list::insert(unsigned int pos, val el) const
 {
   auto res = isl_val_list_insert(copy(), pos, el.release());
   return manage(res);
@@ -19539,13 +19539,13 @@ int val_list::n_val() const
   return res;
 }
 
-isl::val_list val_list::reverse() const
+val_list val_list::reverse() const
 {
   auto res = isl_val_list_reverse(copy());
   return manage(res);
 }
 
-isl::val_list val_list::set_val(int index, isl::val el) const
+val_list val_list::set_val(int index, val el) const
 {
   auto res = isl_val_list_set_val(copy(), index, el.release());
   return manage(res);
@@ -19557,17 +19557,17 @@ int val_list::size() const
   return res;
 }
 
-isl::val_list val_list::swap(unsigned int pos1, unsigned int pos2) const
+val_list val_list::swap(unsigned int pos1, unsigned int pos2) const
 {
   auto res = isl_val_list_swap(copy(), pos1, pos2);
   return manage(res);
 }
 
 // implementations for isl::vec
-isl::vec manage(__isl_take isl_vec *ptr) {
+vec manage(__isl_take isl_vec *ptr) {
   return vec(ptr);
 }
-isl::vec manage_copy(__isl_keep isl_vec *ptr) {
+vec manage_copy(__isl_keep isl_vec *ptr) {
   ptr = isl_vec_copy(ptr);
   return vec(ptr);
 }
@@ -19575,7 +19575,7 @@ isl::vec manage_copy(__isl_keep isl_vec
 vec::vec()
     : ptr(nullptr) {}
 
-vec::vec(const isl::vec &obj)
+vec::vec(const vec &obj)
     : ptr(nullptr)
 {
   ptr = obj.copy();
@@ -19588,7 +19588,7 @@ vec::vec(__isl_take isl_vec *ptr)
     : ptr(ptr) {}
 
 
-vec &vec::operator=(isl::vec obj) {
+vec &vec::operator=(vec obj) {
   std::swap(this->ptr, obj.ptr);
   return *this;
 }
@@ -19620,8 +19620,8 @@ vec::operator bool() const {
 }
 
 
-isl::ctx vec::get_ctx() const {
-  return isl::ctx(isl_vec_get_ctx(ptr));
+ctx vec::get_ctx() const {
+  return ctx(isl_vec_get_ctx(ptr));
 }
 
 void vec::dump() const {
@@ -19629,121 +19629,121 @@ void vec::dump() const {
 }
 
 
-isl::vec vec::add(isl::vec vec2) const
+vec vec::add(vec vec2) const
 {
   auto res = isl_vec_add(copy(), vec2.release());
   return manage(res);
 }
 
-isl::vec vec::add_els(unsigned int n) const
+vec vec::add_els(unsigned int n) const
 {
   auto res = isl_vec_add_els(copy(), n);
   return manage(res);
 }
 
-isl::vec vec::alloc(isl::ctx ctx, unsigned int size)
+vec vec::alloc(ctx ctx, unsigned int size)
 {
   auto res = isl_vec_alloc(ctx.release(), size);
   return manage(res);
 }
 
-isl::vec vec::ceil() const
+vec vec::ceil() const
 {
   auto res = isl_vec_ceil(copy());
   return manage(res);
 }
 
-isl::vec vec::clr() const
+vec vec::clr() const
 {
   auto res = isl_vec_clr(copy());
   return manage(res);
 }
 
-int vec::cmp_element(const isl::vec &vec2, int pos) const
+int vec::cmp_element(const vec &vec2, int pos) const
 {
   auto res = isl_vec_cmp_element(get(), vec2.get(), pos);
   return res;
 }
 
-isl::vec vec::concat(isl::vec vec2) const
+vec vec::concat(vec vec2) const
 {
   auto res = isl_vec_concat(copy(), vec2.release());
   return manage(res);
 }
 
-isl::vec vec::drop_els(unsigned int pos, unsigned int n) const
+vec vec::drop_els(unsigned int pos, unsigned int n) const
 {
   auto res = isl_vec_drop_els(copy(), pos, n);
   return manage(res);
 }
 
-isl::vec vec::extend(unsigned int size) const
+vec vec::extend(unsigned int size) const
 {
   auto res = isl_vec_extend(copy(), size);
   return manage(res);
 }
 
-isl::val vec::get_element_val(int pos) const
+val vec::get_element_val(int pos) const
 {
   auto res = isl_vec_get_element_val(get(), pos);
   return manage(res);
 }
 
-isl::vec vec::insert_els(unsigned int pos, unsigned int n) const
+vec vec::insert_els(unsigned int pos, unsigned int n) const
 {
   auto res = isl_vec_insert_els(copy(), pos, n);
   return manage(res);
 }
 
-isl::vec vec::insert_zero_els(unsigned int pos, unsigned int n) const
+vec vec::insert_zero_els(unsigned int pos, unsigned int n) const
 {
   auto res = isl_vec_insert_zero_els(copy(), pos, n);
   return manage(res);
 }
 
-isl::boolean vec::is_equal(const isl::vec &vec2) const
+boolean vec::is_equal(const vec &vec2) const
 {
   auto res = isl_vec_is_equal(get(), vec2.get());
   return manage(res);
 }
 
-isl::vec vec::mat_product(isl::mat mat) const
+vec vec::mat_product(mat mat) const
 {
   auto res = isl_vec_mat_product(copy(), mat.release());
   return manage(res);
 }
 
-isl::vec vec::move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const
+vec vec::move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const
 {
   auto res = isl_vec_move_els(copy(), dst_col, src_col, n);
   return manage(res);
 }
 
-isl::vec vec::neg() const
+vec vec::neg() const
 {
   auto res = isl_vec_neg(copy());
   return manage(res);
 }
 
-isl::vec vec::set_element_si(int pos, int v) const
+vec vec::set_element_si(int pos, int v) const
 {
   auto res = isl_vec_set_element_si(copy(), pos, v);
   return manage(res);
 }
 
-isl::vec vec::set_element_val(int pos, isl::val v) const
+vec vec::set_element_val(int pos, val v) const
 {
   auto res = isl_vec_set_element_val(copy(), pos, v.release());
   return manage(res);
 }
 
-isl::vec vec::set_si(int v) const
+vec vec::set_si(int v) const
 {
   auto res = isl_vec_set_si(copy(), v);
   return manage(res);
 }
 
-isl::vec vec::set_val(isl::val v) const
+vec vec::set_val(val v) const
 {
   auto res = isl_vec_set_val(copy(), v.release());
   return manage(res);
@@ -19755,19 +19755,19 @@ int vec::size() const
   return res;
 }
 
-isl::vec vec::sort() const
+vec vec::sort() const
 {
   auto res = isl_vec_sort(copy());
   return manage(res);
 }
 
-isl::vec vec::zero(isl::ctx ctx, unsigned int size)
+vec vec::zero(ctx ctx, unsigned int size)
 {
   auto res = isl_vec_zero(ctx.release(), size);
   return manage(res);
 }
 
-isl::vec vec::zero_extend(unsigned int size) const
+vec vec::zero_extend(unsigned int size) const
 {
   auto res = isl_vec_zero_extend(copy(), size);
   return manage(res);




More information about the llvm-commits mailing list