This class defines an iterator for the monomials in a Boolean polynomial. More...
#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 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 () | |
| Default constructor. | |
| ~CTermIter () | |
| Destructor. | |
| void | increment () |
| Incrementation 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. | |
| size_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. | |
This class defines an iterator for the monomials in a Boolean polynomial.
| typedef navigator::bool_type CTermIter< StackType, TermGeneratorType >::bool_type |
Type for Boolean results.
| typedef stack_type::const_iterator CTermIter< StackType, TermGeneratorType >::const_iterator |
| typedef stack_type::const_reverse_iterator CTermIter< StackType, TermGeneratorType >::const_reverse_iterator |
| typedef navigator::idx_type CTermIter< StackType, TermGeneratorType >::idx_type |
Type for indices.
| typedef stack_type::navigator CTermIter< StackType, TermGeneratorType >::navigator |
Get type of navigators.
| typedef navigator::size_type CTermIter< StackType, TermGeneratorType >::size_type |
Type for lengths.
| typedef StackType CTermIter< StackType, TermGeneratorType >::stack_type |
Define type for storing current path (term) in stack of nodes.
| typedef TermGeneratorType CTermIter< StackType, TermGeneratorType >::term_generator |
Type for functional, which generates actual term, for current path.
| CTermIter< StackType, TermGeneratorType >::CTermIter | ( | const CTermIter< StackType, TermGeneratorType > & | rhs | ) | [inline] |
Copy constructor.
| CTermIter< StackType, TermGeneratorType >::CTermIter | ( | navigator | navi, | |
| const MgrType & | mgr | |||
| ) | [inline] |
Construct from navigator over decision diagram.
References CTermIter< StackType, TermGeneratorType >::m_stack.
| CTermIter< StackType, TermGeneratorType >::CTermIter | ( | ) | [inline] |
Default constructor.
| CTermIter< StackType, TermGeneratorType >::~CTermIter | ( | ) | [inline] |
Destructor.
| const_iterator CTermIter< StackType, TermGeneratorType >::begin | ( | ) | const [inline] |
References CTermIter< StackType, TermGeneratorType >::m_stack.
Referenced by CTermIter< StackType, TermGeneratorType >::firstIndex().
| size_type CTermIter< StackType, TermGeneratorType >::deg | ( | ) | const [inline] |
Get degree of current term.
References CTermIter< StackType, TermGeneratorType >::m_stack.
| term_generator::result_type CTermIter< StackType, TermGeneratorType >::dereference | ( | ) | const [inline] |
Dereferencing of the iterator.
References CTermIter< StackType, TermGeneratorType >::m_getTerm, and CTermIter< StackType, TermGeneratorType >::m_stack.
| const_iterator CTermIter< StackType, TermGeneratorType >::end | ( | ) | const [inline] |
| bool_type CTermIter< StackType, TermGeneratorType >::equal | ( | const CTermIter< StackType, TermGeneratorType > & | rhs | ) | const [inline] |
Equality test.
References CTermIter< StackType, TermGeneratorType >::m_stack.
| idx_type CTermIter< StackType, TermGeneratorType >::firstIndex | ( | ) | const [inline] |
Get first index of current term.
References CTermIter< StackType, TermGeneratorType >::begin(), and CTermIter< StackType, TermGeneratorType >::m_stack.
| void CTermIter< StackType, TermGeneratorType >::increment | ( | ) | [inline] |
Incrementation operation.
References CTermIter< StackType, TermGeneratorType >::m_stack.
| bool_type CTermIter< StackType, TermGeneratorType >::isEnd | ( | ) | const [inline] |
Check, whether end of iteration is reached.
References CTermIter< StackType, TermGeneratorType >::isZero().
| bool_type CTermIter< StackType, TermGeneratorType >::isOne | ( | ) | const [inline] |
Determine whether term is one (without explicit constructing).
References CTermIter< StackType, TermGeneratorType >::m_stack.
| bool_type CTermIter< StackType, TermGeneratorType >::isZero | ( | ) | const [inline] |
Determine whether term is zero (without explicit constructing).
References CTermIter< StackType, TermGeneratorType >::m_stack.
Referenced by CTermIter< StackType, TermGeneratorType >::isEnd().
| navigator CTermIter< StackType, TermGeneratorType >::navigation | ( | ) | const [inline] |
Get navigator of term start.
References CTermIter< StackType, TermGeneratorType >::m_stack.
| const_reverse_iterator CTermIter< StackType, TermGeneratorType >::rbegin | ( | ) | const [inline] |
| const_reverse_iterator CTermIter< StackType, TermGeneratorType >::rend | ( | ) | const [inline] |
term_generator CTermIter< StackType, TermGeneratorType >::m_getTerm [protected] |
The functional which defines the dereferecing operation.
Referenced by CTermIter< StackType, TermGeneratorType >::dereference().
stack_type CTermIter< StackType, TermGeneratorType >::m_stack [protected] |
The stack, which carries the current path.
Referenced by CTermIter< StackType, TermGeneratorType >::begin(), CTermIter< StackType, TermGeneratorType >::CTermIter(), CTermIter< StackType, TermGeneratorType >::deg(), CTermIter< StackType, TermGeneratorType >::dereference(), CTermIter< StackType, TermGeneratorType >::end(), CTermIter< StackType, TermGeneratorType >::equal(), CTermIter< StackType, TermGeneratorType >::firstIndex(), CTermIter< StackType, TermGeneratorType >::increment(), CTermIter< StackType, TermGeneratorType >::isOne(), CTermIter< StackType, TermGeneratorType >::isZero(), CTermIter< StackType, TermGeneratorType >::navigation(), CTermIter< StackType, TermGeneratorType >::rbegin(), and CTermIter< StackType, TermGeneratorType >::rend().
1.6.3