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 ()
 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.
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 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 CTermIter< StackType, TermGeneratorType >::bool_type

Type for Boolean results.

template<class StackType , class TermGeneratorType >
typedef stack_type::const_iterator CTermIter< StackType, TermGeneratorType >::const_iterator
template<class StackType , class TermGeneratorType >
typedef stack_type::const_reverse_iterator CTermIter< StackType, TermGeneratorType >::const_reverse_iterator
template<class StackType , class TermGeneratorType >
typedef navigator::deg_type CTermIter< StackType, TermGeneratorType >::deg_type

Type for degrees.

template<class StackType , class TermGeneratorType >
typedef navigator::idx_type CTermIter< StackType, TermGeneratorType >::idx_type

Type for indices.

template<class StackType , class TermGeneratorType >
typedef stack_type::navigator CTermIter< StackType, TermGeneratorType >::navigator

Get type of navigators.

template<class StackType , class TermGeneratorType >
typedef navigator::size_type CTermIter< StackType, TermGeneratorType >::size_type

Type for lengths.

template<class StackType , class TermGeneratorType >
typedef StackType CTermIter< StackType, TermGeneratorType >::stack_type

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

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

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


Constructor & Destructor Documentation

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

Copy constructor.

template<class StackType , class TermGeneratorType >
template<class MgrType >
CTermIter< StackType, TermGeneratorType >::CTermIter ( navigator  navi,
const MgrType &  mgr 
) [inline]

Construct from navigator over decision diagram.

References CTermIter< StackType, TermGeneratorType >::m_stack.

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

Default constructor.

template<class StackType , class TermGeneratorType >
CTermIter< StackType, TermGeneratorType >::~CTermIter (  )  [inline]

Destructor.


Member Function Documentation

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

Get degree of current term.

References CTermIter< StackType, TermGeneratorType >::m_stack.

template<class StackType , class TermGeneratorType >
term_generator::result_type CTermIter< StackType, TermGeneratorType >::dereference (  )  const [inline]
template<class StackType , class TermGeneratorType >
const_iterator CTermIter< StackType, TermGeneratorType >::end (  )  const [inline]
template<class StackType , class TermGeneratorType >
bool_type CTermIter< StackType, TermGeneratorType >::equal ( const CTermIter< StackType, TermGeneratorType > &  rhs  )  const [inline]
template<class StackType , class TermGeneratorType >
idx_type CTermIter< StackType, TermGeneratorType >::firstIndex (  )  const [inline]
template<class StackType , class TermGeneratorType >
void CTermIter< StackType, TermGeneratorType >::increment (  )  [inline]

Incrementation operation.

References CTermIter< StackType, TermGeneratorType >::m_stack.

template<class StackType , class TermGeneratorType >
bool_type CTermIter< StackType, TermGeneratorType >::isEnd (  )  const [inline]

Check, whether end of iteration is reached.

References CTermIter< StackType, TermGeneratorType >::isZero().

template<class StackType , class TermGeneratorType >
bool_type CTermIter< StackType, TermGeneratorType >::isOne (  )  const [inline]

Determine whether term is one (without explicit constructing).

References CTermIter< StackType, TermGeneratorType >::m_stack.

template<class StackType , class TermGeneratorType >
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().

template<class StackType , class TermGeneratorType >
navigator CTermIter< StackType, TermGeneratorType >::navigation (  )  const [inline]

Get navigator of term start.

References CTermIter< StackType, TermGeneratorType >::m_stack.

template<class StackType , class TermGeneratorType >
const_reverse_iterator CTermIter< StackType, TermGeneratorType >::rbegin (  )  const [inline]
template<class StackType , class TermGeneratorType >
const_reverse_iterator CTermIter< StackType, TermGeneratorType >::rend (  )  const [inline]

Member Data Documentation

template<class StackType , class TermGeneratorType >
term_generator CTermIter< StackType, TermGeneratorType >::m_getTerm [protected]

The functional which defines the dereferecing operation.

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

template<class StackType , class TermGeneratorType >
stack_type CTermIter< StackType, TermGeneratorType >::m_stack [protected]

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

Generated on 23 Dec 2009 for PolyBoRi by  doxygen 1.6.1