Container for (2-dimensional coordinate, value) pairs. More...
#include <OpenMS/COMPARISON/CLUSTERING/HashGrid.h>
Classes | |
| class | ConstIterator |
| Constant element iterator for the hash grid. More... | |
| class | Iterator |
| Element iterator for the hash grid. More... | |
Public Types | |
| typedef DPosition< 2, DoubleReal > | ClusterCenter |
| Coordinate for stored pairs. More... | |
| typedef DPosition< 2, Int64 > | CellIndex |
| Index for cells. More... | |
| typedef boost::unordered_multimap < ClusterCenter, Cluster > | CellContent |
| Contents of a cell. More... | |
| typedef boost::unordered_map < CellIndex, CellContent > | Grid |
| Map of (cell-index, cell-content). More... | |
| typedef CellContent::key_type | key_type |
| typedef CellContent::mapped_type | mapped_type |
| typedef CellContent::value_type | value_type |
| typedef ConstIterator | const_iterator |
| typedef Iterator | iterator |
| typedef Grid::const_iterator | const_grid_iterator |
| typedef Grid::iterator | grid_iterator |
| typedef CellContent::const_iterator | const_cell_iterator |
| typedef CellContent::iterator | cell_iterator |
| typedef CellContent::size_type | size_type |
Public Member Functions | |
| HashGrid (const ClusterCenter &cell_dimension) | |
| cell_iterator | insert (const value_type &v) |
| Inserts a (2-dimensional coordinate, value) pair. More... | |
| void | erase (iterator pos) |
| Erases element on given iterator. More... | |
| size_type | erase (const key_type &key) |
| Erases elements matching the 2-dimensional coordinate. More... | |
| void | clear () |
| Clears the map. More... | |
| iterator | begin () |
| Returns iterator to first element. More... | |
| const_iterator | begin () const |
| Returns iterator to first element. More... | |
| iterator | end () |
| Returns iterator to first element. More... | |
| const_iterator | end () const |
| Returns iterator to first element. More... | |
| bool | empty () const |
| Return true if HashGrid is empty. More... | |
| size_type | size () const |
| Return number of elements. More... | |
| const_grid_iterator | grid_begin () const |
| Returns iterator to first grid cell. More... | |
| const_grid_iterator | grid_end () const |
| Returns iterator to on after last grid cell. More... | |
| const Grid::mapped_type & | grid_at (const CellIndex &x) const |
| Returns the grid cell at given index. More... | |
| grid_iterator | grid_begin () |
| grid_iterator | grid_end () |
| Grid::mapped_type & | grid_at (const CellIndex &x) |
Public Attributes | |
| const ClusterCenter | cell_dimension |
| Dimension of cells. More... | |
| const CellIndex & | grid_dimension |
| Upper-right corner of key space for cells. More... | |
Private Member Functions | |
| CellIndex | cellindexAtClustercenter_ (const ClusterCenter &key) |
| void | updateGridDimension_ (const CellIndex &d) |
Private Attributes | |
| Grid | cells_ |
| CellIndex | grid_dimension_ |
Container for (2-dimensional coordinate, value) pairs.
A hash-grid consists of hash-grid cells. The key of each cell is a pair of integers. Each pair is assigned to a cell using a hash function.
This container implements most parts of the C++ standard map interface.
| Cluster | Type to be stored in the hash grid. (e.g. HierarchicalClustering::Cluster) |
| typedef CellContent::iterator cell_iterator |
| typedef boost::unordered_multimap<ClusterCenter, Cluster> CellContent |
Contents of a cell.
| typedef DPosition<2, DoubleReal> ClusterCenter |
Coordinate for stored pairs.
| typedef CellContent::const_iterator const_cell_iterator |
| typedef Grid::const_iterator const_grid_iterator |
| typedef ConstIterator const_iterator |
| typedef boost::unordered_map<CellIndex, CellContent> Grid |
Map of (cell-index, cell-content).
| typedef Grid::iterator grid_iterator |
| typedef CellContent::key_type key_type |
| typedef CellContent::mapped_type mapped_type |
| typedef CellContent::size_type size_type |
| typedef CellContent::value_type value_type |
|
inline |
|
inline |
Returns iterator to first element.
References HashGrid< Cluster >::cells_, and HashGrid< Cluster >::end().
|
inline |
Returns iterator to first element.
References HashGrid< Cluster >::cells_, and HashGrid< Cluster >::end().
|
inlineprivate |
|
inline |
Clears the map.
References HashGrid< Cluster >::cells_.
|
inline |
Return true if HashGrid is empty.
References HashGrid< Cluster >::size().
|
inline |
Returns iterator to first element.
References HashGrid< Cluster >::cells_.
Referenced by HashGrid< Cluster >::begin().
|
inline |
Returns iterator to first element.
References HashGrid< Cluster >::cells_.
|
inline |
Erases element on given iterator.
References HashGrid< Cluster >::Iterator::cell_it_, and HashGrid< Cluster >::Iterator::grid_it_.
Erases elements matching the 2-dimensional coordinate.
| key | Key of element to be erased. |
References HashGrid< Cluster >::cellindexAtClustercenter_(), and HashGrid< Cluster >::cells_.
|
inline |
Returns the grid cell at given index.
References HashGrid< Cluster >::cells_.
|
inline |
References HashGrid< Cluster >::cells_.
|
inline |
Returns iterator to first grid cell.
References HashGrid< Cluster >::cells_.
Referenced by HashGrid< Cluster >::size().
|
inline |
References HashGrid< Cluster >::cells_.
|
inline |
Returns iterator to on after last grid cell.
References HashGrid< Cluster >::cells_.
Referenced by HashGrid< Cluster >::size().
|
inline |
References HashGrid< Cluster >::cells_.
|
inline |
Inserts a (2-dimensional coordinate, value) pair.
| v | Pair to be inserted. |
References HashGrid< Cluster >::cellindexAtClustercenter_(), HashGrid< Cluster >::cells_, and HashGrid< Cluster >::updateGridDimension_().
|
inline |
Return number of elements.
References HashGrid< Cluster >::grid_begin(), and HashGrid< Cluster >::grid_end().
Referenced by HashGrid< Cluster >::empty().
|
inlineprivate |
References DPosition< D, TCoordinateType >::begin(), DPosition< D, TCoordinateType >::end(), and HashGrid< Cluster >::grid_dimension_.
Referenced by HashGrid< Cluster >::insert().
| const ClusterCenter cell_dimension |
Dimension of cells.
Referenced by HashGrid< Cluster >::cellindexAtClustercenter_().
|
private |
| const CellIndex& grid_dimension |
Upper-right corner of key space for cells.
|
private |
Referenced by HashGrid< Cluster >::updateGridDimension_().
| OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:28 using doxygen 1.8.5 |