CAPD RedHom Library
capd::complex::CubCellComplexBase< MemoryModel, Tags > Class Template Reference

#include <capd/complex/CubCellComplexBase.h>

Public Types

typedef CellComplex< MemoryModel, typename impl::CubCellComplexTags< Tags >::type > 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< Tags >::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 Enumerator >
 CubCellComplexBase (Enumerator e, MemoryModel m=MemoryModel())
 
 CubCellComplexBase (CubCellComplexBase &&)=default
 
 CubCellComplexBase (const CubCellComplexBase &)=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

typedef MemoryModel::AvailableStorage capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::AvailableCells
inherited
template<typename MemoryModel, typename Tags>
typedef CellComplex<MemoryModel, typename impl::CubCellComplexTags<Tags>::type> capd::complex::CubCellComplexBase< MemoryModel, Tags >::Base
template<typename MemoryModel, typename Tags>
typedef Base::Cell capd::complex::CubCellComplexBase< MemoryModel, Tags >::Cell
template<typename MemoryModel, typename Tags>
typedef Base::CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::CellCode
typedef MemoryModel::Color capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Color
inherited
typedef MemoryModel::ColorStorage capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Colors
inherited
template<typename MemoryModel, typename Tags>
typedef Base::ConstCell capd::complex::CubCellComplexBase< MemoryModel, Tags >::ConstCell
template<typename MemoryModel, typename Tags>
typedef Base::Dim capd::complex::CubCellComplexBase< MemoryModel, Tags >::Dim
typedef MemoryModel::EnumerateCellCodes capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::EnumerateCellCodes
inherited
template<typename MemoryModel, typename Tags>
typedef Base::EnumerateCellCodes::FullCube capd::complex::CubCellComplexBase< MemoryModel, Tags >::FullCube
typedef MemoryModel::Id capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Id
inherited
typedef boost::mpl::joint_view<impl::CubCellComplexTags< Tags >::type , boost::mpl::vector<typename MemoryModel::Tag, CellComplexTag> > capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::Tags
inherited

Constructor & Destructor Documentation

template<typename MemoryModel, typename Tags>
template<typename Enumerator >
capd::complex::CubCellComplexBase< MemoryModel, Tags >::CubCellComplexBase ( Enumerator  e,
MemoryModel  m = MemoryModel() 
)
inlineexplicit
template<typename MemoryModel, typename Tags>
capd::complex::CubCellComplexBase< MemoryModel, Tags >::CubCellComplexBase ( CubCellComplexBase< MemoryModel, Tags > &&  )
default
template<typename MemoryModel, typename Tags>
capd::complex::CubCellComplexBase< MemoryModel, Tags >::CubCellComplexBase ( const CubCellComplexBase< MemoryModel, Tags > &  )
default

Member Function Documentation

size_t capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::cardinality ( ) const
inlineinherited
CellCode capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::cellCode ( ) const
inlineinherited
template<typename MemoryModel, typename Tags>
int capd::complex::CubCellComplexBase< MemoryModel, Tags >::coincidenceIndex ( const ConstCell cellA,
const ConstCell cellB 
) const
inline
Color capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::color ( Id  id) const
inlineinherited
Dim capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::dim ( ) const
inlineinherited
EnumerateCellCodes& capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::enumerateCellCodes ( )
inlineinherited
const EnumerateCellCodes& capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::enumerateCellCodes ( ) const
inlineinherited
bool capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::exists ( Id  id) const
inlineinherited
bool capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::exists ( const CellCode cellCode) const
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundaries ( )
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundary ( Id  cellId,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::fillWithBoundary ( const Cell cell,
Color  color = Color(),
bool  keepLower = true 
)
inlineinherited
boost::optional<Cell> capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::find ( const CellCode cellCode)
inlineinherited
boost::optional<Cell> capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::find ( Id  id)
inlineinherited
template<typename MemoryModel, typename Tags>
FullCube capd::complex::CubCellComplexBase< MemoryModel, Tags >::fullCube ( ) const
inline
Dim capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::getDim ( ) const
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insert ( const CellCode cellCode)
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insert ( const CellCode cellCode,
Color  color 
)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::insertAll ( Color  color = Color(1))
inlineprotectedinherited
bool capd::complex::SComplexBase::isClosed ( ) const
inlineinherited
Iterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( )
inlineinherited
ConstIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( ) const
inlineinherited
ColoredIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( Color  color)
inlineinherited
ColoredConstIterators capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::iterators ( Color  color) const
inlineinherited
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( const FullCube fullCube) const
inline
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( size_t  x,
size_t  y 
) const
inline
template<typename MemoryModel, typename Tags>
CellCode capd::complex::CubCellComplexBase< MemoryModel, Tags >::operator() ( size_t  x,
size_t  y,
size_t  z 
) const
inline
ConstCell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( const CellCode cellCode) const
inlineinherited
ConstCell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( Id  id) const
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( const CellCode cellCode)
inlineinherited
Cell capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::operator[] ( Id  id)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::remove ( Cell cell)
inlineinherited
void capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::resetColors ( Color  color)
inlineinherited
void capd::complex::SComplexBase::setClosed ( bool  closed)
inlineinherited
void capd::complex::SComplexBase::setClosedValidator ( const boost::function< bool()> &  v)
inlineinherited
size_t capd::complex::CellComplex< MemoryModel , impl::CubCellComplexTags< Tags >::type >::size ( ) const
inlineinherited