
On Thu, 18 Nov 2004 15:21:06 -0700, Chris Goller <cgoller@magpiesystems.com> wrote:
David-
Thanks.
Upon reading my poorly phrased email I realized this:
I want unique keys so that if the data looks like this:
key value 3 1 1 2 1 4 4 3 5 5 5 9
So, what I would like to do is to a print each value for a particular key in such a way:
key: value: 1---- |------2 |------4 3---- |------1 4---- |------3 5---- |------5 |------9
Chris - the C++ standard says (about associative containers) "The fundamental property of iterators of associative containers is that they iterate through the containers in the nondescending order of keys where nondescending is defined by the comparison that was used to construct them." which says to me So, I guess you could construct a (forward-only) filtering&transforming iterator based on a multimap iterator that knew the last key it visited and skip any keys of equal ordering, using the maps ordering predicate (I'm assuming operator < here, which is wrong - use the multimap's predicate) : template<typename KeyType> bool KeysAreTheSame(KeyType k1, KeyType k2) { return !(k1<k2 || k2<k1); } It's a bit messy and would have to be forward-only and there's probably a better way of doing it...but I think it'd do what you want. Stuart Dootson