#include <CTermIter.h>
Public Types | |
typedef StackType | stack_type |
Define type for storing current path (term) in stack of nodes. | |
typedef stack_type::navigator | navigator |
Get type of navigators. | |
typedef navigator::idx_type | idx_type |
Type for indices. | |
typedef navigator::bool_type | bool_type |
Type for Boolean results. | |
typedef navigator::size_type | size_type |
Type for lengths. | |
typedef navigator::deg_type | deg_type |
Type for degrees. | |
typedef TermGeneratorType | term_generator |
Type for functional, which generates actual term, for current path. | |
Iterators over current term (without explicite construction) | |
typedef stack_type::const_iterator | const_iterator |
typedef stack_type::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
CTermIter (const CTermIter &rhs) | |
Copy constructor. | |
template<class MgrType> | |
CTermIter (navigator navi, const MgrType &mgr) | |
Construct from navigator over decision diagram. | |
~CTermIter () | |
Destructor. | |
void | increment () |
Incrementation operation. | |
void | decrement () |
Decrementation operation. | |
bool_type | equal (const CTermIter &rhs) const |
Equality test. | |
term_generator::result_type | dereference () const |
Dereferencing of the iterator. | |
bool_type | isOne () const |
Determine whether term is one (without explicit constructing). | |
bool_type | isZero () const |
Determine whether term is zero (without explicit constructing). | |
bool_type | isEnd () const |
Check, whether end of iteration is reached. | |
deg_type | deg () const |
Get degree of current term. | |
idx_type | firstIndex () const |
Get first index of current term. | |
navigator | navigation () const |
Get navigator of term start. | |
Interface for iteration over term without constructing | |
const_iterator | begin () const |
const_iterator | end () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
Protected Attributes | |
term_generator | m_getTerm |
The functional which defines the dereferecing operation. | |
stack_type | m_stack |
The stack, which carries the current path. |
typedef StackType polybori::CTermIter< StackType, TermGeneratorType >::stack_type |
Define type for storing current path (term) in stack of nodes.
typedef stack_type::navigator polybori::CTermIter< StackType, TermGeneratorType >::navigator |
Get type of navigators.
typedef navigator::idx_type polybori::CTermIter< StackType, TermGeneratorType >::idx_type |
Type for indices.
typedef navigator::bool_type polybori::CTermIter< StackType, TermGeneratorType >::bool_type |
Type for Boolean results.
typedef navigator::size_type polybori::CTermIter< StackType, TermGeneratorType >::size_type |
Type for lengths.
typedef navigator::deg_type polybori::CTermIter< StackType, TermGeneratorType >::deg_type |
Type for degrees.
typedef TermGeneratorType polybori::CTermIter< StackType, TermGeneratorType >::term_generator |
Type for functional, which generates actual term, for current path.
typedef stack_type::const_iterator polybori::CTermIter< StackType, TermGeneratorType >::const_iterator |
typedef stack_type::const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::const_reverse_iterator |
polybori::CTermIter< StackType, TermGeneratorType >::CTermIter | ( | const CTermIter< StackType, TermGeneratorType > & | rhs | ) | [inline] |
Copy constructor.
polybori::CTermIter< StackType, TermGeneratorType >::CTermIter | ( | navigator | navi, | |
const MgrType & | mgr | |||
) | [inline] |
Construct from navigator over decision diagram.
polybori::CTermIter< StackType, TermGeneratorType >::~CTermIter | ( | ) | [inline] |
Destructor.
void polybori::CTermIter< StackType, TermGeneratorType >::increment | ( | ) | [inline] |
Incrementation operation.
void polybori::CTermIter< StackType, TermGeneratorType >::decrement | ( | ) | [inline] |
Decrementation operation.
bool_type polybori::CTermIter< StackType, TermGeneratorType >::equal | ( | const CTermIter< StackType, TermGeneratorType > & | rhs | ) | const [inline] |
term_generator::result_type polybori::CTermIter< StackType, TermGeneratorType >::dereference | ( | ) | const [inline] |
Dereferencing of the iterator.
const_iterator polybori::CTermIter< StackType, TermGeneratorType >::begin | ( | ) | const [inline] |
const_iterator polybori::CTermIter< StackType, TermGeneratorType >::end | ( | ) | const [inline] |
const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::rbegin | ( | ) | const [inline] |
const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::rend | ( | ) | const [inline] |
bool_type polybori::CTermIter< StackType, TermGeneratorType >::isOne | ( | ) | const [inline] |
Determine whether term is one (without explicit constructing).
bool_type polybori::CTermIter< StackType, TermGeneratorType >::isZero | ( | ) | const [inline] |
Determine whether term is zero (without explicit constructing).
bool_type polybori::CTermIter< StackType, TermGeneratorType >::isEnd | ( | ) | const [inline] |
Check, whether end of iteration is reached.
deg_type polybori::CTermIter< StackType, TermGeneratorType >::deg | ( | ) | const [inline] |
Get degree of current term.
idx_type polybori::CTermIter< StackType, TermGeneratorType >::firstIndex | ( | ) | const [inline] |
navigator polybori::CTermIter< StackType, TermGeneratorType >::navigation | ( | ) | const [inline] |
Get navigator of term start.
term_generator polybori::CTermIter< StackType, TermGeneratorType >::m_getTerm [protected] |
The functional which defines the dereferecing operation.
stack_type polybori::CTermIter< StackType, TermGeneratorType >::m_stack [protected] |
The stack, which carries the current path.
Referenced by polybori::CTermIter< StackType, TermGeneratorType >::equal().