Rogue Wave banner
Previous fileTop of documentContentsIndexNext file

RWTValMultiSetIterator<T,C>

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Synopsis

#include<rw/tvmset.h>
RWTValMultiSet< T,C> vs;
RWTValMultiSetIterator< T,C> itr(vs);

Standard C++ Library Dependent!


RWTValMultiSetIterator requires the Standard C++ Library.


Description

RWTValMultiSetIterator is supplied with Tools.h++ 7 to provide an iterator interface for class RWTValMultiSetIterator that has backward compatibility with the container iterators provided in Tools.h++ 6.x.

The order of iteration over an RWTValMultiSet is dependent on the supplied comparator object parameter C as applied to the values stored in the container.

The current item referenced by this iterator is undefined after construction or after a call to reset(). The iterator becomes valid after being advanced with either a preincrement or operator().

For both operator++ and operator(), iterating past the last element will return a value equivalent to boolean false. Continued increments will return a value equivalent to false until reset() is called.

The value type must have operator== and operator< defined. This requirement is imposed by the Standard C++ Library.

Persistence

None

Examples

#include<rw/tvmset.h>
#include<iostream.h>
#include<rw/cstring.h>

int main(){
   RWTValMultiSet<RWCString,greater<RWCString> > a;
   RWTValMultiSetIterator<RWCString,greater<RWCString> > itr(a);
   a.insert("John");
   a.insert("Steve");
   a.insert("Mark");
   a.insert("Steve");

   for(;itr();)
     cout << itr.key() << endl;

   return 0;
}

Program Output
Steve
Steve
Mark
John

Public Constructors

RWTValMultiSetIterator<T,C>(RWTValMultiSet< T,C> &h);

Public Member Operators

RWBoolean
operator()();
RWBoolean
operator++();

Public Member Functions

RWTValMultiSet<T,C>*
container() const; 
T
key();
void
reset();
void
reset(RWTValMultiSet<T,C>& h);


Previous fileTop of documentContentsIndexNext file
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.