44 {
51 };
52
53
55
57
59
63
65
66
68 Iter iter;
69
70 ListElement* cur = iter.init(list, Iter::kHead_IterStart);
71 for (
int i = 0; cur; ++
i, cur = iter.next()) {
73 }
74
75 cur = iter.init(list, Iter::kTail_IterStart);
76 for (
int i = 0; cur; ++
i, cur = iter.prev()) {
78 }
79
80
84
86
87
89
90
92
93
94 list.
addAfter(&elements[1],
nullptr);
96
98
101
102 list.
addBefore(&elements[0], &elements[1]);
104
105 list.
addAfter(&elements[3], &elements[1]);
107
108 list.
addBefore(&elements[2], &elements[3]);
110
111 cur = iter.init(list, Iter::kHead_IterStart);
112 for (
int i = 0; cur; ++
i, cur = iter.next()) {
114 }
117 }
118
119
121 listA.
concat(std::move(listB));
123
125
127 listA.
concat(std::move(listB));
129
131
133 listA.
concat(std::move(listB));
135
137
138 listA.
concat(std::move(listB));
140
142
145 listA.
concat(std::move(listB));
147
149
150 cur = iter.init(listA, Iter::kHead_IterStart);
151 for (
int i = 0; cur; ++
i, cur = iter.next()) {
153 }
154}
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])
void addAfter(T *newEntry, T *existingEntry)
void addBefore(T *newEntry, T *existingEntry)
void concat(SkTInternalLList &&list)