Add ALGO_INIT_VA macro.
This commit is contained in:
1 parent
dd1a7c13f2
commit
3bd0744333
2 files changed
+16
No files matched your search
@@ -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
|
||||
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user