CAPD RedHom Library
capd::complex::CubCellComplex< MemoryModel > Class Template Reference

#include <capd/complex/CubCellComplex.h>

Public Types

typedef CubCellComplexBase< MemoryModel, boost::mpl::vector< CubicalTag, RegularCubicalTag > > Base
 
typedef Base::Cell Cell
 
typedef Base::ConstCell ConstCell
 
typedef Base::CellCode CellCode
 
typedef Base::EnumerateCellCodes::FullCube FullCube
 
typedef Base::Dim Dim
 
typedef MemoryModel MemoryModel
 
typedef MemoryModel::Id Id
 
typedef MemoryModel::Color Color
 
typedef MemoryModel::EnumerateCellCodes EnumerateCellCodes
 
typedef MemoryModel::AvailableStorage AvailableCells
 
typedef MemoryModel::ColorStorage Colors
 
typedef boost::mpl::joint_view< impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type, boost::mpl::vector< typename MemoryModel::Tag, CellComplexTag > > Tags
 
typedef CellComplex_IteratorFamily< CellComplex, Cell, ConstCellIterators
 
typedef CellComplex_IteratorFamily< const CellComplex, ConstCell, ConstCellConstIterators
 
typedef ColoredIteratorFamily< IteratorsColoredIterators
 
typedef ColoredIteratorFamily< ConstIteratorsColoredConstIterators
 
typedef boost::mpl::true_ IsComplex
 

Public Member Functions

template<typename Lengths >
 CubCellComplex (const Lengths &lengths)
 
 CubCellComplex (CubCellComplex &&)=default
 
 CubCellComplex (const CubCellComplex &)=default
 
FullCube fullCube () const
 
CellCode operator() (const FullCube &fullCube) const
 
CellCode operator() (size_t x, size_t y) const
 
CellCode operator() (size_t x, size_t y, size_t z) const
 
int coincidenceIndex (const ConstCell &cellA, const ConstCell &cellB) const
 
size_t size () const
 
size_t cardinality () const
 
CellCode cellCode () const
 
Dim dim () const
 
Dim getDim () const
 
Iterators iterators ()
 
ConstIterators iterators () const
 
ColoredIterators iterators (Color color)
 
ColoredConstIterators iterators (Color color) const
 
ConstCell operator[] (const CellCode &cellCode) const
 
ConstCell operator[] (Id id) const
 
Cell operator[] (const CellCode &cellCode)
 
Cell operator[] (Id id)
 
boost::optional< Cellfind (const CellCode &cellCode)
 
boost::optional< Cellfind (Id id)
 
Color color (Id id) const
 
bool exists (Id id) const
 
bool exists (const CellCode &cellCode) const
 
Cell insert (const CellCode &cellCode)
 
Cell insert (const CellCode &cellCode, Color color)
 
void remove (Cell &cell)
 
void fillWithBoundaries ()
 
void fillWithBoundary (Id cellId, Color color=Color(), bool keepLower=true)
 
void fillWithBoundary (const Cell &cell, Color color=Color(), bool keepLower=true)
 
void resetColors (Color color)
 
EnumerateCellCodesenumerateCellCodes ()
 
const EnumerateCellCodesenumerateCellCodes () const
 
bool isClosed () const
 
void setClosedValidator (const boost::function< bool()> &v)
 
void setClosed (bool closed)
 

Protected Member Functions

void insertAll (Color color=Color(1))
 

Member Typedef Documentation

Constructor & Destructor Documentation

template<typename MemoryModel >
template<typename Lengths >
capd::complex::CubCellComplex< MemoryModel >::CubCellComplex ( const Lengths &  lengths)
inlineexplicit
template<typename MemoryModel >
capd::complex::CubCellComplex< MemoryModel >::CubCellComplex ( CubCellComplex< MemoryModel > &&  )
default
template<typename MemoryModel >
capd::complex::CubCellComplex< MemoryModel >::CubCellComplex ( const CubCellComplex< MemoryModel > &  )
default

Member Function Documentation

int capd::complex::CubCellComplexBase< MemoryModel, boost::mpl::vector< CubicalTag, RegularCubicalTag > >::coincidenceIndex ( const ConstCell cellA,
const ConstCell cellB 
) const
inlineinherited
bool capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::exists ( const CellCode cellCode) const
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::fillWithBoundary ( Id  cellId,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::fillWithBoundary ( const Cell cell,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
boost::optional<Cell> capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::find ( const CellCode cellCode)
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::insert ( const CellCode cellCode,
Color  color 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::insertAll ( Color  color = Color(1))
inlineprotectedinherited
bool capd::complex::SComplexBase::isClosed ( ) const
inlineinherited
CellCode capd::complex::CubCellComplexBase< MemoryModel, boost::mpl::vector< CubicalTag, RegularCubicalTag > >::operator() ( const FullCube fullCube) const
inlineinherited
ConstCell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< boost::mpl::vector< CubicalTag, RegularCubicalTag > >::type >::operator[] ( const CellCode cellCode) const
inlineinherited
void capd::complex::SComplexBase::setClosed ( bool  closed)
inlineinherited
void capd::complex::SComplexBase::setClosedValidator ( const boost::function< bool()> &  v)
inlineinherited