Hash-Matrix concept. More...
#include <dox/tag/concept/hash_matrix.hpp>
Public Types | |
typedef binary_predicate | key_equal |
The functor used to compare keys for equality. | |
Basic Types | |
typedef morton | key_type |
The type of key associated with objects in the container. | |
typedef void | data_type |
The type of data associated with keys/coords. | |
typedef std::pair< const key_type, data_type > | value_type |
The type of object stored in the container. | |
typedef value_type * | pointer |
The type that serves as a pointer to value_type. | |
typedef value_type & | reference |
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 type used to represent the size of the container. | |
typedef pcoord | pcoord_type |
The type used to represent a coordinate. | |
typedef morton | morton_type |
The type used to represent a hashed/interleaved coordinate. | |
typedef point | point_type |
The type used to represent a floating-point coordinate. | |
Iterators/Navigators | |
typedef matrix_navigator | navigator |
The type used to move around the matrix in an arbitrary manner. | |
typedef matrix_navigator | const_navigator |
The const type used to move around the matrix in an arbitrary manner. | |
typedef stl::bidirectional_iterator | range_iterator |
The type used to iterate through a group of contiguous objects. | |
typedef stl::bidirectional_iterator | const_range_iterator |
The const type used to iterate through a group of contiguous objects. | |
typedef stl::bidirectional_iterator | path_iterator |
The type used to iterate through a group of objects along a path. | |
typedef stl::bidirectional_iterator | const_path_iterator |
The const type used to iterate through a group of objects along a path. | |
Functors | |
typedef stl::hash_function | hasher |
The hash functor used by the container. | |
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 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, iterator > | equal_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, iterator > | equal_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. | |
Constructors/Destructors | |
hash_matrix (size_type n=0, hasher const &h=hasher(), key_equal const &k=key_equal()) | |
Default constructor. | |
hash_matrix (hash_matrix const &obj) | |
Copy constructor. | |
template<class InputIterator > | |
hash_matrix (InputIterator const &f, InputIterator const &l, size_type n=0, hasher const &h=hasher(), key_equal const &k=key_equal()) | |
Iterative constructor. | |
~hash_matrix () | |
Destructor. | |
void | swap (hash_matrix const &obj) |
Swap contents with another container. | |
Range Iterator Methods | |
range_iterator | range_begin (key_type const &pos, size_type range) |
Get an iterator to go through all elements in a given range. | |
const_range_iterator | range_begin (key_type const &pos, size_type range) const |
Get an iterator to go through all elements in a given range. | |
range_iterator | range_begin (pcoord_type const &low, pcoord_type const &high) |
Get an iterator to go through all elements within a given box. | |
const_range_iterator | range_begin (pcoord_type const &low, pcoord_type const &high) const |
Get an iterator to go through all elements within a given box. | |
Path Iterator Methods | |
path_iterator | path_begin (point_type const &pa, point_type const &pb) |
Get an iterator from point A to point B. | |
const_path_iterator | path_begin (point_type const &pa, point_type const &pb) const |
Get an iterator from point A to point B. | |
Lookup Methods | |
data_type & | operator[] (key_type const &key) |
Element access. | |
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. |
Hash-Matrix concept.
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 const type used to move around the matrix in an arbitrary manner.
This is conversion-constructable from a const_iterator, so any function which returns a const_iterator can also give you a const_navigator.
Reimplemented in concept::ash::hash_grid.
The const type used to iterate through a group of objects along a path.
This is just a wrapper for a const_navigator, and can cast to the wrapped const_navigator.
typedef value_type const* concept::ash::hash_matrix::const_pointer |
The type that serves as a const pointer to value_type.
Reimplemented from concept::stl::pair_associative_container.
The const type used to iterate through a group of contiguous objects.
This is just a wrapper for a const_navigator, and can cast to the wrapped const_navigator.
typedef value_type const& concept::ash::hash_matrix::const_reference |
The type that serves as a pointer to value_type.
Reimplemented from concept::stl::pair_associative_container.
typedef void concept::ash::hash_matrix::data_type |
The type of data associated with keys/coords.
Reimplemented from concept::stl::pair_associative_container.
typedef ptrdiff_t concept::stl::container::difference_type [inherited] |
The signed integral type used to represent the distance between iterators.
typedef stl::hash_function concept::ash::hash_matrix::hasher |
The hash functor used by the container.
This could be trivial due to the automatic hashing with key_type. However, we provide a real hash functor, it's easy enough to do.
Reimplemented from concept::stl::hashed_associative_container.
typedef forward_iterator concept::stl::forward_container::iterator [inherited] |
The 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, concept::stl::simple_associative_container, and concept::ash::hash_list.
typedef binary_predicate concept::stl::hashed_associative_container::key_equal [inherited] |
The functor used to compare keys for equality.
The type of key associated with objects in the container.
We use this type as the key for conversion convenience. Any method that takes a key_type as an argument may take any of the following:
In the case of a pcoord_type, conversion to key_type will hash it. Otherwise it is treated as a pre-hashed key.
Reimplemented from concept::stl::associative_container.
The type used to represent a hashed/interleaved coordinate.
Conversion-compatible with pcoord_type. Conversion-compatible with size_type.
The type used to move around the matrix in an arbitrary manner.
This is conversion-constructable from an iterator, so any function which returns an iterator can also give you a navigator.
Reimplemented in concept::ash::hash_grid.
The type used to iterate through a group of objects along a path.
This is just a wrapper for a navigator, and can cast to the wrapped navigator.
The type used to represent a coordinate.
Conversion-compatible with morton_type.
typedef point concept::ash::hash_matrix::point_type |
The type used to represent a floating-point coordinate.
The type that serves as a pointer to value_type.
Reimplemented from concept::stl::pair_associative_container.
The type used to iterate through a group of contiguous objects.
This is just a wrapper for a navigator, and can cast to the wrapped navigator.
The type that serves as a reference to value_type.
Reimplemented from concept::stl::pair_associative_container.
typedef size_t concept::ash::hash_matrix::size_type |
The type used to represent the size of the container.
This is the same as the unsigned type underneath morton_type and pcoord_type. Obviously, we can't have a larger container than we have unique keys for.
Reimplemented from concept::stl::container.
typedef std::pair<const key_type, data_type> concept::ash::hash_matrix::value_type |
The type of object stored in the container.
Reimplemented from concept::stl::pair_associative_container.
concept::ash::hash_matrix::hash_matrix | ( | size_type | n = 0 , |
hasher const & | h = hasher() , |
||
key_equal const & | k = key_equal() |
||
) | [explicit] |
Default constructor.
n | The number of expected elements. |
h | The hasher object to copy, if any. |
k | The key_equal object to copy, if any. |
concept::ash::hash_matrix::hash_matrix | ( | hash_matrix const & | obj | ) |
Copy constructor.
obj | The object to copy. |
concept::ash::hash_matrix::hash_matrix | ( | InputIterator const & | f, |
InputIterator const & | l, | ||
size_type | n = 0 , |
||
hasher const & | h = hasher() , |
||
key_equal const & | k = key_equal() |
||
) |
Iterative constructor.
f | The beginning of the range of elements to insert. |
l | The end of the range of elements to insert. |
n | The number of expected elements. |
h | The hasher object to copy, if any. |
k | The key_equal object to copy, if any. |
Destructor.
iterator concept::stl::container::begin | ( | ) | [inherited] |
Get an iterator to the beginning.
const_iterator concept::stl::container::begin | ( | ) | const [inherited] |
Get an iterator to the beginning.
size_type concept::stl::hashed_associative_container::bucket_count | ( | ) | const [inherited] |
Get the number of buckets the container has.
void concept::stl::associative_container::clear | ( | ) | [inherited] |
Erase all elements.
Reimplemented in concept::tr1::unordered_associative_container.
size_type concept::stl::associative_container::count | ( | key_type const & | key | ) | const [inherited] |
Count the number of elements with a given key.
key | The key to search for. |
key
. Reimplemented in concept::stl::unique_associative_container.
size_type concept::stl::unique_associative_container::count | ( | key_type const & | key | ) | const [inherited] |
Count the number of elements with a given key.
key | The key to search for. |
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.
iterator concept::stl::container::end | ( | ) | [inherited] |
Get an iterator to the end.
const_iterator concept::stl::container::end | ( | ) | const [inherited] |
Get an iterator to the end.
std::pair<iterator, iterator> concept::stl::associative_container::equal_range | ( | key_type const & | key | ) | [inherited] |
Find all elements matching a given key.
key | The key to search for. |
Reimplemented in concept::stl::unique_associative_container, and concept::tr1::unordered_associative_container.
std::pair<const_iterator, const_iterator> concept::stl::associative_container::equal_range | ( | key_type const & | key | ) | const [inherited] |
Find all elements matching a given key.
key | The key to search for. |
Reimplemented in concept::stl::unique_associative_container, and concept::tr1::unordered_associative_container.
std::pair<iterator, iterator> concept::stl::unique_associative_container::equal_range | ( | key_type const & | key | ) | [inherited] |
Find all elements matching a given key.
key | The key to search for. |
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.
std::pair<const_iterator, const_iterator> concept::stl::unique_associative_container::equal_range | ( | key_type const & | key | ) | const [inherited] |
Find all elements matching a given key.
key | The key to search for. |
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.
size_type concept::stl::associative_container::erase | ( | key_type const & | key | ) | [inherited] |
Erase an element.
key | The key of the element to erase. |
Reimplemented in concept::tr1::unordered_associative_container.
void concept::stl::associative_container::erase | ( | iterator | itr | ) | [inherited] |
Erase an element.
itr | An iterator pointing to the element to erase. |
Reimplemented in concept::tr1::unordered_associative_container, and concept::tr1::unordered_associative_container.
void concept::stl::associative_container::erase | ( | iterator | f, |
iterator | l | ||
) | [inherited] |
Erase a range of elements.
f | The beginning of the range to erase. |
l | The end of the range to erase. |
Reimplemented in concept::tr1::unordered_associative_container, and concept::tr1::unordered_associative_container.
iterator concept::stl::associative_container::find | ( | key_type const & | key | ) | [inherited] |
Find an element.
key | The key of the element to search for. |
Reimplemented in concept::tr1::unordered_associative_container.
const_iterator concept::stl::associative_container::find | ( | key_type const & | key | ) | const [inherited] |
Find an element.
key | The key of the element to search for. |
Reimplemented in concept::tr1::unordered_associative_container.
hasher concept::stl::hashed_associative_container::hash_funct | ( | ) | const [inherited] |
Get the hash functor used by the container.
hasher
object. std::pair<iterator, bool> concept::stl::unique_associative_container::insert | ( | const_reference | obj | ) | [inherited] |
Insert an element into the container.
obj | The element to insert. |
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. void concept::stl::unique_associative_container::insert | ( | input_iterator | f, |
input_iterator | l | ||
) | [inherited] |
Insert a range of elements [f,l) into the container.
f | The beginning of the range to insert. |
l | The end of the range to insert. |
Elements with duplicate keys will be ignored.
key_equal concept::stl::hashed_associative_container::key_eq | ( | ) | const [inherited] |
Get the key comparison functor used by the container.
key_equal
object. size_type concept::stl::container::max_size | ( | ) | const [inherited] |
Get the maximum size of the container.
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.
Element access.
key | The key of the element to access. |
path_iterator concept::ash::hash_matrix::path_begin | ( | point_type const & | pa, |
point_type const & | pb | ||
) |
Get an iterator from point A to point B.
pa | Point A. |
pb | Point B. |
const_path_iterator concept::ash::hash_matrix::path_begin | ( | point_type const & | pa, |
point_type const & | pb | ||
) | const |
Get an iterator from point A to point B.
pa | Point A. |
pb | Point B. |
range_iterator concept::ash::hash_matrix::range_begin | ( | key_type const & | pos, |
size_type | range | ||
) |
Get an iterator to go through all elements in a given range.
pos | The center of the area. |
range | The max 1-dimensional distance from pos . |
range
of pos
. const_range_iterator concept::ash::hash_matrix::range_begin | ( | key_type const & | pos, |
size_type | range | ||
) | const |
Get an iterator to go through all elements in a given range.
pos | The center of the area. |
range | The max 1-dimensional distance from pos . |
range
of pos
. range_iterator concept::ash::hash_matrix::range_begin | ( | pcoord_type const & | low, |
pcoord_type const & | high | ||
) |
Get an iterator to go through all elements within a given box.
low | One corner of the area. |
high | The opposite corner of the area. |
low
and high
. const_range_iterator concept::ash::hash_matrix::range_begin | ( | pcoord_type const & | low, |
pcoord_type const & | high | ||
) | const |
Get an iterator to go through all elements within a given box.
low | One corner of the area. |
high | The opposite corner of the area. |
low
and high
. void concept::stl::hashed_associative_container::resize | ( | size_type | n | ) | [inherited] |
Resize the container to hold at least n elements.
n | The number of elements the container is expected to hold. |
size_type concept::stl::container::size | ( | ) | const [inherited] |
Get the size of the container.
void concept::stl::container::swap | ( | container & | c | ) | [inherited] |
Swap method.
void concept::ash::hash_matrix::swap | ( | hash_matrix const & | obj | ) |
Swap contents with another container.
obj | The container to swap. |
© 2012 | Licensed under | Hosted by | Generated by 1.7.4 |