Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Essential Tools Module Reference Guide

rw_hashmultimap<K,T,H,EQ,A>

Module:  Essential Tools Module   Group:  STL Extension-based Collection


Does not inherit

Local Index

Members

Synopsis

#include <rw/rwstdex/hashmmap.h>
rw_hashmultimap<K,T,H,EQ,A=std::allocator<std::pair
                                         <const K,T>>>;

rw_hashmultimap<K,T,H,EQ,A> requires the Standard C++ Library.

Description

Class rw_hashmultimap<K,T,H,EQ,A> 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<K,T,H,EQ,A> provides for iterators that reference its elements. Operations that alter the contents of rw_hashmap<K,T,H,EQ,A> may invalidate other iterators that reference the container. Since the contents of rw_hashmap<K,T,H,EQ,A> 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<T,A>
typedef (int) difference_type; // from rw_slist<T,A>
typedef (value_type&) reference;
typedef (const value_type&) const_reference; //from rw_slist<T,A>
typedef (scoped Iterator) iterator; 
typedef (scoped ConsIterator) const_iterator; 

Public Constructors

rw_hashmultimap<K,T,H,EQ,A>(size_type sz = 1024, 
                             const Hash& h = Hash(), 
                             const EQ& eq = EQ());
rw_hashmultimap<K,T,H,EQ,A>(const 
                             rw_hashmultimap<K, V, 
                             Hash,EQ,A>& mmap);
rw_hashmultimap<K,T,H,EQ,A>(const_iterator first, 
                             const_iterator bound
                             size_type sz=1024,
                             const Hash& h = Hash(), 
                             const EQ& eq = EQ());
rw_hashmultimap<K,T,H,EQ,A>(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,T,H,EQ,A>();

Public Operators

rw_hashmultimap<K,T,H,EQ,A>&
operator=(const rw_hashmultimap<K,T,H,EQ,A>& rhs);
bool
operator==(const rw_hashmultimap<K,T,H,EQ,A> & 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,T,H,EQ,A>& other);

Special Methods for Multimaps

size_type
count(const key_type& key) const;
bool
equal_by_keys(const rw_hashmultimap<K,T,H,EQ,A>& rhs)
              const;
const_iterator
find(const key_type& key) const;
iterator
find(const key_type& key);
void
resize(size_type sz);


Previous fileTop of DocumentContentsIndex pageNext file

©2004 Copyright Quovadx, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.