The ConstIterator class is a sort of dynamic, generic iterator that works with the container classes. The iterator contains STL iterators of varying types (particularly those defined within the container classes) and references the correct one. Note that once an iterator has been used with one type of container it is extremely unwise to use it with another type.
I'm being lazy so the iterator is only going to support the postincrement operator.