ItemMap is a container similar to the STL multimap. Additionally, ItemMap lets you specify a separate sort criteria for each key, according to which the items with this key are ordered.
ToDo: That's what I would like to have. Currently ItemMap is very restricted. So much so that I didn't bother to generalize it to a template and give it a better name. (Generalizing it would also decouple it from Invoice and Section.) Therefore, the key for an ItemMap are Section objects and the value type is InvoiceItem*. Nothing more. (The main problem I had was implementing a proper iterator type for ItemMap. See below for some more details.)
In short: In its current state, do not use this ItemMap anywhere else than in the Invoice class and keep it private there!
Definition at line 196 of file invoice.h.
typedef std::map<Section, Node*> OSB_LIB::ItemMap::NodeList |
OSB_LIB::ItemMap::ItemMap | ( | const ItemMap & | ) | [private] |
OSB_LIB::ItemMap::~ItemMap | ( | ) |
Iterator OSB_LIB::ItemMap::begin | ( | ) | [inline] |
Definition at line 331 of file invoice.h.
References nodeList_.
Referenced by OSB_LIB::Invoice::itemListBegin().
Iterator OSB_LIB::ItemMap::end | ( | ) | [inline] |
Definition at line 332 of file invoice.h.
References nodeList_.
Referenced by OSB_LIB::Invoice::itemListEnd().
Definition at line 337 of file invoice.h.
References nodeList_.
Referenced by OSB_LIB::Invoice::findItem().
int OSB_LIB::ItemMap::insert | ( | const Section & | s, | |
const T & | t, | |||
InvoiceItem * | ii | |||
) |
int OSB_LIB::ItemMap::insert | ( | const Section & | s, | |
InvoiceItem * | ii | |||
) |
NodeList OSB_LIB::ItemMap::nodeList_ [private] |