CAPD RedHom Library
capd::complex::HasseDiagram< DimT, ScalarT > Class Template Reference

#include <capd/complex/HasseDiagram.h>

Classes

struct  CellCode
 
struct  EdgeSourceIndex
 
struct  EdgeTargeIndex
 

Public Types

typedef DimT Dim
 
typedef ScalarT Scalar
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, boost::property< vertex_dimension_t, Dim >, boost::property< edge_coincidence_index_t, Scalar > > Graph
 
typedef boost::graph_traits< Graph >::edge_descriptor Edge
 
typedef boost::graph_traits< Graph >::vertex_descriptor Vertex
 
typedef boost::graph_traits< Graph >::vertex_iterator VertexIterator
 
typedef Vertex Index
 
typedef boost::iterator_range< boost::transform_iterator< Index(*)(const Vertex &), VertexIterator > > All
 
typedef boost::iterator_range< boost::transform_iterator< EdgeTargeIndex, typename boost::graph_traits< Graph >::out_edge_iterator > > Bd
 
typedef boost::iterator_range< boost::transform_iterator< EdgeSourceIndex, typename boost::graph_traits< Graph >::in_edge_iterator > > Cbd
 

Public Member Functions

 HasseDiagram (size_t size)
 
size_t size () const
 
void set (const Vertex &v, Dim dim)
 
void connect (const Vertex &u, const Vertex &v, Scalar ci)
 
Scalar coincidence (Index u, Index v) const
 
Dim dim (Index index) const
 
Dim dim () const
 
CellCode operator[] (Index vertex) const
 
Index operator[] (CellCode cellCode) const
 
bool valid (CellCode) const
 
All all () const
 
Bd bd (Index v) const
 
Cbd cbd (Index v) const
 

Member Typedef Documentation

template<typename DimT, typename ScalarT>
typedef boost::iterator_range<boost::transform_iterator<Index (*)(const Vertex&), VertexIterator> > capd::complex::HasseDiagram< DimT, ScalarT >::All
template<typename DimT, typename ScalarT>
typedef boost::iterator_range< boost::transform_iterator<EdgeTargeIndex, typename boost::graph_traits<Graph>::out_edge_iterator> > capd::complex::HasseDiagram< DimT, ScalarT >::Bd
template<typename DimT, typename ScalarT>
typedef boost::iterator_range< boost::transform_iterator<EdgeSourceIndex, typename boost::graph_traits<Graph>::in_edge_iterator> > capd::complex::HasseDiagram< DimT, ScalarT >::Cbd
template<typename DimT, typename ScalarT>
typedef DimT capd::complex::HasseDiagram< DimT, ScalarT >::Dim
template<typename DimT, typename ScalarT>
typedef boost::graph_traits<Graph>::edge_descriptor capd::complex::HasseDiagram< DimT, ScalarT >::Edge
template<typename DimT, typename ScalarT>
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, boost::property<vertex_dimension_t, Dim>, boost::property<edge_coincidence_index_t, Scalar> > capd::complex::HasseDiagram< DimT, ScalarT >::Graph
template<typename DimT, typename ScalarT>
typedef Vertex capd::complex::HasseDiagram< DimT, ScalarT >::Index
template<typename DimT, typename ScalarT>
typedef ScalarT capd::complex::HasseDiagram< DimT, ScalarT >::Scalar
template<typename DimT, typename ScalarT>
typedef boost::graph_traits<Graph>::vertex_descriptor capd::complex::HasseDiagram< DimT, ScalarT >::Vertex
template<typename DimT, typename ScalarT>
typedef boost::graph_traits<Graph>::vertex_iterator capd::complex::HasseDiagram< DimT, ScalarT >::VertexIterator

Constructor & Destructor Documentation

template<typename DimT, typename ScalarT>
capd::complex::HasseDiagram< DimT, ScalarT >::HasseDiagram ( size_t  size)
inlineexplicit

Member Function Documentation

template<typename DimT, typename ScalarT>
All capd::complex::HasseDiagram< DimT, ScalarT >::all ( ) const
inline
template<typename DimT, typename ScalarT>
Bd capd::complex::HasseDiagram< DimT, ScalarT >::bd ( Index  v) const
inline
template<typename DimT, typename ScalarT>
Cbd capd::complex::HasseDiagram< DimT, ScalarT >::cbd ( Index  v) const
inline
template<typename DimT, typename ScalarT>
Scalar capd::complex::HasseDiagram< DimT, ScalarT >::coincidence ( Index  u,
Index  v 
) const
inline
template<typename DimT, typename ScalarT>
void capd::complex::HasseDiagram< DimT, ScalarT >::connect ( const Vertex u,
const Vertex v,
Scalar  ci 
)
inline
template<typename DimT, typename ScalarT>
Dim capd::complex::HasseDiagram< DimT, ScalarT >::dim ( Index  index) const
inline
template<typename DimT, typename ScalarT>
Dim capd::complex::HasseDiagram< DimT, ScalarT >::dim ( ) const
inline
template<typename DimT, typename ScalarT>
CellCode capd::complex::HasseDiagram< DimT, ScalarT >::operator[] ( Index  vertex) const
inline
template<typename DimT, typename ScalarT>
Index capd::complex::HasseDiagram< DimT, ScalarT >::operator[] ( CellCode  cellCode) const
inline
template<typename DimT, typename ScalarT>
void capd::complex::HasseDiagram< DimT, ScalarT >::set ( const Vertex v,
Dim  dim 
)
inline
template<typename DimT, typename ScalarT>
size_t capd::complex::HasseDiagram< DimT, ScalarT >::size ( ) const
inline
template<typename DimT, typename ScalarT>
bool capd::complex::HasseDiagram< DimT, ScalarT >::valid ( CellCode  ) const
inline