Public Types | Public Member Functions | Related Functions
concept::ash::hash_list Class Reference

Hash-List concept. More...

#include <dox/tag/concept/hash_list.hpp>

Inheritance diagram for concept::ash::hash_list:
Inheritance graph
[legend]

List of all members.

Public Types

typedef stl::bidirectional_iterator iterator
 The type used to iterate through the contents of the container.
typedef stl::bidirectional_iterator const_iterator
 The const type used to iterate through the contents of the container.
typedef graph_linker linker
 The functor used to link the graph together.
typedef functor key_extract
 The functor used to extract the key of an object.
typedef functor key_set
 The functor used to set the key of an object.
typedef graph_navigator navigator
typedef graph_navigator const_navigator
typedef hash_function hasher
 The functor type used to hash keys.
typedef binary_predicate key_equal
 The functor used to compare keys for equality.
typedef arbitrary key_type
 The type used to identify elements.
typedef assignable data_type
 The type of object associated with keys.
typedef std::pair< const
key_type, data_type
value_type
 The type of object stored in the container.
typedef value_typepointer
 The type that serves as a pointer to value_type.
typedef value_typereference
 The type that serves as a reference to value_type.
typedef value_type const * const_pointer
 The type that serves as a const pointer to value_type.
typedef value_type const & const_reference
 The type that serves as a pointer to value_type.
Basic Types
typedef assignable value_type
 The type of the object the container holds.
typedef value_typepointer
 The type that serves as a pointer to value_type.
typedef value_typereference
 The type that serves as a reference to value_type.
typedef value_type const * const_pointer
 The type that serves as a const pointer to value_type.
typedef value_type const & const_reference
 The type that serves as a pointer to value_type.
typedef size_t size_type
 The unsigned type used to represent the size of the container.
typedef ptrdiff_t difference_type
 The signed integral type used to represent the distance between iterators.
Iterator Types
typedef std::reverse_iterator
< iterator
reverse_iterator
 A reverse_iterator adaptor for an iterator.
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 A reverse_iterator adaptor for a const_iterator.

Public Member Functions

std::pair< iterator, bool > insert (iterator p, const_reference v)
 Insert an element.
std::pair< iterator, bool > push_front (const_reference v)
 Insert an element at the front of the container.
std::pair< iterator, bool > push_back (const_reference v)
 Insert an object at the back of the container.
hasher hash_funct () const
 Get the hash functor used by the container.
key_equal key_eq () const
 Get the key comparison functor used by the container.
size_type bucket_count () const
 Get the number of buckets the container has.
void resize (size_type n)
 Resize the container to hold at least n elements.
size_type erase (key_type const &key)
 Erase an element.
void erase (iterator itr)
 Erase an element.
void erase (iterator f, iterator l)
 Erase a range of elements.
void clear ()
 Erase all elements.
iterator find (key_type const &key)
 Find an element.
const_iterator find (key_type const &key) const
 Find an element.
size_type count (key_type const &key) const
 Count the number of elements with a given key.
size_type count (key_type const &key) const
 Count the number of elements with a given key.
std::pair< iterator, iteratorequal_range (key_type const &key)
 Find all elements matching a given key.
std::pair< const_iterator,
const_iterator
equal_range (key_type const &key) const
 Find all elements matching a given key.
std::pair< iterator, iteratorequal_range (key_type const &key)
 Find all elements matching a given key.
std::pair< const_iterator,
const_iterator
equal_range (key_type const &key) const
 Find all elements matching a given key.
std::pair< iterator, bool > insert (const_reference obj)
 Insert an element into the container.
void insert (input_iterator f, input_iterator l)
 Insert a range of elements [f,l) into the container.
Navigator Methods
navigator navigate (key_type const &pos)
 Get a navigator pointing to an arbitrary position.
const_navigator navigate (key_type const &pos) const
 Get a navigator pointing to an arbitrary position.
Utility Methods
float load_factor () const
 Get the container's current load factor.
float max_load_factor () const
 Get the max load factor.
float max_load_factor (size_type new_grow)
 Set the max load factor.
float min_load_factor () const
 Get the min load factor.
float min_load_factor (size_type new_shrink)
 Set the min load factor.
template<typename T >
size_type hash (T const &key)
 Put a key through the container's hash functor.
Comparison Methods
bool operator== (equality_comparable const &e)
 Equality operator.
