PolyBoRi
Public Types | Public Member Functions | Protected Attributes | List of all members
polybori::CTermIter< StackType, TermGeneratorType > Class Template Reference

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.

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::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

Default constructor.

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 >
size_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
template<class StackType , class TermGeneratorType >
idx_type polybori::CTermIter< StackType, TermGeneratorType >::firstIndex ( ) const
inline

Get first index of current term.

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: