rc_hash_multimap Class Template Reference

#include <rc_hash_map.h>

List of all members.


Detailed Description

template<class key_, class data_, class hash_ = boost::hash<key_>, class pred_ = std::equal_to<key_>, class alloc_ = std::allocator<internals::hash_map::pair<key_, data_> >>
class ReChannel::rc_hash_multimap< key_, data_, hash_, pred_, alloc_ >

Hash multimap implementation.

rc_hash_multimap is internally composed of a Boost multi_index container with one hashed index. The class's template paramters, members and typedefs are orientated on those of the standard multimap's implementation. (see also SGI, http://www.sgi.com/).

Definition at line 239 of file rc_hash_map.h.


Public Types

typedef key_ key_type
 The key type.
typedef data_ data_type
 The data type.
typedef
internals::hash_map::pair
< key_, data_ > 
value_type
 The value type.
typedef
index_type::pointer 
pointer
typedef
index_type::const_pointer 
const_pointer
typedef
index_type::reference 
reference
typedef
index_type::const_reference 
const_reference
typedef
index_type::size_type 
size_type
typedef
index_type::difference_type 
difference_type
typedef
index_type::iterator 
iterator
typedef
index_type::const_iterator 
const_iterator
typedef
index_type::hasher 
hasher
typedef
index_type::key_equal 
key_equal
typedef
index_type::allocator_type 
allocator_type

Public Member Functions

 rc_hash_multimap ()
 rc_hash_multimap (const this_type &other)
this_typeoperator= (const this_type &other)
bool empty () const
size_type size () const
size_type max_size () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
std::pair< iterator,
bool > 
insert (const value_type &x)
iterator insert (iterator position, const value_type &x)
template<typename InputIterator>
void insert (InputIterator first, InputIterator last)
iterator erase (iterator position)
size_type erase (const key_type &x)
iterator erase (iterator first, iterator last)
void clear ()
void swap (this_type &x)
hasher hash_funct () const
key_equal key_eq () const
iterator find (const key_type &k) const
size_type count (const key_type &k) const
std::pair< iterator,
iterator
equal_range (const key_type &k) const
size_type bucket_count () const
void resize (size_type n)

Private Types

typedef rc_hash_map
< key_, data_, hash_,
pred_, alloc_ > 
this_type
typedef
boost::template
multi_index_container
< value_type,
typename
boost::multi_index::template
indexed_by< typename
boost::multi_index::template
hashed_non_unique
< typename
boost::multi_index::template
tag< index_1 >,
BOOST_MULTI_INDEX_MEMBER(value_type,
key_type, first),
hash_, pred_ > >,
alloc_ > 
hash_multimap_type
 The type of the boost::multi_index container.
typedef
hash_multimap_type::template
index< index_1 >
::type 
index_type
 the index type

Private Attributes

hash_multimap_type p_hash_multimap

Classes

struct  index_1
 The tag of the first (and only) index. More...

Member Typedef Documentation

typedef rc_hash_map<key_, data_, hash_, pred_, alloc_> this_type [private]

Definition at line 242 of file rc_hash_map.h.

typedef key_ key_type

The key type.

Definition at line 246 of file rc_hash_map.h.

typedef data_ data_type

The data type.

Definition at line 248 of file rc_hash_map.h.

typedef internals::hash_map::pair<key_, data_> value_type

The value type.

Definition at line 250 of file rc_hash_map.h.

typedef boost::template multi_index_container< value_type, typename boost::multi_index::template indexed_by< typename boost::multi_index::template hashed_non_unique< typename boost::multi_index::template tag<index_1>, BOOST_MULTI_INDEX_MEMBER(value_type, key_type, first), hash_, pred_ > >, alloc_ > hash_multimap_type [private]

The type of the boost::multi_index container.

Definition at line 269 of file rc_hash_map.h.

typedef hash_multimap_type::template index<index_1>::type index_type [private]

the index type

Note:
Only one index is used in the multi_index container.

Definition at line 275 of file rc_hash_map.h.

typedef index_type::pointer pointer

Definition at line 278 of file rc_hash_map.h.

typedef index_type::const_pointer const_pointer

Definition at line 279 of file rc_hash_map.h.

typedef index_type::reference reference

Definition at line 280 of file rc_hash_map.h.

typedef index_type::const_reference const_reference

Definition at line 281 of file rc_hash_map.h.

typedef index_type::size_type size_type

Definition at line 282 of file rc_hash_map.h.

typedef index_type::difference_type difference_type

Definition at line 283 of file rc_hash_map.h.

typedef index_type::iterator iterator

Definition at line 284 of file rc_hash_map.h.

typedef index_type::const_iterator const_iterator

Definition at line 285 of file rc_hash_map.h.

typedef index_type::hasher hasher

Definition at line 286 of file rc_hash_map.h.

typedef index_type::key_equal key_equal

Definition at line 287 of file rc_hash_map.h.

typedef index_type::allocator_type allocator_type

Definition at line 288 of file rc_hash_map.h.


Constructor & Destructor Documentation

rc_hash_multimap (  )  [inline]

Definition at line 292 of file rc_hash_map.h.

rc_hash_multimap ( const this_type other  )  [inline]

Definition at line 293 of file rc_hash_map.h.


Member Function Documentation

this_type& operator= ( const this_type other  )  [inline]

Definition at line 296 of file rc_hash_map.h.

bool empty (  )  const [inline]

Definition at line 299 of file rc_hash_map.h.

size_type size (  )  const [inline]

Definition at line 301 of file rc_hash_map.h.

size_type max_size (  )  const [inline]

Definition at line 303 of file rc_hash_map.h.

iterator begin (  )  [inline]

Definition at line 306 of file rc_hash_map.h.

iterator end (  )  [inline]

Definition at line 308 of file rc_hash_map.h.

const_iterator begin (  )  const [inline]

Definition at line 310 of file rc_hash_map.h.

const_iterator end (  )  const [inline]

Definition at line 312 of file rc_hash_map.h.

std::pair<iterator, bool> insert ( const value_type x  )  [inline]

Definition at line 315 of file rc_hash_map.h.

iterator insert ( iterator  position,
const value_type x 
) [inline]

Definition at line 317 of file rc_hash_map.h.

void insert ( InputIterator  first,
InputIterator  last 
) [inline]

Definition at line 320 of file rc_hash_map.h.

iterator erase ( iterator  position  )  [inline]

Definition at line 323 of file rc_hash_map.h.

size_type erase ( const key_type x  )  [inline]

Definition at line 325 of file rc_hash_map.h.

iterator erase ( iterator  first,
iterator  last 
) [inline]

Definition at line 327 of file rc_hash_map.h.

void clear (  )  [inline]

Definition at line 330 of file rc_hash_map.h.

void swap ( this_type x  )  [inline]

Definition at line 332 of file rc_hash_map.h.

hasher hash_funct (  )  const [inline]

Definition at line 338 of file rc_hash_map.h.

key_equal key_eq (  )  const [inline]

Definition at line 340 of file rc_hash_map.h.

iterator find ( const key_type k  )  const [inline]

Definition at line 343 of file rc_hash_map.h.

size_type count ( const key_type k  )  const [inline]

Definition at line 346 of file rc_hash_map.h.

std::pair<iterator, iterator> equal_range ( const key_type k  )  const [inline]

Definition at line 348 of file rc_hash_map.h.

size_type bucket_count (  )  const [inline]

Definition at line 352 of file rc_hash_map.h.

void resize ( size_type  n  )  [inline]

Definition at line 354 of file rc_hash_map.h.


Member Data Documentation

hash_multimap_type p_hash_multimap [private]

Definition at line 358 of file rc_hash_map.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 1 23:14:15 2008 for ReChannel by  doxygen 1.5.3