CAPD RedHom Library
capd::apiRedHom::CubicalComplex Class Reference

#include <capd/apiRedHom/Complex.h>

Public Types

typedef size_t Coordinate
 
typedef std::pair< Coordinate, bool > Interval
 
typedef std::vector< IntervalCellCode
 
typedef boost::any_range< CellCode, boost::forward_traversal_tag, CellCode &, std::ptrdiff_t > CellCodeRange
 
typedef std::vector< CoordinateFullCube
 
typedef boost::any InternalComplex
 
typedef ComplexTraits< DefaultComplexTagTraits
 
typedef Traits::Size Size
 
typedef Traits::Dim Dim
 
typedef Traits::Id Id
 
typedef CellsCollection::ComplexCell Cell
 

Public Member Functions

void insert (const CellCode &cube)
 
void insert (const FullCube &cube)
 
Cell operator[] (const CellCode &cube)
 
boost::optional< Cellfind (const CellCode &cube)
 
void fillWithBoundaries ()
 
AnyWrapperanyComplex ()
 
template<typename T >
T & rawComplex ()
 
template<typename T >
boost::shared_ptr< T > rawComplexPtr ()
 
Dim dim () const
 
Size cardinality () const
 
ComplexIterators iterators ()
 

Static Public Attributes

static const int TYPE_DENSE = complex::CubicalComplexes::DENSE
 
static const int TYPE_GRID_GRAPH = complex::CubicalComplexes::GRID_GRAPH
 
static const int TYPE_GRID_GRAPH_EXTERNAL_MEMORY = complex::CubicalComplexes::GRID_GRAPH_EXTERNAL_MEMORY
 

Protected Member Functions

template<typename ThisT , typename Types >
void set_complex (const AnyWrapper &complex)
 

Protected Attributes

boost::function< void(const CellCode &cube)> _insert
 
boost::function< void(const FullCube &cube)> _insertFullCube
 
boost::function< Cell(const CellCode &cube)> _operator_array
 
boost::function< boost::optional< Cell >const CellCode &cube)> _find
 
boost::function< void()> _fillWithBoundaries
 
AnyWrapper _complex
 
boost::function< Dim()> _dim
 
boost::function< Size()> _cardinality
 
 CAPD_CLASS_LOGGER
 

Friends

struct SetCubicalComplex
 
struct SetFunctions< CubicalComplex >
 
 CubicalComplex (const std::vector< size_t > &size, const CellCodeRange &cubes=CellCodeRange(), int type=CubicalComplex::TypeDefault())
 
 CubicalComplex (const std::vector< size_t > &size, boost::iterator_range< uint64_t * > memory, int type=CubicalComplex::TypeDefaultExternalMemory())
 
static int TypeDefault ()
 
static int TypeDefaultExternalMemory ()
 

Member Typedef Documentation

typedef boost::any_range<CellCode, boost::forward_traversal_tag, CellCode&, std::ptrdiff_t> capd::apiRedHom::CubicalComplex::CellCodeRange
typedef boost::any capd::apiRedHom::Complex::InternalComplex
inherited

Constructor & Destructor Documentation

CubicalComplex::CubicalComplex ( const std::vector< size_t > &  size,
const CellCodeRange cubes = CellCodeRange(),
int  type = CubicalComplex::TypeDefault() 
)
CubicalComplex::CubicalComplex ( const std::vector< size_t > &  size,
boost::iterator_range< uint64_t * >  memory,
int  type = CubicalComplex::TypeDefaultExternalMemory() 
)

Member Function Documentation

AnyWrapper& capd::apiRedHom::Complex::anyComplex ( )
inlineinherited
Size capd::apiRedHom::Complex::cardinality ( ) const
inlineinherited
Dim capd::apiRedHom::Complex::dim ( ) const
inlineinherited
void capd::apiRedHom::CubicalComplex::fillWithBoundaries ( )
inline
boost::optional<Cell> capd::apiRedHom::CubicalComplex::find ( const CellCode cube)
inline
void capd::apiRedHom::CubicalComplex::insert ( const CellCode cube)
inline
void capd::apiRedHom::CubicalComplex::insert ( const FullCube cube)
inline
ComplexIterators Complex::iterators ( )
inherited
Cell capd::apiRedHom::CubicalComplex::operator[] ( const CellCode cube)
inline
template<typename T >
T& capd::apiRedHom::Complex::rawComplex ( )
inlineinherited
template<typename T >
boost::shared_ptr<T> capd::apiRedHom::Complex::rawComplexPtr ( )
inlineinherited
template<typename ThisT , typename Types >
void capd::apiRedHom::Complex::set_complex ( const AnyWrapper complex)
protectedinherited
int CubicalComplex::TypeDefault ( )
static
int CubicalComplex::TypeDefaultExternalMemory ( )
static

Friends And Related Function Documentation

friend struct SetCubicalComplex
friend
friend struct SetFunctions< CubicalComplex >
friend

Member Data Documentation

boost::function<Size()> capd::apiRedHom::Complex::_cardinality
protectedinherited
AnyWrapper capd::apiRedHom::Complex::_complex
protectedinherited
boost::function<Dim()> capd::apiRedHom::Complex::_dim
protectedinherited
boost::function<void()> capd::apiRedHom::CubicalComplex::_fillWithBoundaries
protected
boost::function<boost::optional<Cell>const CellCode& cube)> capd::apiRedHom::CubicalComplex::_find
protected
boost::function<void(const CellCode& cube)> capd::apiRedHom::CubicalComplex::_insert
protected
boost::function<void(const FullCube& cube)> capd::apiRedHom::CubicalComplex::_insertFullCube
protected
boost::function<Cell(const CellCode& cube)> capd::apiRedHom::CubicalComplex::_operator_array
protected
capd::apiRedHom::Complex::CAPD_CLASS_LOGGER
protectedinherited
const int capd::apiRedHom::CubicalComplex::TYPE_DENSE = complex::CubicalComplexes::DENSE
static
const int capd::apiRedHom::CubicalComplex::TYPE_GRID_GRAPH = complex::CubicalComplexes::GRID_GRAPH
static
const int capd::apiRedHom::CubicalComplex::TYPE_GRID_GRAPH_EXTERNAL_MEMORY = complex::CubicalComplexes::GRID_GRAPH_EXTERNAL_MEMORY
static