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

rw_hashset<T,H,EQ,A>

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


Does not inherit

Local Index

Members

Synopsis

#include <rw/rwstdex/hashset.h>
rw_hashset<T,H,EQ,A=std::allocator<T>>;

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

Description

Class rw_hashset<T,H,EQ,A> maintains a collection of T, implemented as a hash table in which there may not be more than one instance of any given 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_hashset<T,H,EQ,A> provides for iterators that reference its elements. Operations that alter the contents of rw_hashset<T,H,EQ,A> may invalidate other iterators that reference the container. Since the contents of rw_hashset<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 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<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_hashset<T,H,EQ,A>(size_type sz = 1024, 
                      const Hash& h = Hash(), 
                      const EQ& eq = EQ());
rw_hashset<T,H,EQ,A>(const rw_hashset<T,H,EQ,A>& set);
rw_hashset<T,H,EQ,A>(const_iterator first, 
                      const_iterator bound
                      size_type sz=1024,
                      const Hash& h = Hash(), 
                      const EQ& eq = EQ());
rw_hashset<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_hashset<T,H,EQ,A>();

Public Operators

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

Special Methods for Sets

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 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.