Algorithm:
++iter // prefix
{
Repeat: advance iter to next node
Until: node is null or alive
return iter by reference
}
iter++ // postfix
{
make copy of iter
advance iter to next element
return copy by value
}
|
Code:
Iterator & operator++()
{
do Increment();
while (node_ != nullptr && node_->IsDead());
return *this;
}
Iterator operator++(int)
{
Iterator i = *this;
this->operator ++();
return i;
}
|