26282395f4633888603ac01ebda92cf4de50a7ff
[platform/upstream/isl.git] / isl_multi_templ.h
1 #define xCAT(A,B) A ## B
2 #define CAT(A,B) xCAT(A,B)
3 #undef EL
4 #define EL CAT(isl_,BASE)
5 #define xMULTI(BASE) isl_multi_ ## BASE
6 #define MULTI(BASE) xMULTI(BASE)
7
8 struct MULTI(BASE) {
9         int ref;
10         isl_space *space;
11
12         int n;
13         EL *p[1];
14 };
15
16 #define ISL_DECLARE_MULTI_PRIVATE(BASE)                                 \
17 __isl_give isl_multi_##BASE *isl_multi_##BASE##_alloc(                  \
18         __isl_take isl_space *space);
19
20 ISL_DECLARE_MULTI_PRIVATE(aff)