ToDo: This Iterator is a mess. The main problems are:
+ Accessing sub_ is tricky because from inside the Iterator we don't know if current_ points to a valid element. If it does not, we cannot access sub_. (That's also why op== is crippled and only compares current_.)
+ Node::Iterator is only the base of a class hierarchy. Thus, dealing with such iterators involves allocating memory for the respective type.
Definition at line 312 of file invoice.h.
OSB_LIB::ItemMap::Iterator::Iterator | ( | const NodeList::iterator & | nli | ) | [inline, explicit] |
OSB_LIB::ItemMap::Iterator::~Iterator | ( | ) | [inline] |
OSB_LIB::ItemMap::Iterator::Iterator | ( | const Iterator & | rhs | ) |
InvoiceItem* OSB_LIB::ItemMap::Iterator::operator * | ( | ) | const |
bool OSB_LIB::ItemMap::Iterator::operator!= | ( | const Iterator & | rhs | ) | const |
Iterator OSB_LIB::ItemMap::Iterator::operator++ | ( | int | ) |
Iterator OSB_LIB::ItemMap::Iterator::operator++ | ( | ) |
bool OSB_LIB::ItemMap::Iterator::operator== | ( | const Iterator & | rhs | ) | const |
NodeList::iterator OSB_LIB::ItemMap::Iterator::current_ |
Node::Iterator* OSB_LIB::ItemMap::Iterator::sub_ [mutable] |
Sub_ is mutable so that op* can be const.
Definition at line 327 of file invoice.h.
Referenced by ~Iterator().