Add ALGO_INIT_VA macro.

This commit is contained in:
Patrick Pelissier committed 2017-03-19 19:46:09 +01:00
1 parent dd1a7c13f2
commit 3bd0744333
2 files changed
+16

No files matched your search

+8
View File
@@ -53,6 +53,11 @@
(ALGOI_REDUCE_MAP(dest, cont, contOp, __VA_ARGS__), \
ALGOI_REDUCE_MAP_ARG(dest, cont, contOp, __VA_ARGS__) ) )
#define ALGO_INIT_VA(dest, contOp, ...) do { \
M_GET_INIT contOp (dest); \
M_MAP2(ALGOI_INIT_VA_FUNC, (dest, M_GET_PUSH contOp, ) , __VA_ARGS__); \
} while (0)
/********************************** INTERNAL ************************************/
#define ALGOI_DEF(name, container_t, cont_oplist, type_t, type_oplist, it_t) \
@@ -421,4 +426,7 @@
M_GET_CLEAR M_GET_OPLIST cont_oplist (m_tmp); \
} while (0)
#define ALGOI_INIT_VA_FUNC(d, a) \
M_RET_ARG2 d (M_RET_ARG1 d, a) ;
#endif
+8
View File
@@ -35,6 +35,10 @@ static void test_list(void)
ALGO_MAP(l, LIST_OPLIST(int), g, 100);
list_int_clear(l);
ALGO_INIT_VA(l, LIST_OPLIST(int), 1, 2, 3, 4, 5);
assert (list_int_size(l) == 5);
list_int_clear(l);
}
static void test_array(void)
@@ -52,6 +56,10 @@ static void test_array(void)
assert( algo_array_count(l, -1) == 0);
array_int_clear(l);
ALGO_INIT_VA(l, ARRAY_OPLIST(int), 1, 2, 3, 4, 5);
assert (array_int_size(l) == 5);
array_int_clear(l);
}
static void test_string(void)