CAPD RedHom Library
capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT > Class Template Reference

#include <capd/complex/EnumerateGeneratedCellCodes.h>

Classes

struct  Call
 
struct  CellCodeOf
 
struct  CopyInit
 
struct  EnumeratorForArg
 
struct  GenerateLowerDim
 
struct  GenerateRelataion
 
struct  IdxOf
 
struct  InitEnumeratorTmpl
 
struct  MakeEnumerator
 
struct  Valid
 

Public Types

typedef GeneratorT Generator
 
typedef Generator::CellCode CellCode
 
typedef SizeT Size
 
typedef Size Index
 
typedef DimType Dim
 
typedef MakeEnumerator< DimUpperBound >::type Enumerator
 
typedef EnumerateGeneratedCellCodes This
 
typedef std::vector< std::pair< Index, Index > > CoboundariesRelation
 
typedef std::vector< IndexBoundariesRelation
 
typedef boost::iterator_range< boost::range_detail::integer_iterator< Index > > All
 
typedef BoundariesRelation::const_iterator BdIterator
 
typedef boost::transform_iterator< homAux::PairSecond< typename boost::iterator_reference< typename CoboundariesRelation::const_iterator >::type >, typename CoboundariesRelation::const_iterator > CbdIterator
 
typedef boost::iterator_range< BdIteratorBd
 
typedef boost::iterator_range< CbdIteratorCbd
 

Public Member Functions

 EnumerateGeneratedCellCodes (EnumerateGeneratedCellCodes &&)=default
 
 EnumerateGeneratedCellCodes (const EnumerateGeneratedCellCodes &)=default
 
 EnumerateGeneratedCellCodes (Dim dimUpperBound=Dim_(DimForUpperBound< DimUpperBound >::type::value+1), Generator generator=Generator())
 
template<typename Rng >
void addAll (const Rng &rng)
 
All all () const
 
Bd bd (Index idx) const
 
Cbd cbd (Index idx) const
 
void operator() ()
 
Index idxOf (const CellCode &cellCode) const
 
bool valid (const CellCode &cellCode) const
 
CellCode cellCodeOf (Index idx) const
 
CellCode operator[] (Index idx) const
 
Index operator[] (const CellCode &cellCode) const
 
Dim dim (Index idx) const
 
size_t size (Dim dim) const
 
size_t size () const
 
Dim dim () const
 
Generatorgenerator ()
 
const Generatorgenerator () const
 

Static Public Attributes

static const DimType DimUpperBound = Dim_(Generator::DimUpperBound::value)
 

Friends

struct EnumerateGeneratedCellCodesInstantiation
 

Member Typedef Documentation

template<typename GeneratorT , typename SizeT = size_t>
typedef boost::iterator_range<boost::range_detail::integer_iterator<Index> > capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::All
template<typename GeneratorT , typename SizeT = size_t>
typedef boost::iterator_range<BdIterator> capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Bd
template<typename GeneratorT , typename SizeT = size_t>
typedef BoundariesRelation::const_iterator capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::BdIterator
template<typename GeneratorT , typename SizeT = size_t>
typedef std::vector<Index> capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::BoundariesRelation
template<typename GeneratorT , typename SizeT = size_t>
typedef boost::iterator_range<CbdIterator> capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Cbd
template<typename GeneratorT , 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::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::CbdIterator
template<typename GeneratorT , typename SizeT = size_t>
typedef Generator::CellCode capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::CellCode
template<typename GeneratorT , typename SizeT = size_t>
typedef std::vector<std::pair<Index, Index> > capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::CoboundariesRelation
template<typename GeneratorT , typename SizeT = size_t>
typedef DimType capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Dim
template<typename GeneratorT , typename SizeT = size_t>
typedef MakeEnumerator<DimUpperBound>::type capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Enumerator
template<typename GeneratorT , typename SizeT = size_t>
typedef GeneratorT capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Generator
template<typename GeneratorT , typename SizeT = size_t>
typedef Size capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Index
template<typename GeneratorT , typename SizeT = size_t>
typedef SizeT capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::Size
template<typename GeneratorT , typename SizeT = size_t>
typedef EnumerateGeneratedCellCodes capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::This

Constructor & Destructor Documentation

template<typename GeneratorT , typename SizeT = size_t>
capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::EnumerateGeneratedCellCodes ( EnumerateGeneratedCellCodes< GeneratorT, SizeT > &&  )
default
template<typename GeneratorT , typename SizeT = size_t>
capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::EnumerateGeneratedCellCodes ( const EnumerateGeneratedCellCodes< GeneratorT, SizeT > &  )
default
template<typename GeneratorT , typename SizeT = size_t>
capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::EnumerateGeneratedCellCodes ( Dim  dimUpperBound = Dim_(DimForUpperBound<DimUpperBound>::type::value + 1),
Generator  generator = Generator() 
)
inlineexplicit

Member Function Documentation

template<typename GeneratorT , typename SizeT = size_t>
template<typename Rng >
void capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::addAll ( const Rng &  rng)
inline
template<typename GeneratorT , typename SizeT = size_t>
All capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::all ( ) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Bd capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::bd ( Index  idx) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Cbd capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::cbd ( Index  idx) const
inline
template<typename Generator , typename SizeT >
auto capd::complex::EnumerateGeneratedCellCodes< Generator, SizeT >::cellCodeOf ( Index  idx) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Dim capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::dim ( Index  idx) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Dim capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::dim ( ) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Generator& capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::generator ( )
inline
template<typename GeneratorT , typename SizeT = size_t>
const Generator& capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::generator ( ) const
inline
template<typename Generator , typename SizeT >
auto capd::complex::EnumerateGeneratedCellCodes< Generator, SizeT >::idxOf ( const CellCode cellCode) const
inline
template<typename Generator , typename SizeT >
void capd::complex::EnumerateGeneratedCellCodes< Generator, SizeT >::operator() ( )
template<typename GeneratorT , typename SizeT = size_t>
CellCode capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::operator[] ( Index  idx) const
inline
template<typename GeneratorT , typename SizeT = size_t>
Index capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::operator[] ( const CellCode cellCode) const
inline
template<typename GeneratorT , typename SizeT = size_t>
size_t capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::size ( Dim  dim) const
inline
template<typename GeneratorT , typename SizeT = size_t>
size_t capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::size ( ) const
inline
template<typename Generator , typename SizeT >
bool capd::complex::EnumerateGeneratedCellCodes< Generator, SizeT >::valid ( const CellCode cellCode) const
inline

Friends And Related Function Documentation

template<typename GeneratorT , typename SizeT = size_t>
friend struct EnumerateGeneratedCellCodesInstantiation
friend

Member Data Documentation

template<typename GeneratorT , typename SizeT = size_t>
const DimType capd::complex::EnumerateGeneratedCellCodes< GeneratorT, SizeT >::DimUpperBound = Dim_(Generator::DimUpperBound::value)
static