Comparison Methods
bool operator< (less_than_comparable const &l)
 Less-than operator.
Constructors/Destructors
void swap (container &c)
 Swap method.
Iterator Methods
iterator begin ()
 Get an iterator to the beginning.
const_iterator begin () const
 Get an iterator to the beginning.
iterator end ()
 Get an iterator to the end.
const_iterator end () const
 Get an iterator to the end.
Size Methods
size_type size () const
 Get the size of the container.
size_type max_size () const
 Get the maximum size of the container.
bool empty () const
 Check if the container is empty.
Iterator Methods
reverse_iterator rbegin ()
 Get an iterator to the reverse beginning.
const_reverse_iterator rbegin () const
 Get an iterator to the reverse beginning.
reverse_iterator rend ()
 Get an iterator to the reverse end.
const_reverse_iterator rend () const
 Get an iterator to the reverse beginning.
Insert/Erase Methods
void pop_front ()
 Erase the element at the front of the container.
Lookup Methods
reference front ()
 Get the first element.
const_reference front () const
 Get the first element.
Size Methods
void resize (size_type n)
 Resize the container.
void resize (size_type n, value_type const &t)
 Resize the container.
Insert/Erase Methods
iterator insert (iterator p, const_reference v)
 Insert an object.
void insert (iterator p, size_type n, const_reference v)
 Fill insert.
void insert (iterator p, input_iterator f, input_iterator l)
 Range insert.
iterator erase (iterator p)
 Erase an element.
iterator erase (iterator f, iterator l)
 Erase a range of elements.
void clear ()
 Erase all elements.
Insert/Erase Methods
void pop_back ()
 Erase the element at the back of the container.

Related Functions

(Note that these are not member functions.)

void swap (assignable &a1, assignable &a2)
 Global swap.

Detailed Description

Hash-List concept.


Member Typedef Documentation

The const type used to iterate through the contents of the container.

Reimplemented from concept::stl::reversible_container.

The type that serves as a const pointer to value_type.

Reimplemented in concept::stl::pair_associative_container, and concept::ash::hash_matrix.

The type that serves as a const pointer to value_type.

Reimplemented from concept::stl::container.

Reimplemented in concept::ash::hash_matrix.

The type that serves as a pointer to value_type.

Reimplemented in concept::stl::pair_associative_container, and concept::ash::hash_matrix.

The type that serves as a pointer to value_type.

Reimplemented from concept::stl::container.

Reimplemented in concept::ash::hash_matrix.

A reverse_iterator adaptor for a const_iterator.

The type of object associated with keys.

Reimplemented in concept::ash::hash_matrix.

typedef ptrdiff_t concept::stl::container::difference_type [inherited]

The signed integral type used to represent the distance between iterators.

typedef hash_function concept::stl::hashed_associative_container::hasher [inherited]

The functor type used to hash keys.

Reimplemented in concept::ash::hash_matrix.

The type used to iterate through the contents of the container.

Reimplemented from concept::stl::reversible_container.

typedef binary_predicate concept::stl::hashed_associative_container::key_equal [inherited]

The functor used to compare keys for equality.

typedef functor concept::ash::hash_graph::key_extract [inherited]

The functor used to extract the key of an object.

typedef functor concept::ash::hash_graph::key_set [inherited]

The functor used to set the key of an object.

typedef arbitrary concept::stl::associative_container::key_type [inherited]

The type used to identify elements.

Reimplemented in concept::stl::simple_associative_container, and concept::ash::hash_matrix.

typedef graph_linker concept::ash::hash_graph::linker [inherited]

The functor used to link the graph together.

The type that serves as a pointer to value_type.

Reimplemented in concept::stl::pair_associative_container, and concept::ash::hash_matrix.

The type that serves as a pointer to value_type.

Reimplemented from concept::stl::container.

Reimplemented in concept::ash::hash_matrix.

The type that serves as a reference to value_type.

Reimplemented in concept::stl::pair_associative_container, and concept::ash::hash_matrix.

The type that serves as a reference to value_type.

Reimplemented from concept::stl::container.

Reimplemented in concept::ash::hash_matrix.

typedef std::reverse_iterator<iterator> concept::stl::reversible_container::reverse_iterator [inherited]

A reverse_iterator adaptor for an iterator.

typedef size_t concept::stl::container::size_type [inherited]

