186 {
187 if (this == &anotherMonom)
188 {
189 return *this;
190 }
191
192 if (!anotherMonom.ListHead)
193 {
195 }
196 else
197 {
199
202 while (*iterator && iteratorAnother)
203 {
204 (*iterator)->Value = iteratorAnother->Value;
205 iterator = &((*iterator)->Next);
206 iteratorAnother = iteratorAnother->Next;
207 }
208
209 if (*iterator)
210 {
212 *iterator = nullptr;
213 while (nodeToDelete)
214 {
215 iteratorAnother = nodeToDelete;
216 nodeToDelete = nodeToDelete->Next;
217 delete iteratorAnother;
218 }
219 }
220 else while (iteratorAnother)
221 {
223 (*iterator)->Value = iteratorAnother->Value;
224
225 iterator = &((*iterator)->Next);
226 iteratorAnother = iteratorAnother->Next;
227 }
228 }
229 return *this;
230 }
Singly linked-list node of a Monom's variable list, with a per-class slab allocator.