rc_hash_map 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_map< key_, data_, hash_, pred_, alloc_ >

Hash map implementation.

rc_hash_map 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 map's implementation. (see also SGI, http://www.sgi.com/).

Definition at line 101 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_map ()
 rc_hash_map (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)
data_typeoperator[] (const key_type &k)

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_unique
< typename
boost::multi_index::template
tag< index_1 >,
BOOST_MULTI_INDEX_MEMBER(value_type,
key_type, first),
hash_, pred_ > >,
alloc_ > 
hash_map_type
 The type of the boost::multi_index container.
typedef
hash_map_type::template
index< index_1 >
::type 
index_type
 the index type

Private Attributes

hash_map_type p_hash_map

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 104 of file rc_hash_map.h.

typedef key_ key_type

The key type.

Definition at line 108 of file rc_hash_map.h.

typedef data_ data_type

The data type.

Definition at line 110 of file rc_hash_map.h.

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

The value type.

Definition at line 112 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_unique< typename boost::multi_index::template tag<index_1>, BOOST_MULTI_INDEX_MEMBER(value_type, key_type, first), hash_, pred_ > >, alloc_ > hash_map_type [private]

The type of the boost::multi_index container.

Definition at line 131 of file rc_hash_map.h.

typedef hash_map_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 137 of file rc_hash_map.h.

typedef index_type::pointer pointer

Definition at line 140 of file rc_hash_map.h.

typedef index_type::const_pointer const_pointer

Definition at line 141 of file rc_hash_map.h.

typedef index_type::reference reference

Definition at line 142 of file rc_hash_map.h.

typedef index_type::const_reference const_reference

Definition at line 143 of file rc_hash_map.h.

typedef index_type::size_type size_type

Definition at line 144 of file rc_hash_map.h.

typedef index_type::difference_type difference_type

Definition at line 145 of file rc_hash_map.h.

typedef index_type::iterator iterator

Definition at line 146 of file rc_hash_map.h.

typedef index_type::const_iterator const_iterator

Definition at line 147 of file rc_hash_map.h.

typedef index_type::hasher hasher

Definition at line 148 of file rc_hash_map.h.

typedef index_type::key_equal key_equal

Definition at line 149 of file rc_hash_map.h.

typedef index_type::allocator_type allocator_type

Definition at line 150 of file rc_hash_map.h.


Constructor & Destructor Documentation

rc_hash_map (  )  [inline]

Definition at line 154 of file rc_hash_map.h.

rc_hash_map ( const this_type other  )  [inline]

Definition at line 155 of file rc_hash_map.h.


Member Function Documentation

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

Definition at line 158 of file rc_hash_map.h.

bool empty (  )  const [inline]

Definition at line 161 of file rc_hash_map.h.

size_type size (  )  const [inline]

Definition at line 163 of file rc_hash_map.h.

Referenced by rc_process_registry::get_process_count(), and rc_process_registry::register_process().

size_type max_size (  )  const [inline]

Definition at line 165 of file rc_hash_map.h.

iterator begin (  )  [inline]

Definition at line 168 of file rc_hash_map.h.

Referenced by process_support::before_end_of_elaboration(), and rc_process_registry::gc().

iterator end (  )  [inline]

Definition at line 170 of file rc_hash_map.h.

Referenced by process_support::_rc_fetch_process_info(), process_support::_rc_find_process_info(), process_support::before_end_of_elaboration(), rc_process_registry::gc(), and rc_process_registry::get_process_handle().

const_iterator begin (  )  const [inline]

Definition at line 172 of file rc_hash_map.h.

const_iterator end (  )  const [inline]

Definition at line 174 of file rc_hash_map.h.

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

Definition at line 177 of file rc_hash_map.h.

Referenced by rc_hash_map::operator[]().

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

Definition at line 179 of file rc_hash_map.h.

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

Definition at line 182 of file rc_hash_map.h.

iterator erase ( iterator  position  )  [inline]

Definition at line 185 of file rc_hash_map.h.

Referenced by process_support::_rc_fetch_process_info(), and rc_process_registry::gc().

size_type erase ( const key_type x  )  [inline]

Definition at line 187 of file rc_hash_map.h.

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

Definition at line 189 of file rc_hash_map.h.

void clear (  )  [inline]

Definition at line 192 of file rc_hash_map.h.

void swap ( this_type x  )  [inline]

Definition at line 194 of file rc_hash_map.h.

hasher hash_funct (  )  const [inline]

Definition at line 200 of file rc_hash_map.h.

key_equal key_eq (  )  const [inline]

Definition at line 202 of file rc_hash_map.h.

iterator find ( const key_type k  )  const [inline]

Definition at line 205 of file rc_hash_map.h.

Referenced by process_support::_rc_fetch_process_info(), process_support::_rc_find_process_info(), rc_process_registry::get_process_handle(), and rc_hash_map::operator[]().

size_type count ( const key_type k  )  const [inline]

Definition at line 208 of file rc_hash_map.h.

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

Definition at line 210 of file rc_hash_map.h.

size_type bucket_count (  )  const [inline]

Definition at line 214 of file rc_hash_map.h.

void resize ( size_type  n  )  [inline]

Definition at line 216 of file rc_hash_map.h.

rc_hash_map< key_, data_, hash_, pred_, alloc_ >::data_type & operator[] ( const key_type k  )  [inline]

Definition at line 365 of file rc_hash_map.h.


Member Data Documentation

hash_map_type p_hash_map [private]

Definition at line 222 of file rc_hash_map.h.

Referenced by rc_hash_map::swap().


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