add private isl_*_list_dup
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 3 Jul 2011 17:54:11 +0000 (19:54 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 3 Jul 2011 17:54:11 +0000 (19:54 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_list_templ.c
isl_list_templ.h

index 9504e6e..0bf8294 100644 (file)
@@ -54,6 +54,22 @@ __isl_give LIST(EL) *FN(LIST(EL),copy)(__isl_keep LIST(EL) *list)
        return list;
 }
 
+__isl_give LIST(EL) *FN(LIST(EL),dup)(__isl_keep LIST(EL) *list)
+{
+       int i;
+       LIST(EL) *dup;
+
+       if (!list)
+               return NULL;
+
+       dup = FN(LIST(EL),alloc)(FN(LIST(EL),get_ctx)(list), list->n);
+       if (!dup)
+               return NULL;
+       for (i = 0; i < list->n; ++i)
+               dup = FN(LIST(EL),add)(dup, FN(EL,copy)(list->p[i]));
+       return dup;
+}
+
 __isl_give LIST(EL) *FN(LIST(EL),add)(__isl_take LIST(EL) *list,
        __isl_take struct EL *el)
 {
index 6ceb966..a959980 100644 (file)
@@ -12,3 +12,12 @@ struct LIST(EL) {
        size_t size;
        struct EL *p[1];
 };
+
+#define ISL_DECLARE_LIST_PRIVATE(EL)                                   \
+__isl_give isl_##EL##_list *isl_##EL##_list_dup(                       \
+       __isl_keep isl_##EL##_list *list);
+
+ISL_DECLARE_LIST_PRIVATE(basic_set)
+ISL_DECLARE_LIST_PRIVATE(set)
+ISL_DECLARE_LIST_PRIVATE(aff)
+ISL_DECLARE_LIST_PRIVATE(band)