Add _hash, _equal_p, _out_str, _in_str, _get_str, _parse_str
for intrusive list.
This commit is contained in:
1 parent
4f3dad4bea
commit
c87696f5c1
3 files changed
+8
-2
No files matched your search
Binary file not shown.
+5
-1
@@ -26,6 +26,7 @@
|
|||||||
#define MSTARLIB_I_LIST_H
|
#define MSTARLIB_I_LIST_H
|
||||||
|
|
||||||
#include "m-core.h"
|
#include "m-core.h"
|
||||||
|
#include "m-list.h" // For LISTI_ITBASE_DEF
|
||||||
|
|
||||||
/* Interface to add to a structure to enable intrusive doubly-linked support.
|
/* Interface to add to a structure to enable intrusive doubly-linked support.
|
||||||
name: name of the intrusive list.
|
name: name of the intrusive list.
|
||||||
@@ -587,5 +588,8 @@ typedef struct ilist_head_s {
|
|||||||
it->prev = next; \
|
it->prev = next; \
|
||||||
ILISTI_CONTRACT(name, list); \
|
ILISTI_CONTRACT(name, list); \
|
||||||
} \
|
} \
|
||||||
|
\
|
||||||
|
LISTI_ITBASE_DEF(name, type, oplist, list_t, list_it_t)
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
+3
-1
@@ -35,7 +35,7 @@ typedef struct test_s {
|
|||||||
|
|
||||||
#include "coverage.h"
|
#include "coverage.h"
|
||||||
START_COVERAGE
|
START_COVERAGE
|
||||||
ILIST_DEF(ilist_tname, test_t)
|
ILIST_DEF(ilist_tname, test_t, M_POD_OPLIST)
|
||||||
END_COVERAGE
|
END_COVERAGE
|
||||||
|
|
||||||
ILIST_DEF(ilist_free, test_t, (DEL(free)))
|
ILIST_DEF(ilist_free, test_t, (DEL(free)))
|
||||||
@@ -143,6 +143,7 @@ static void test2(void)
|
|||||||
}
|
}
|
||||||
assert (ilist_tname_size(list1) == NUM);
|
assert (ilist_tname_size(list1) == NUM);
|
||||||
assert (ilist_tname_size(list2) == 0);
|
assert (ilist_tname_size(list2) == 0);
|
||||||
|
assert (ilist_tname_equal_p(list1, list2) == false);
|
||||||
ilist_tname_it_t it;
|
ilist_tname_it_t it;
|
||||||
ilist_tname_it (it, list1);
|
ilist_tname_it (it, list1);
|
||||||
for(int i = 0; i < NUM; i++) {
|
for(int i = 0; i < NUM; i++) {
|
||||||
@@ -151,6 +152,7 @@ static void test2(void)
|
|||||||
}
|
}
|
||||||
assert (ilist_tname_size(list1) == 0);
|
assert (ilist_tname_size(list1) == 0);
|
||||||
assert (ilist_tname_size(list2) == NUM);
|
assert (ilist_tname_size(list2) == NUM);
|
||||||
|
assert (ilist_tname_equal_p(list1, list2) == false);
|
||||||
int n = 0;
|
int n = 0;
|
||||||
for M_EACH(item, list2, ILIST_OPLIST(ilist_tname)) {
|
for M_EACH(item, list2, ILIST_OPLIST(ilist_tname)) {
|
||||||
assert (n == item->n);
|
assert (n == item->n);
|
||||||
|
|||||||
Reference in new issue
Block a user