Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Friends

LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE > Class Template Reference

This class is meant to be used with BoxCell and alike to interface MD and n-body codes with our standard neighborhood types. More...

#include <neighborhooditerator.h>

Collaboration diagram for LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef NEIGHBORHOOD Neighborhood
typedef Neighborhood::Cell Cell
typedef
COLLECTION_INTERFACE::Container::const_iterator 
CellIterator
typedef
COLLECTION_INTERFACE::Container::value_type 
Particle
typedef
NeighborhoodIteratorHelpers::Adapter
< NeighborhoodIterator
Adapter

Public Member Functions

 NeighborhoodIterator (const Neighborhood &hood, const Coord< DIM > &coord, const CellIterator &iterator)
const Particleoperator* () const
CellIterator operator-> () const
void operator++ ()
bool operator== (const NeighborhoodIterator &other) const
bool operator!= (const NeighborhoodIterator &other) const

Static Public Member Functions

static NeighborhoodIterator begin (const Neighborhood &hood)
static NeighborhoodIterator end (const Neighborhood &hood)

Private Attributes

const Neighborhoodhood
CoordBox< DIM >::Iterator boxIterator
CoordBox< DIM >::Iterator endIterator
const Cellcell
CellIterator iterator

Friends

class NeighborhoodIteratorTest

Detailed Description

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
class LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >

This class is meant to be used with BoxCell and alike to interface MD and n-body codes with our standard neighborhood types.

It allows models to transparently traverse all particles in their neighboring containers.


Member Typedef Documentation

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
typedef NeighborhoodIteratorHelpers::Adapter<NeighborhoodIterator> LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::Adapter
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
typedef Neighborhood::Cell LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::Cell
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
typedef COLLECTION_INTERFACE::Container::const_iterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::CellIterator
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
typedef NEIGHBORHOOD LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::Neighborhood
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
typedef COLLECTION_INTERFACE::Container::value_type LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::Particle

Constructor & Destructor Documentation

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::NeighborhoodIterator ( const Neighborhood hood,
const Coord< DIM > &  coord,
const CellIterator iterator 
) [inline]

Member Function Documentation

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
static NeighborhoodIterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::begin ( const Neighborhood hood  )  [inline, static]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
static NeighborhoodIterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::end ( const Neighborhood hood  )  [inline, static]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
bool LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::operator!= ( const NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE > &  other  )  const [inline]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
const Particle& LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::operator* (  )  const [inline]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
void LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::operator++ (  )  [inline]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
CellIterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::operator-> (  )  const [inline]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
bool LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::operator== ( const NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE > &  other  )  const [inline]

Friends And Related Function Documentation

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
friend class NeighborhoodIteratorTest [friend]

Member Data Documentation

template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
CoordBox<DIM>::Iterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::boxIterator [private]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
const Cell* LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::cell [private]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
CoordBox<DIM>::Iterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::endIterator [private]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
const Neighborhood& LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::hood [private]
template<class NEIGHBORHOOD, int DIM, typename COLLECTION_INTERFACE = CollectionInterface::PassThrough<typename NEIGHBORHOOD::Cell>>
CellIterator LibGeoDecomp::NeighborhoodIterator< NEIGHBORHOOD, DIM, COLLECTION_INTERFACE >::iterator [private]

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