CAPD RedHom Library
capd::complex::CellComplex< MemoryModelT, _Tags > Class Template Reference

#include <capd/complex/CellComplex.h>

Classes

class  CellImpl
 

Public Types

typedef MemoryModelT MemoryModel
 
typedef MemoryModel::Id Id
 
typedef MemoryModel::Color Color
 
typedef MemoryModel::Dim Dim
 
typedef MemoryModel::EnumerateCellCodes EnumerateCellCodes
 
typedef EnumerateCellCodes::CellCode CellCode
 
typedef MemoryModel::AvailableStorage AvailableCells
 
typedef MemoryModel::ColorStorage Colors
 
typedef boost::mpl::joint_view< _Tags, boost::mpl::vector< typename MemoryModel::Tag, CellComplexTag > > Tags
 
typedef CellImpl< CellComplexCell
 
typedef CellImpl< const CellComplexConstCell
 
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

 CellComplex (boost::shared_ptr< EnumerateCellCodes > enumerateCellCodes, MemoryModel memoryModel=MemoryModel())
 
 CellComplex (const EnumerateCellCodes &enumerateCellCodes, MemoryModel memoryModel=MemoryModel())
 
 CellComplex (EnumerateCellCodes &enumerateCellCodes, bool reference, MemoryModel memoryModel=MemoryModel())
 
 CellComplex (const CellComplex &)=default
 
 CellComplex (CellComplex &&)=default
 
virtual ~CellComplex ()
 
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))
 

Friends

template<typename ComplexT , typename CellT , typename ConstCellT >
class CellComplex_IteratorFamily
 

Member Typedef Documentation

template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::AvailableStorage capd::complex::CellComplex< MemoryModelT, _Tags >::AvailableCells
template<typename MemoryModelT, typename _Tags>
typedef CellImpl<CellComplex> capd::complex::CellComplex< MemoryModelT, _Tags >::Cell
template<typename MemoryModelT, typename _Tags>
typedef EnumerateCellCodes::CellCode capd::complex::CellComplex< MemoryModelT, _Tags >::CellCode
template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::Color capd::complex::CellComplex< MemoryModelT, _Tags >::Color
template<typename MemoryModelT, typename _Tags>
typedef ColoredIteratorFamily<ConstIterators> capd::complex::CellComplex< MemoryModelT, _Tags >::ColoredConstIterators
template<typename MemoryModelT, typename _Tags>
typedef ColoredIteratorFamily<Iterators> capd::complex::CellComplex< MemoryModelT, _Tags >::ColoredIterators
template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::ColorStorage capd::complex::CellComplex< MemoryModelT, _Tags >::Colors
template<typename MemoryModelT, typename _Tags>
typedef CellImpl<const CellComplex> capd::complex::CellComplex< MemoryModelT, _Tags >::ConstCell
template<typename MemoryModelT, typename _Tags>
typedef CellComplex_IteratorFamily<const CellComplex, ConstCell, ConstCell> capd::complex::CellComplex< MemoryModelT, _Tags >::ConstIterators
template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::Dim capd::complex::CellComplex< MemoryModelT, _Tags >::Dim
template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::EnumerateCellCodes capd::complex::CellComplex< MemoryModelT, _Tags >::EnumerateCellCodes
template<typename MemoryModelT, typename _Tags>
typedef MemoryModel::Id capd::complex::CellComplex< MemoryModelT, _Tags >::Id
template<typename MemoryModelT, typename _Tags>
typedef CellComplex_IteratorFamily<CellComplex, Cell, ConstCell> capd::complex::CellComplex< MemoryModelT, _Tags >::Iterators
template<typename MemoryModelT, typename _Tags>
typedef MemoryModelT capd::complex::CellComplex< MemoryModelT, _Tags >::MemoryModel
template<typename MemoryModelT, typename _Tags>
typedef boost::mpl::joint_view<_Tags, boost::mpl::vector<typename MemoryModel::Tag, CellComplexTag> > capd::complex::CellComplex< MemoryModelT, _Tags >::Tags

Constructor & Destructor Documentation

template<typename MemoryModelT, typename _Tags>
capd::complex::CellComplex< MemoryModelT, _Tags >::CellComplex ( boost::shared_ptr< EnumerateCellCodes enumerateCellCodes,
MemoryModel  memoryModel = MemoryModel() 
)
inlineexplicit
template<typename MemoryModelT, typename _Tags>
capd::complex::CellComplex< MemoryModelT, _Tags >::CellComplex ( const EnumerateCellCodes enumerateCellCodes,
MemoryModel  memoryModel = MemoryModel() 
)
inlineexplicit
template<typename MemoryModelT, typename _Tags>
capd::complex::CellComplex< MemoryModelT, _Tags >::CellComplex ( EnumerateCellCodes enumerateCellCodes,
bool  reference,
MemoryModel  memoryModel = MemoryModel() 
)
inlineexplicit
template<typename MemoryModelT, typename _Tags>
capd::complex::CellComplex< MemoryModelT, _Tags >::CellComplex ( const CellComplex< MemoryModelT, _Tags > &  )
default
template<typename MemoryModelT, typename _Tags>
capd::complex::CellComplex< MemoryModelT, _Tags >::CellComplex ( CellComplex< MemoryModelT, _Tags > &&  )
default
template<typename MemoryModelT, typename _Tags>
virtual capd::complex::CellComplex< MemoryModelT, _Tags >::~CellComplex ( )
inlinevirtual