The unsigned type used to represent the size of the container.

Reimplemented in concept::ash::hash_matrix.

The type of the object the container holds.

Must be Assignable .

Reimplemented in concept::stl::pair_associative_container, and concept::ash::hash_matrix.

The type of object stored in the container.

Reimplemented from concept::stl::container.

Reimplemented in concept::ash::hash_matrix.


Member Function Documentation

Get an iterator to the beginning.

Returns:
An iterator to the beginning of the container.

Get an iterator to the beginning.

Returns:
A const_iterator to the beginning of the container.

Get the number of buckets the container has.

Returns:
The number of currently-allocated buckets.

Erase all elements.

Reimplemented in concept::tr1::unordered_associative_container.

void concept::stl::sequence::clear ( ) [inherited]

Erase all elements.

Count the number of elements with a given key.

Parameters:
keyThe key to search for.
Returns:
The number of elements matching key.

Reimplemented in concept::stl::unique_associative_container.

Count the number of elements with a given key.

Parameters:
keyThe key to search for.
Returns:
The number of elements matching key. Because this is a Unique Associative Container , the return value will be 0 or 1.

Reimplemented from concept::stl::associative_container.

bool concept::stl::container::empty ( ) const [inherited]

Check if the container is empty.

Returns:
True if the container is empty.

Get an iterator to the end.

Returns:
An iterator to the end of the container.

Get an iterator to the end.

Returns:
A const_iterator to the end of the container.

Find all elements matching a given key.

Parameters:
keyThe key to search for.
Returns:
A pair of iterators for the range of elements [first,second).

Reimplemented in concept::stl::unique_associative_container, and concept::tr1::unordered_associative_container.

Find all elements matching a given key.

Parameters:
keyThe key to search for.
Returns:
A pair of const_iterators for the range of elements [first,second).

Reimplemented in concept::stl::unique_associative_container, and concept::tr1::unordered_associative_container.

Find all elements matching a given key.

Parameters:
keyThe key to search for.
Returns:
A pair of iterators for the range of elements [first,second). Because this is a Unique Associative Container , the first iterator points to the element, or to the end() if not found. The second iterator points to 1 past the first, or to the end().

Reimplemented from concept::stl::associative_container.

Find all elements matching a given key.

Parameters:
keyThe key to search for.
Returns:
A pair of const_iterators for the range of elements [first,second). Because this is a Unique Associative Container , the first const_iterator points to the element, or to the end() if not found. The second const_iterator points to 1 past the first, or to the end().

Reimplemented from concept::stl::associative_container.

Erase an element.

Parameters:
keyThe key of the element to erase.
Returns:
The number of erased elements.

Reimplemented in concept::tr1::unordered_associative_container.

Erase an element.

Parameters:
itrAn iterator pointing to the element to erase.

Reimplemented in concept::tr1::unordered_associative_container, and concept::tr1::unordered_associative_container.

Erase a range of elements.

Parameters:
fThe beginning of the range to erase.
lThe end of the range to erase.

Reimplemented in concept::tr1::unordered_associative_container, and concept::tr1::unordered_associative_container.

Erase an element.

Parameters:
pAn iterator pointing to the element.
Returns:
An iterator to the element after the one that was erased.

Erase a range of elements.

Parameters:
fThe beginning of the range to erase.
lThe end of the range to erase.
Returns:
An iterator to the element after the last erased element.

Find an element.

Parameters:
keyThe key of the element to search for.
Returns:
An iterator to the element, or to the end() if not found.

Reimplemented in concept::tr1::unordered_associative_container.

Find an element.

Parameters:
keyThe key of the element to search for.
Returns:
A const_iterator to the element, or to the end() if not found.

Reimplemented in concept::tr1::unordered_associative_container.

Get the first element.

Returns:
A reference to the first element in the container.

Get the first element.

Returns:
A const_reference to the first element in the container.
template<typename T >
size_type concept::ash::hash_graph::hash ( T const &  key) [inherited]

Put a key through the container's hash functor.

Parameters:
keyThe key to hash.
Returns:
The hashed key.

Get the hash functor used by the container.

Returns:
A copy of the container's hasher object.

Insert an element.

Parameters:
pAn iterator to the element after the location to insert.
vThe object to insert.
Returns:
An iterator and a bool. The iterator points to the inserted element, or to another with the same key if one is already in the container. The bool is true if the element was inserted, and false in the case of a duplicate key.

