make isl_multi_* files more self-contained
[platform/upstream/isl.git] / include / isl / multi.h
1 #ifndef ISL_MULTI_H
2 #define ISL_MULTI_H
3
4 #include <isl/space.h>
5 #include <isl/list.h>
6
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
10
11 #define ISL_DECLARE_MULTI(BASE)                                         \
12 __isl_give isl_multi_##BASE *isl_multi_##BASE##_from_##BASE##_list(     \
13         __isl_take isl_space *space, __isl_take isl_##BASE##_list *list); \
14 const char *isl_multi_##BASE##_get_tuple_name(                          \
15         __isl_keep isl_multi_##BASE *multi, enum isl_dim_type type);    \
16 __isl_give isl_multi_##BASE *isl_multi_##BASE##_set_##BASE(             \
17         __isl_take isl_multi_##BASE *multi, int pos,                    \
18         __isl_take isl_##BASE *el);
19
20 ISL_DECLARE_MULTI(aff)
21 ISL_DECLARE_MULTI(pw_aff)
22
23 #if defined(__cplusplus)
24 }
25 #endif
26
27 #endif