Rogue Wave banner
Previous fileTop of documentContentsIndexNext file

rw_hashmultiset

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

Synopsis

#include <rw/rwstdex/hashmset.h>
rw_hashmultiset<T,Hash,EQ> mset;

rw_hashmultiset requires the Standard C++ Library.


Description

Class rw_hashmultiset<T,Hash,EQ> maintains a collection of T, implemented as a hash table in which there may be many EQ instances of T. Since this is a value based collection, objects are copied into and out of the collection. As with all classes that meet the ANSI associative container specification, rw_hashmap provides for iterators that reference its elements. Operations that alter the contents of rw_hashmap may invalidate other iterators that reference the container. Since the contents of rw_hashmap are in pseudo-random order, the only iterator ranges that will usually make sense are the results of calling equal_range(key), and the entire range from begin() to end().

Persistence

None

Public Typedefs

typedef T                   key_type;
typedef T                   value_type; // or ... "const K"
typedef Hash                key_hash;
typedef EQ                  key_equal; 
typedef (unsigned)          size_type; //from rw_slist
typedef (int)               difference_type; // from rw_slist
typedef (value_type&)       reference;
typedef (const value_type&) const_reference; //from rw_slist
typedef (scoped Iterator)      iterator;
typedef (scoped ConsIterator)  const_iterator;

Public Constructors

rw_hashmultiset<T,Hash,EQ>(size_type sz = 1024, 
                           const Hash& h = Hash(), 
                           const EQ& eq = EQ());
rw_hashmultiset<T,Hash,EQ>(const rw_hashmultiset<T,Hash,EQ>& 
                           mset);
rw_hashmultiset<T,Hash,EQ>(const_iterator first, 
                           const_iterator bound
                           size_type sz=1024,
                           const Hash& h = Hash(), 
                           const EQ& eq = EQ());
rw_hashmultiset<T,Hash,EQ>(const value_type* first, 
                           const value_type* bound
                           size_type sz=1024,
                           const Hash& h = Hash(), 
                           const EQ& eq = EQ());

Public Destructor

~rw_hashmultiset<T,Hash,EQ>();

Public Operators

rw_hashmultiset<T,Hash,EQ>&
operator=(const rw_hashmultiset<T,Hash,EQ>& rhs);
bool
operator==(const rw_hashmultiset<T,Hash,EQ> & rhs) const;

Accessors

iterator
begin();
const_iterator
begin() const;
iterator
end();
const_iterator
end() const;
pair<const_iterator, const_iterator>
equal_range(const key_type key) const;
pair<iterator, iterator>
equal_range(const key_type key);
const_iterator
lower_bound(const key_type& key) const;
iterator
lower_bound(const key_type& key);
const_iterator
upper_bound(const key_type& key) const;
iterator
upper_bound(const key_type& key);

Const Public Member Functions

size_type
capacity() const;
bool
empty() const;
float
fill_ratio() const;
size_type
size() const;

Mutators

void
clear();
size_type
erase(const key_type& key);
iterator
erase(iterator iter);
iterator
erase(iterator first, iterator bound);
pair<iterator,bool>
insert(const value_type& val);
size_type
insert(iterator ignore, const value_type& val);
size_type
insert(const value_type* first, const value_type* bound);
size_type
insert(const_iterator first, const_iterator bound);
void
swap(rw_hashmultiset<T,Hash,EQ>& other);

Special Methods for Multisets

size_type
count(const key_type& key) const;
const_iterator
find(const key_type& key) const;
iterator
find(const key_type& key);
void
resize(size_type sz);


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