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>

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