Insert an object.

Parameters:
pAn iterator to the element after the location to insert.
vThe object to insert.
Returns:
An iterator to the inserted element.
void concept::stl::sequence::insert ( iterator  p,
size_type  n,
const_reference  v 
) [inherited]

Fill insert.

Parameters:
pAn iterator to the element after the location to insert.
nThe number of copies to insert.
vThe object to insert.

Range insert.

Parameters:
pAn iterator to the element after the location to insert.
fThe beginning of the range to insert.
tThe end of the range to insert.

Insert an element into the container.

Parameters:
objThe element to insert.
Returns:
An iterator and a bool. The iterator points to the inserted element, or to another with the same key if one is already in the container. The bool is true if the element was inserted, and false in the case of a duplicate key.

Insert a range of elements [f,l) into the container.

Parameters:
fThe beginning of the range to insert.
lThe end of the range to insert.

Elements with duplicate keys will be ignored.

Get the key comparison functor used by the container.

Returns:
A copy of the container's key_equal object.
float concept::ash::hash_graph::load_factor ( ) const [inherited]

Get the container's current load factor.

Returns:
The number of elements divided by the number of buckets.
float concept::ash::hash_graph::max_load_factor ( ) const [inherited]

Get the max load factor.

Returns:
The max load factor before the container grows.
float concept::ash::hash_graph::max_load_factor ( size_type  new_grow) [inherited]

Set the max load factor.

Parameters:
new_growThe max load factor before the container grows.

Get the maximum size of the container.

Returns:
The maximum number of elements the container can hold.
float concept::ash::hash_graph::min_load_factor ( ) const [inherited]

Get the min load factor.

Returns:
The min load factor before the container shrinks.
float concept::ash::hash_graph::min_load_factor ( size_type  new_shrink) [inherited]

Set the min load factor.

Parameters:
new_shrinkThe min load factor before the container shrinks.

Get a navigator pointing to an arbitrary position.

Parameters:
posThe desired position.
Returns:
A navigator pointing to the element at pos.
const_navigator concept::ash::hash_graph::navigate ( key_type const &  pos) const [inherited]

Get a navigator pointing to an arbitrary position.

Parameters:
posThe desired position.
Returns:
A const_navigator pointing to the element at pos.
bool concept::stl::less_than_comparable::operator< ( less_than_comparable const &  l) [inherited]

Less-than operator.

bool concept::stl::equality_comparable::operator== ( equality_comparable const &  e) [inherited]

Equality operator.

Erase the element at the back of the container.

Erase the element at the front of the container.

Insert an object at the back of the container.

Parameters:
vThe object to insert.

Reimplemented from concept::stl::back_insertion_sequence.

Insert an element at the front of the container.

Parameters:
vThe object to insert.
Returns:
An iterator and a bool. The iterator points to the inserted element, or to another with the same key if one is already in the container. The bool is true if the element was inserted, and false in the case of a duplicate key.

Reimplemented from concept::stl::front_insertion_sequence.

Get an iterator to the reverse beginning.

Returns:
A reverse_iterator pointing to the beginning of the reversed container.

Get an iterator to the reverse beginning.

Returns:
A const_reverse_iterator pointing to the beginning of the reversed container.

Get an iterator to the reverse end.

Returns:
A reverse_iterator pointing to the end of the reversed container.

Get an iterator to the reverse beginning.

Returns:
A const_reverse_iterator pointing to the beginning of the reversed container.
void concept::stl::sequence::resize ( size_type  n) [inherited]

Resize the container.

Equivalent to resize(n, value_type()).

void concept::stl::sequence::resize ( size_type  n,
value_type const &  t 
) [inherited]

Resize the container.

Parameters:
nThe number of expected elements.
tThe object to fill extra space with.

Modifies the container so that it has exactly n elements, inserting elements at the end or erasing elements from the end if necessary. If any elements are inserted, they are copies of t.

Resize the container to hold at least n elements.

Parameters:
nThe number of elements the container is expected to hold.

Get the size of the container.

Returns:
The number of elements in the container.
void concept::stl::container::swap ( container c) [inherited]

Swap method.


The documentation for this class was generated from the following file:


© 2012   AshTL
Licensed under  AGPLv3
Hosted by  Get AshTL at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated by  doxygen 1.7.4