Member Function Documentation

template<typename MemoryModelT, typename _Tags>
size_t capd::complex::CellComplex< MemoryModelT, _Tags >::cardinality ( ) const
inline
template<typename MemoryModelT, typename _Tags>
CellCode capd::complex::CellComplex< MemoryModelT, _Tags >::cellCode ( ) const
inline
template<typename MemoryModelT, typename _Tags>
Color capd::complex::CellComplex< MemoryModelT, _Tags >::color ( Id  id) const
inline
template<typename MemoryModelT, typename _Tags>
Dim capd::complex::CellComplex< MemoryModelT, _Tags >::dim ( ) const
inline
template<typename MemoryModelT, typename _Tags>
EnumerateCellCodes& capd::complex::CellComplex< MemoryModelT, _Tags >::enumerateCellCodes ( )
inline
template<typename MemoryModelT, typename _Tags>
const EnumerateCellCodes& capd::complex::CellComplex< MemoryModelT, _Tags >::enumerateCellCodes ( ) const
inline
template<typename MemoryModelT, typename _Tags>
bool capd::complex::CellComplex< MemoryModelT, _Tags >::exists ( Id  id) const
inline
template<typename MemoryModelT, typename _Tags>
bool capd::complex::CellComplex< MemoryModelT, _Tags >::exists ( const CellCode cellCode) const
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::fillWithBoundaries ( )
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::fillWithBoundary ( Id  cellId,
Color  color = Color(),
bool  keepLower = true 
)
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::fillWithBoundary ( const Cell cell,
Color  color = Color(),
bool  keepLower = true 
)
inline
template<typename MemoryModelT, typename _Tags>
boost::optional<Cell> capd::complex::CellComplex< MemoryModelT, _Tags >::find ( const CellCode cellCode)
inline
template<typename MemoryModelT, typename _Tags>
boost::optional<Cell> capd::complex::CellComplex< MemoryModelT, _Tags >::find ( Id  id)
inline
template<typename MemoryModelT, typename _Tags>
Dim capd::complex::CellComplex< MemoryModelT, _Tags >::getDim ( ) const
inline
template<typename MemoryModelT, typename _Tags>
Cell capd::complex::CellComplex< MemoryModelT, _Tags >::insert ( const CellCode cellCode)
inline
template<typename MemoryModelT, typename _Tags>
Cell capd::complex::CellComplex< MemoryModelT, _Tags >::insert ( const CellCode cellCode,
Color  color 
)
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::insertAll ( Color  color = Color(1))
inlineprotected
bool capd::complex::SComplexBase::isClosed ( ) const
inlineinherited
template<typename MemoryModelT, typename _Tags>
Iterators capd::complex::CellComplex< MemoryModelT, _Tags >::iterators ( )
inline
template<typename MemoryModelT, typename _Tags>
ConstIterators capd::complex::CellComplex< MemoryModelT, _Tags >::iterators ( ) const
inline
template<typename MemoryModelT, typename _Tags>
ColoredIterators capd::complex::CellComplex< MemoryModelT, _Tags >::iterators ( Color  color)
inline
template<typename MemoryModelT, typename _Tags>
ColoredConstIterators capd::complex::CellComplex< MemoryModelT, _Tags >::iterators ( Color  color) const
inline
template<typename MemoryModelT, typename _Tags>
ConstCell capd::complex::CellComplex< MemoryModelT, _Tags >::operator[] ( const CellCode cellCode) const
inline
template<typename MemoryModelT, typename _Tags>
ConstCell capd::complex::CellComplex< MemoryModelT, _Tags >::operator[] ( Id  id) const
inline
template<typename MemoryModelT, typename _Tags>
Cell capd::complex::CellComplex< MemoryModelT, _Tags >::operator[] ( const CellCode cellCode)
inline
template<typename MemoryModelT, typename _Tags>
Cell capd::complex::CellComplex< MemoryModelT, _Tags >::operator[] ( Id  id)
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::remove ( Cell cell)
inline
template<typename MemoryModelT, typename _Tags>
void capd::complex::CellComplex< MemoryModelT, _Tags >::resetColors ( Color  color)
inline
void capd::complex::SComplexBase::setClosed ( bool  closed)
inlineinherited
void capd::complex::SComplexBase::setClosedValidator ( const boost::function< bool()> &  v)
inlineinherited
template<typename MemoryModelT, typename _Tags>
size_t capd::complex::CellComplex< MemoryModelT, _Tags >::size ( ) const
inline

Friends And Related Function Documentation

template<typename MemoryModelT, typename _Tags>
template<typename ComplexT , typename CellT , typename ConstCellT >
friend class CellComplex_IteratorFamily
friend