OSB_LIB::ItemMap Class Reference

Collaboration diagram for OSB_LIB::ItemMap:

Collaboration graph
[legend]
List of all members.

Detailed Description

Class ItemMap.

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.

Public Types

Public Member Functions

Private Member Functions

Private Attributes

Classes


Member Typedef Documentation

typedef std::map<Section, Node*> OSB_LIB::ItemMap::NodeList

Definition at line 297 of file invoice.h.


Constructor & Destructor Documentation

OSB_LIB::ItemMap::ItemMap ( const ItemMap  )  [private]

OSB_LIB::ItemMap::ItemMap (  )  [inline]

Definition at line 200 of file invoice.h.

OSB_LIB::ItemMap::~ItemMap (  ) 


Member Function Documentation

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().

Iterator OSB_LIB::ItemMap::find ( const Section s  )  [inline]

Definition at line 337 of file invoice.h.

References nodeList_.

Referenced by OSB_LIB::Invoice::findItem().

template<typename T>
int OSB_LIB::ItemMap::insert ( const Section s,
const T &  t,
InvoiceItem ii 
)

Definition at line 1093 of file invoice.h.

References nodeList_.

int OSB_LIB::ItemMap::insert ( const Section s,
InvoiceItem ii 
)

Referenced by OSB_LIB::Invoice::newAssociateInfo(), OSB_LIB::Invoice::newInvoiceInfoItem(), OSB_LIB::Invoice::newOnetimeChargeItem(), OSB_LIB::Invoice::newSubsItem(), OSB_LIB::Invoice::newSummaryChargesInfo(), OSB_LIB::Invoice::newTotalItem(), and OSB_LIB::Invoice::newUsageItem().

ItemMap& OSB_LIB::ItemMap::operator= ( const ItemMap  )  [private]


Member Data Documentation

NodeList OSB_LIB::ItemMap::nodeList_ [private]

Definition at line 343 of file invoice.h.

Referenced by begin(), end(), find(), and insert().


The documentation for this class was generated from the following file:
Generated on Sat Sep 2 14:09:57 2006 for OSB Library by  doxygen 1.4.7