Home | History | Annotate | Download | only in isl
      1 #ifndef ISL_VERTICES_H
      2 #define ISL_VERTICES_H
      3 
      4 #include <isl/set_type.h>
      5 
      6 #if defined(__cplusplus)
      7 extern "C" {
      8 #endif
      9 
     10 struct isl_external_vertex;
     11 typedef struct isl_external_vertex	isl_vertex;
     12 
     13 struct isl_cell;
     14 typedef struct isl_cell		isl_cell;
     15 
     16 struct isl_vertices;
     17 typedef struct isl_vertices	isl_vertices;
     18 
     19 isl_ctx *isl_vertex_get_ctx(__isl_keep isl_vertex *vertex);
     20 int isl_vertex_get_id(__isl_keep isl_vertex *vertex);
     21 __isl_give isl_basic_set *isl_vertex_get_domain(__isl_keep isl_vertex *vertex);
     22 __isl_give isl_basic_set *isl_vertex_get_expr(__isl_keep isl_vertex *vertex);
     23 void isl_vertex_free(__isl_take isl_vertex *vertex);
     24 
     25 __isl_give isl_vertices *isl_basic_set_compute_vertices(
     26 	__isl_keep isl_basic_set *bset);
     27 isl_ctx *isl_vertices_get_ctx(__isl_keep isl_vertices *vertices);
     28 int isl_vertices_get_n_vertices(__isl_keep isl_vertices *vertices);
     29 int isl_vertices_foreach_vertex(__isl_keep isl_vertices *vertices,
     30 	int (*fn)(__isl_take isl_vertex *vertex, void *user), void *user);
     31 void isl_vertices_free(__isl_take isl_vertices *vertices);
     32 
     33 isl_ctx *isl_cell_get_ctx(__isl_keep isl_cell *cell);
     34 __isl_give isl_basic_set *isl_cell_get_domain(__isl_keep isl_cell *cell);
     35 int isl_cell_foreach_vertex(__isl_keep isl_cell *cell,
     36 	int (*fn)(__isl_take isl_vertex *vertex, void *user), void *user);
     37 void isl_cell_free(__isl_take isl_cell *cell);
     38 
     39 int isl_vertices_foreach_cell(__isl_keep isl_vertices *vertices,
     40 	int (*fn)(__isl_take isl_cell *cell, void *user), void *user);
     41 
     42 #if defined(__cplusplus)
     43 }
     44 #endif
     45 
     46 #endif
     47