Rogue Wave banner
Previous fileTop of documentContentsIndexNext file

rw_hashmultimap

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

Synopsis

#include <rw/rwstdex/hashmmap.h>
rw_hashmultimap<K,V,Hash,EQ> mmap;

rw_hashmultimap requires the Standard C++ Library.


Description

Class rw_hashmultimap<K,V,Hash,EQ> maintains a collection of mappings between K and V, implemented as a hash table of pair<const K,V> in which there may be many pairs with the same K instance. 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 K                   key_type; 
typedef Hash                key_hash; 
typedef EQ                  key_equal; 
typedef pair<K,V>           value_type; // or ... "const K"
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_hashmultimap<K,V,Hash,EQ>(size_type sz = 1024, 
                             const Hash& h = Hash(), 
                             const EQ& eq = EQ());
rw_hashmultimap<K,V,Hash,EQ>(const 
                         rw_hashmultimap<K,V,Hash,EQ>& mmap);
rw_hashmultimap<K,V,Hash,EQ>(const_iterator first, 
                             const_iterator bound
                             size_type sz=1024,
                             const Hash& h = Hash(), 
                             const EQ& eq = EQ());
rw_hashmultimap<K,V,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_hashmultimap<K,V,Hash,EQ>();

Public Operators

rw_hashmultimap<K,V,Hash,EQ>&
operator=(const rw_hashmultimap<K,V,Hash,EQ>& rhs);
bool
operator==(const rw_hashmultimap<K,V,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_hashmultimap<K,V,Hash,EQ>& other);

Special Methods for Multimaps

size_type
count(const key_type& key) const;
bool
equal_by_keys(const rw_hashmultimap<K,V,Hash,EQ>& rhs) 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.