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

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

#include <CTermIter.h>

List of all members.

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.


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 StackType polybori::CTermIter< StackType, TermGeneratorType >::stack_type

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

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::idx_type polybori::CTermIter< StackType, TermGeneratorType >::idx_type

Type for indices.

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 navigator::size_type polybori::CTermIter< StackType, TermGeneratorType >::size_type

Type for lengths.

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

Type for degrees.

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

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

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


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>
void polybori::CTermIter< StackType, TermGeneratorType >::increment (  )  [inline]

Incrementation operation.

template<class StackType, class TermGeneratorType>
void polybori::CTermIter< StackType, TermGeneratorType >::decrement (  )  [inline]

Decrementation operation.

template<class StackType, class TermGeneratorType>
bool_type polybori::CTermIter< StackType, TermGeneratorType >::equal ( const CTermIter< StackType, TermGeneratorType > &  rhs  )  const [inline]

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 >::begin (  )  const [inline]

template<class StackType, class TermGeneratorType>
const_iterator polybori::CTermIter< StackType, TermGeneratorType >::end (  )  const [inline]

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]

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>
bool_type polybori::CTermIter< StackType, TermGeneratorType >::isEnd (  )  const [inline]

Check, whether end of iteration is reached.

template<class StackType, class TermGeneratorType>
deg_type polybori::CTermIter< StackType, TermGeneratorType >::deg (  )  const [inline]

Get degree of current term.

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>
navigator polybori::CTermIter< StackType, TermGeneratorType >::navigation (  )  const [inline]

Get navigator of term start.


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:

Generated on Wed Jan 30 16:39:53 2013 for PolyBoRi by  doxygen 1.5.6