CAPD RedHom Library
capd::graph::GridGraph< DIM, VertexValidatorT > Class Template Reference

#include <capd/graph/GridGraph.h>

Classes

struct  rebind
 

Public Types

typedef VertexValidatorT VertexValidator
 
typedef boost::filtered_range< VertexValidator, const typename Base::Indexer::AllIndicesVertices
 
typedef homAux::MultiArrayIndexer< DIMIndexer
 
typedef Indexer::Index Index
 
typedef Indexer::Coordinates Coordinates
 
typedef Indexer::Value Id
 
typedef std::pair< Vertex, CoordinatesVertexPair
 
typedef homAux::SmallVector< Edge, NeighberhoodSizeOutEdges
 
typedef homAux::SmallVector< int, NeighberhoodSizePrecomputedNeighboursDiff
 

Public Member Functions

template<typename Shape >
 GridGraph (const Shape &shape, VertexValidator vertexValidator)
 
template<typename OtherVertexValidator >
 GridGraph (const GridGraph< DIM, OtherVertexValidator > &other, VertexValidator vertexValidator)
 
template<typename OtherVertexValidator >
rebind< OtherVertexValidator >::type changeValidator (OtherVertexValidator vertexValidator) const
 
Vertices vertices () const
 
Base::OutEdges edges (typename Base::Index v) const
 
template<typename Callback >
void edges (typename Base::Index v, Callback cb) const
 
bool isValid (const Vertex &v) const
 
void forAllEdges (Callback cb) const
 
const Indexerindexer () const
 
size_t size () const
 
View< NDims >::type operator[] (const boost::detail::multi_array::index_gen< Indexer::DIM, NDims > &indices) const
 

Static Public Attributes

static const int DIM
 
static const int NeighberhoodSize
 

Protected Member Functions

OutEdges vertexPairOutEdges (const VertexPair &v) const
 
void edgesImpl (VertexPairs vertexPairs, Callback callback) const
 
void computeNeighbours (Indices &indices, Callback callback) const
 

Protected Attributes

Indexer _indexer
 
VertexValidatorT _vertexValidator
 
Index _maxVertex
 
PrecomputedNeighboursDiff _precomputedNeighboursDiff
 
 CAPD_CLASS_LOGGER
 

Friends

template<int DIM2, typename OtherVertexValidator >
class GridGraph
 

Member Typedef Documentation

template<int DIM, typename VertexValidatorT >
typedef VertexValidatorT capd::graph::GridGraph< DIM, VertexValidatorT >::VertexValidator
template<int DIM, typename VertexValidatorT >
typedef boost::filtered_range< VertexValidator, const typename Base::Indexer::AllIndices> capd::graph::GridGraph< DIM, VertexValidatorT >::Vertices

Constructor & Destructor Documentation

template<int DIM, typename VertexValidatorT >
template<typename Shape >
capd::graph::GridGraph< DIM, VertexValidatorT >::GridGraph ( const Shape &  shape,
VertexValidator  vertexValidator 
)
inline
template<int DIM, typename VertexValidatorT >
template<typename OtherVertexValidator >
capd::graph::GridGraph< DIM, VertexValidatorT >::GridGraph ( const GridGraph< DIM, OtherVertexValidator > &  other,
VertexValidator  vertexValidator 
)
inline

Member Function Documentation

template<int DIM, typename VertexValidatorT >
template<typename OtherVertexValidator >
rebind<OtherVertexValidator>::type capd::graph::GridGraph< DIM, VertexValidatorT >::changeValidator ( OtherVertexValidator  vertexValidator) const
inline
void capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::computeNeighbours ( Indices &  indices,
Callback  callback 
) const
inlineprotectedinherited
template<int DIM, typename VertexValidatorT >
Base::OutEdges capd::graph::GridGraph< DIM, VertexValidatorT >::edges ( typename Base::Index  v) const
inline
template<int DIM, typename VertexValidatorT >
template<typename Callback >
void capd::graph::GridGraph< DIM, VertexValidatorT >::edges ( typename Base::Index  v,
Callback  cb 
) const
inline
void capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::edgesImpl ( VertexPairs  vertexPairs,
Callback  callback 
) const
inlineprotectedinherited
void capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::forAllEdges ( Callback  cb) const
inlineinherited
bool capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::isValid ( const Vertex &  v) const
inlineinherited
View<NDims>::type capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::operator[] ( const boost::detail::multi_array::index_gen< Indexer::DIM, NDims > &  indices) const
inlineinherited
OutEdges capd::graph::impl::GridGraphBase< homAux::MultiArrayIndexer< DIM > , VertexValidatorT , homAux::MultiArrayIndexer< DIM > ::DIM >::vertexPairOutEdges ( const VertexPair v) const
inlineprotectedinherited
template<int DIM, typename VertexValidatorT >
Vertices capd::graph::GridGraph< DIM, VertexValidatorT >::vertices ( ) const
inline

Friends And Related Function Documentation

template<int DIM, typename VertexValidatorT >
template<int DIM2, typename OtherVertexValidator >
friend class GridGraph
friend

Member Data Documentation