30 bool in0,
bool in1,
bool in2,
bool in3,
70 ListElement* cur = iter.init(list, Iter::kHead_IterStart);
71 for (
int i = 0; cur; ++
i, cur = iter.next()) {
75 cur = iter.init(list, Iter::kTail_IterStart);
76 for (
int i = 0; cur; ++
i, cur = iter.prev()) {
94 list.
addAfter(&elements[1],
nullptr);
102 list.
addBefore(&elements[0], &elements[1]);
105 list.
addAfter(&elements[3], &elements[1]);
108 list.
addBefore(&elements[2], &elements[3]);
111 cur = iter.init(list, Iter::kHead_IterStart);
112 for (
int i = 0; cur; ++
i, cur = iter.next()) {
121 listA.
concat(std::move(listB));
127 listA.
concat(std::move(listB));
133 listA.
concat(std::move(listB));
138 listA.
concat(std::move(listB));
145 listA.
concat(std::move(listB));
150 cur = iter.init(listA, Iter::kHead_IterStart);
151 for (
int i = 0; cur; ++
i, cur = iter.next()) {
DEF_TEST(InternalLList, reporter)
static void check_list(const SkTInternalLList< ListElement > &list, skiatest::Reporter *reporter, bool empty, int numElements, bool in0, bool in1, bool in2, bool in3, ListElement elements[4])
#define REPORTER_ASSERT(r, cond,...)
bool operator==(const ListElement &other)
void addAfter(T *newEntry, T *existingEntry)
void addBefore(T *newEntry, T *existingEntry)
void concat(SkTInternalLList &&list)
EMSCRIPTEN_KEEPALIVE void empty()