polybori::CTermIter< StackType, TermGeneratorType > Class Template Reference

This class defines an iterator for the monomials in a Boolean polynomial. More...

`#include <CTermIter.h>`

Inheritance diagram for polybori::CTermIter< StackType, TermGeneratorType >:

## Public Types

typedef StackType | stack_type
| Define type for storing current path (term) in stack of nodes. More...
typedef stack_type::navigator | navigator
| Get type of navigators. More...
typedef navigator::idx_type | idx_type
| Type for indices. More...
typedef navigator::bool_type | bool_type
| Type for Boolean results. More...
typedef navigator::size_type | size_type
| Type for lengths. More...
typedef navigator::deg_type | deg_type
| Type for degrees. More...
typedef TermGeneratorType | term_generator
| Type for functional, which generates actual term, for current path. More...
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. More...
template<class MgrType >
| CTermIter (navigator navi, const MgrType &mgr)
| Construct from navigator over decision diagram. More...
| ~CTermIter ()
| Destructor. More...
void | increment ()
| Incrementation operation. More...
void | decrement ()
| Decrementation operation. More...
bool_type | equal (const CTermIter &rhs) const
| Equality test. More...
term_generator::result_type | dereference () const
| Dereferencing of the iterator. More...
bool_type | isOne () const
| Determine whether term is one (without explicit constructing) More...
bool_type | isZero () const
| Determine whether term is zero (without explicit constructing) More...
bool_type | isEnd () const
| Check, whether end of iteration is reached. More...
deg_type | deg () const
| Get degree of current term. More...
idx_type | firstIndex () const
| Get first index of current term. More...
navigator | navigation () const
| Get navigator of term start. More...
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. More...
stack_type | m_stack
| The stack, which carries the current path. More...

## Detailed Description

### template<class StackType, class TermGeneratorType>
class polybori::CTermIter< StackType, TermGeneratorType >

This class defines an iterator for the monomials in a Boolean polynomial.

## Member Typedef Documentation

template<class StackType , class TermGeneratorType >

typedef navigator::bool_type polybori::CTermIter< StackType, TermGeneratorType >::bool_type

Type for Boolean results.

template<class StackType , class TermGeneratorType >

typedef stack_type::const_iterator polybori::CTermIter< StackType, TermGeneratorType >::const_iterator

template<class StackType , class TermGeneratorType >

typedef stack_type::const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::const_reverse_iterator

template<class StackType , class TermGeneratorType >

typedef navigator::deg_type polybori::CTermIter< StackType, TermGeneratorType >::deg_type

Type for degrees.

template<class StackType , class TermGeneratorType >

typedef navigator::idx_type polybori::CTermIter< StackType, TermGeneratorType >::idx_type

Type for indices.

template<class StackType , class TermGeneratorType >

typedef stack_type::navigator polybori::CTermIter< StackType, TermGeneratorType >::navigator

Get type of navigators.

template<class StackType , class TermGeneratorType >

typedef navigator::size_type polybori::CTermIter< StackType, TermGeneratorType >::size_type

Type for lengths.

template<class StackType , class TermGeneratorType >

typedef StackType polybori::CTermIter< StackType, TermGeneratorType >::stack_type

Define type for storing current path (term) in stack of nodes.

template<class StackType , class TermGeneratorType >

typedef TermGeneratorType polybori::CTermIter< StackType, TermGeneratorType >::term_generator

Type for functional, which generates actual term, for current path.

## Constructor & Destructor Documentation

template<class StackType , class TermGeneratorType >

polybori::CTermIter< StackType, TermGeneratorType >::CTermIter | ( | const CTermIter< StackType, TermGeneratorType > & | rhs) |  |

inline

Copy constructor.

template<class StackType , class TermGeneratorType >
template<class MgrType >

polybori::CTermIter< StackType, TermGeneratorType >::CTermIter | ( | navigator | navi,
|  | const MgrType & | mgr
| ) |  |

inline

Construct from navigator over decision diagram.

template<class StackType , class TermGeneratorType >

polybori::CTermIter< StackType, TermGeneratorType >::~CTermIter | ( | ) |  |

inline

Destructor.

## Member Function Documentation

template<class StackType , class TermGeneratorType >

const_iterator polybori::CTermIter< StackType, TermGeneratorType >::begin | ( | ) |  | const

inline

template<class StackType , class TermGeneratorType >

void polybori::CTermIter< StackType, TermGeneratorType >::decrement | ( | ) |  |

inline

Decrementation operation.

template<class StackType , class TermGeneratorType >

deg_type polybori::CTermIter< StackType, TermGeneratorType >::deg | ( | ) |  | const

inline

Get degree of current term.

template<class StackType , class TermGeneratorType >

term_generator::result_type polybori::CTermIter< StackType, TermGeneratorType >::dereference | ( | ) |  | const

inline

Dereferencing of the iterator.

template<class StackType , class TermGeneratorType >

const_iterator polybori::CTermIter< StackType, TermGeneratorType >::end | ( | ) |  | const

inline

template<class StackType , class TermGeneratorType >

bool_type polybori::CTermIter< StackType, TermGeneratorType >::equal | ( | const CTermIter< StackType, TermGeneratorType > & | rhs) |  | const

inline

Equality test.

References polybori::CTermIter< StackType, TermGeneratorType >::m_stack.

template<class StackType , class TermGeneratorType >

idx_type polybori::CTermIter< StackType, TermGeneratorType >::firstIndex | ( | ) |  | const

inline

Get first index of current term.

References PBORI_ASSERT.

template<class StackType , class TermGeneratorType >

void polybori::CTermIter< StackType, TermGeneratorType >::increment | ( | ) |  |

inline

Incrementation operation.

template<class StackType , class TermGeneratorType >

bool_type polybori::CTermIter< StackType, TermGeneratorType >::isEnd | ( | ) |  | const

inline

Check, whether end of iteration is reached.

template<class StackType , class TermGeneratorType >

bool_type polybori::CTermIter< StackType, TermGeneratorType >::isOne | ( | ) |  | const

inline

Determine whether term is one (without explicit constructing)

template<class StackType , class TermGeneratorType >

bool_type polybori::CTermIter< StackType, TermGeneratorType >::isZero | ( | ) |  | const

inline

Determine whether term is zero (without explicit constructing)

template<class StackType , class TermGeneratorType >

navigator polybori::CTermIter< StackType, TermGeneratorType >::navigation | ( | ) |  | const

inline

Get navigator of term start.

template<class StackType , class TermGeneratorType >

const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::rbegin | ( | ) |  | const

inline

template<class StackType , class TermGeneratorType >

const_reverse_iterator polybori::CTermIter< StackType, TermGeneratorType >::rend | ( | ) |  | const

inline

## Member Data Documentation

template<class StackType , class TermGeneratorType >

term_generator polybori::CTermIter< StackType, TermGeneratorType >::m_getTerm

protected

The functional which defines the dereferecing operation.

template<class StackType , class TermGeneratorType >

stack_type polybori::CTermIter< StackType, TermGeneratorType >::m_stack

protected

The stack, which carries the current path.

Referenced by polybori::CTermIter< StackType, TermGeneratorType >::equal().

The documentation for this class was generated from the following file:

- CTermIter.h