Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

HashGrid< Cluster > Class Template Reference

Container for (2-dimensional coordinate, value) pairs. More...

#include <OpenMS/COMPARISON/CLUSTERING/HashGrid.h>

List of all members.

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, DoubleRealClusterCenter
 Coordinate for stored pairs.
typedef DPosition< 2, Int64CellIndex
 Index for cells.
typedef
boost::unordered_multimap
< ClusterCenter, Cluster > 
CellContent
 Contents of a cell.
typedef boost::unordered_map
< CellIndex, CellContent
Grid
 Map of (cell-index, cell-content).
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.
void erase (iterator pos)
 Erases element on given iterator.
size_type erase (const key_type &key)
 Erases elements matching the 2-dimensional coordinate.
void clear ()
 Clears the map.
iterator begin ()
 Returns iterator to first element.
const_iterator begin () const
 Returns iterator to first element.
iterator end ()
 Returns iterator to first element.
const_iterator end () const
 Returns iterator to first element.
bool empty () const
 Return true if HashGrid is empty.
size_type size () const
 Return number of elements.
const_grid_iterator grid_begin () const
 Returns iterator to first grid cell.
const_grid_iterator grid_end () const
 Returns iterator to on after last grid cell.
const Grid::mapped_type & grid_at (const CellIndex &x) const
 Returns the grid cell at given index.
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.
const CellIndexgrid_dimension
 Upper-right corner of key space for cells.

Private Member Functions

CellIndex cellindexAtClustercenter_ (const ClusterCenter &key)
void updateGridDimension_ (const CellIndex &d)

Private Attributes

Grid cells_
CellIndex grid_dimension_

Detailed Description

template<typename Cluster>
class OpenMS::HashGrid< Cluster >

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.

Template Parameters:
Cluster Type to be stored in the hash grid. (e.g. HierarchicalClustering::Cluster)

Member Typedef Documentation

typedef CellContent::iterator cell_iterator
typedef boost::unordered_multimap<ClusterCenter, Cluster> CellContent

Contents of a cell.

typedef DPosition<2, Int64> CellIndex

Index for cells.

Coordinate for stored pairs.

typedef CellContent::const_iterator const_cell_iterator
typedef Grid::const_iterator const_grid_iterator
typedef boost::unordered_map<CellIndex, CellContent> Grid

Map of (cell-index, cell-content).

typedef Grid::iterator grid_iterator
typedef Iterator 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

Constructor & Destructor Documentation

HashGrid ( const ClusterCenter cell_dimension  )  [inline]

Member Function Documentation

iterator begin (  )  [inline]

Returns iterator to first element.

References HashGrid< Cluster >::cells_, and HashGrid< Cluster >::end().

const_iterator begin (  )  const [inline]

Returns iterator to first element.

References HashGrid< Cluster >::cells_, and HashGrid< Cluster >::end().

CellIndex cellindexAtClustercenter_ ( const ClusterCenter key  )  [inline, private]
void clear (  )  [inline]

Clears the map.

References HashGrid< Cluster >::cells_.

bool empty (  )  const [inline]

Return true if HashGrid is empty.

References HashGrid< Cluster >::size().

const_iterator end (  )  const [inline]

Returns iterator to first element.

References HashGrid< Cluster >::cells_.

iterator end (  )  [inline]

Returns iterator to first element.

References HashGrid< Cluster >::cells_.

Referenced by HashGrid< Cluster >::begin().

void erase ( iterator  pos  )  [inline]

Erases element on given iterator.

References HashGrid< Cluster >::Iterator::cell_it_, and HashGrid< Cluster >::Iterator::grid_it_.

size_type erase ( const key_type key  )  [inline]

Erases elements matching the 2-dimensional coordinate.

Parameters:
key Key of element to be erased.
Returns:
Number of elements erased.

References HashGrid< Cluster >::cellindexAtClustercenter_(), and HashGrid< Cluster >::cells_.

Grid::mapped_type& grid_at ( const CellIndex x  )  [inline]
Warning:
Currently needed non-const by HierarchicalClustering.

References HashGrid< Cluster >::cells_.

const Grid::mapped_type& grid_at ( const CellIndex x  )  const [inline]

Returns the grid cell at given index.

References HashGrid< Cluster >::cells_.

const_grid_iterator grid_begin (  )  const [inline]

Returns iterator to first grid cell.

References HashGrid< Cluster >::cells_.

Referenced by HashGrid< Cluster >::size().

grid_iterator grid_begin (  )  [inline]
Warning:
Currently needed non-const by HierarchicalClustering.

References HashGrid< Cluster >::cells_.

grid_iterator grid_end (  )  [inline]
Warning:
Currently needed non-const by HierarchicalClustering.

References HashGrid< Cluster >::cells_.

const_grid_iterator grid_end (  )  const [inline]

Returns iterator to on after last grid cell.

References HashGrid< Cluster >::cells_.

Referenced by HashGrid< Cluster >::size().

cell_iterator insert ( const value_type v  )  [inline]

Inserts a (2-dimensional coordinate, value) pair.

Parameters:
v Pair to be inserted.
Returns:
Iterator that points to the inserted pair.

References HashGrid< Cluster >::cellindexAtClustercenter_(), HashGrid< Cluster >::cells_, and HashGrid< Cluster >::updateGridDimension_().

size_type size (  )  const [inline]

Return number of elements.

References HashGrid< Cluster >::grid_begin(), and HashGrid< Cluster >::grid_end().

Referenced by HashGrid< Cluster >::empty().

void updateGridDimension_ ( const CellIndex d  )  [inline, private]

Member Data Documentation

Dimension of cells.

Referenced by HashGrid< Cluster >::cellindexAtClustercenter_().

Grid cells_ [private]

Upper-right corner of key space for cells.


OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:50 using doxygen 1.7.1