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

Hash-Graph concept. More...

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

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

List of all members.

Public Types

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.
Iterator Types
typedef forward_iterator iterator
 The type used to iterate through the contents of the container.
typedef forward_iterator const_iterator
 The const type used to iterate through the contents of the container.
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.

Public Member Functions

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.

Related Functions

(Note that these are not member functions.)

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

Detailed Description

Hash-Graph concept.

A hash_graph is a Unique Hashed Associative Container which allows values to be stored in nodes which are linked together to form other structures (trees, lists, etc).


Member Typedef Documentation

typedef forward_iterator concept::stl::forward_container::const_iterator [inherited]

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

Reimplemented from concept::stl::container.

Reimplemented in concept::stl::list, concept::stl::reversible_container, concept::stl::sorted_associative_container, and concept::ash::hash_list.

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 pointer to value_type.

Reimplemented in concept::stl::pair_associative_container, and 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.

typedef forward_iterator concept::stl::forward_container::iterator [inherited]
typedef binary_predicate concept::stl::hashed_associative_container::key_equal [inherited]

The functor used to compare keys for equality.

The functor used to extract the key of an object.

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

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 reference to value_type.

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

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.


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.

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.

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.

template<typename T >
size_type concept::ash::hash_graph::hash ( T const &  key)

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

Get the container's current load factor.

Returns:
The number of elements divided by the number of buckets.

Get the max load factor.

Returns:
The max load factor before the container grows.

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.

Get the min load factor.

Returns:
The min load factor before the container shrinks.

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.

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.

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