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