CAPD RedHom Library
capd::complex::EnumerateLefschetzCells< Data, SizeT > Class Template Reference

#include <capd/complex/EnumerateLefschetzCells.h>

Public Types

typedef SizeT Size
 
typedef Size Index
 
typedef DimType Dim
 
typedef boost::is_void< Data > HasData
 
typedef boost::mpl::if_< HasData, boost::tuple< Dim >, boost::tuple< Dim, Data > >::type CellData
 
typedef boost::tuple< Index, CellDataCellCode
 
typedef std::vector< std::pair< Index, Index > > CoboundariesRelation
 
typedef std::vector< IndexBoundaries
 
typedef boost::iterator_range< boost::range_detail::integer_iterator< Index > > All
 
typedef boost::transform_iterator< homAux::PairSecond< typename boost::iterator_reference< typename CoboundariesRelation::const_iterator >::type >, typename CoboundariesRelation::const_iterator > CbdIterator
 
typedef Boundaries::const_iterator BdIterator
 
typedef boost::iterator_range< BdIteratorBd
 
typedef boost::iterator_range< CbdIteratorCbd
 

Public Member Functions

 EnumerateLefschetzCells ()
 
 EnumerateLefschetzCells (size_t size, size_t bdSize)
 
All all () const
 
Bd bd (Index idx) const
 
Cbd cbd (Index idx) const
 
void add (Index id, Dim dim)
 
void pushRelation (Index id1, Index id2)
 
void setRelation (size_t pos, Index id1, Index id2)
 
void resizeRelation ()
 
Dim dim (Index id) const
 
bool valid (CellCode) const
 
void operator() ()
 
Index idxOf (const CellCode &cellCode) const
 
Index operator[] (const CellCode &cellCode) const
 
CellCode operator[] (Index idx) const
 
Size size () const
 
Dim dim () const
 

Member Typedef Documentation

template<typename Data = void, typename SizeT = size_t>
typedef boost::iterator_range<boost::range_detail::integer_iterator<Index> > capd::complex::EnumerateLefschetzCells< Data, SizeT >::All
template<typename Data = void, typename SizeT = size_t>
typedef boost::iterator_range<BdIterator> capd::complex::EnumerateLefschetzCells< Data, SizeT >::Bd
template<typename Data = void, typename SizeT = size_t>
typedef Boundaries::const_iterator capd::complex::EnumerateLefschetzCells< Data, SizeT >::BdIterator
template<typename Data = void, typename SizeT = size_t>
typedef std::vector<Index> capd::complex::EnumerateLefschetzCells< Data, SizeT >::Boundaries
template<typename Data = void, typename SizeT = size_t>
typedef boost::iterator_range<CbdIterator> capd::complex::EnumerateLefschetzCells< Data, SizeT >::Cbd
template<typename Data = void, typename SizeT = size_t>
typedef boost::transform_iterator< homAux::PairSecond<typename boost::iterator_reference<typename CoboundariesRelation::const_iterator>::type>, typename CoboundariesRelation::const_iterator> capd::complex::EnumerateLefschetzCells< Data, SizeT >::CbdIterator
template<typename Data = void, typename SizeT = size_t>
typedef boost::tuple<Index, CellData> capd::complex::EnumerateLefschetzCells< Data, SizeT >::CellCode
template<typename Data = void, typename SizeT = size_t>
typedef boost::mpl::if_<HasData, boost::tuple<Dim>, boost::tuple<Dim, Data> >::type capd::complex::EnumerateLefschetzCells< Data, SizeT >::CellData
template<typename Data = void, typename SizeT = size_t>
typedef std::vector<std::pair<Index, Index> > capd::complex::EnumerateLefschetzCells< Data, SizeT >::CoboundariesRelation
template<typename Data = void, typename SizeT = size_t>
typedef DimType capd::complex::EnumerateLefschetzCells< Data, SizeT >::Dim
template<typename Data = void, typename SizeT = size_t>
typedef boost::is_void<Data> capd::complex::EnumerateLefschetzCells< Data, SizeT >::HasData
template<typename Data = void, typename SizeT = size_t>
typedef Size capd::complex::EnumerateLefschetzCells< Data, SizeT >::Index
template<typename Data = void, typename SizeT = size_t>
typedef SizeT capd::complex::EnumerateLefschetzCells< Data, SizeT >::Size

Constructor & Destructor Documentation

template<typename Data = void, typename SizeT = size_t>
capd::complex::EnumerateLefschetzCells< Data, SizeT >::EnumerateLefschetzCells ( )
inline
template<typename Data = void, typename SizeT = size_t>
capd::complex::EnumerateLefschetzCells< Data, SizeT >::EnumerateLefschetzCells ( size_t  size,
size_t  bdSize 
)
inline

Member Function Documentation

template<typename Data = void, typename SizeT = size_t>
void capd::complex::EnumerateLefschetzCells< Data, SizeT >::add ( Index  id,
Dim  dim 
)
inline
template<typename Data = void, typename SizeT = size_t>
All capd::complex::EnumerateLefschetzCells< Data, SizeT >::all ( ) const
inline
template<typename Data = void, typename SizeT = size_t>
Bd capd::complex::EnumerateLefschetzCells< Data, SizeT >::bd ( Index  idx) const
inline
template<typename Data = void, typename SizeT = size_t>
Cbd capd::complex::EnumerateLefschetzCells< Data, SizeT >::cbd ( Index  idx) const
inline
template<typename Data = void, typename SizeT = size_t>
Dim capd::complex::EnumerateLefschetzCells< Data, SizeT >::dim ( Index  id) const
inline
template<typename Data = void, typename SizeT = size_t>
Dim capd::complex::EnumerateLefschetzCells< Data, SizeT >::dim ( ) const
inline
template<typename Data = void, typename SizeT = size_t>
Index capd::complex::EnumerateLefschetzCells< Data, SizeT >::idxOf ( const CellCode cellCode) const
inline
template<typename Data = void, typename SizeT = size_t>
void capd::complex::EnumerateLefschetzCells< Data, SizeT >::operator() ( )
inline
template<typename Data = void, typename SizeT = size_t>
Index capd::complex::EnumerateLefschetzCells< Data, SizeT >::operator[] ( const CellCode cellCode) const
inline
template<typename Data = void, typename SizeT = size_t>
CellCode capd::complex::EnumerateLefschetzCells< Data, SizeT >::operator[] ( Index  idx) const
inline
template<typename Data = void, typename SizeT = size_t>
void capd::complex::EnumerateLefschetzCells< Data, SizeT >::pushRelation ( Index  id1,
Index  id2 
)
inline
template<typename Data = void, typename SizeT = size_t>
void capd::complex::EnumerateLefschetzCells< Data, SizeT >::resizeRelation ( )
inline
template<typename Data = void, typename SizeT = size_t>
void capd::complex::EnumerateLefschetzCells< Data, SizeT >::setRelation ( size_t  pos,
Index  id1,
Index  id2 
)
inline
template<typename Data = void, typename SizeT = size_t>
Size capd::complex::EnumerateLefschetzCells< Data, SizeT >::size ( ) const
inline
template<typename Data = void, typename SizeT = size_t>
bool capd::complex::EnumerateLefschetzCells< Data, SizeT >::valid ( CellCode  ) const
inline