PolyBoRi
Public Types | Public Member Functions | Protected Member Functions | List of all members
polybori::CCuddLastIter Class Reference

This class defines an iterator over the last minimal term of a given ZDD node. More...

#include <CCuddLastIter.h>

Inheritance diagram for polybori::CCuddLastIter:
polybori::CCuddNavigator

Public Types

typedef std::forward_iterator_tag iterator_category
 Interface type for standard iterator access.
typedef CCuddLastIter self
 Get type of *this.
typedef CCuddNavigator base
 Get base type.
- Public Types inherited from polybori::CCuddNavigator
typedef DdNode * pointer_type
 Cudd's node pointer.
typedef const pointer_type const_access_type
 Type for constantly accessing node pointer.
typedef CTypes::idx_type idx_type
 Type for indices.
typedef CTypes::size_type size_type
 Type for indices.
typedef CTypes::deg_type deg_type
 Type for degrees.
typedef CTypes::hash_type hash_type
 Type for hashing.
typedef CTypes::bool_type bool_type
 Type for boolean results.
typedef idx_type value_type
 Return type of dereferencing operator.
typedef CCuddNavigator self
 Get type of *this.
typedef navigator_tag iterator_category
typedef std::iterator_traits
< pointer_type >
::difference_type 
difference_type
typedef void pointer
typedef value_type reference

Public Member Functions

 CCuddLastIter ()
 Default constructor and construct from node pointer.
 CCuddLastIter (pointer_type ptr)
 CCuddLastIter (const self &)
 Copy Constructor.
 ~CCuddLastIter ()
 Destructor.
self & operator++ ()
 Prefix increment operator.
self operator++ (int)
 Postfix increment operator.
- Public Member Functions inherited from polybori::CCuddNavigator
 CCuddNavigator ()
 Default constructor.
 CCuddNavigator (pointer_type ptr)
 Construct from node pointer.
 CCuddNavigator (const self &rhs)
 Copy Constructor.
 ~CCuddNavigator ()
 Destructor.
self & incrementThen ()
 Increment in then direction.
self thenBranch () const
 Increment in then direction.
self & incrementElse ()
 Increment in else direction.
self elseBranch () const
 Increment in else direction.
reference operator* () const
 Constant dereference operator.
const_access_type operator-> () const
 Constant pointer access operator.
const_access_type getNode () const
 Constant pointer access operator.
hash_type hash () const
 Constant pointer access operator.
bool_type operator== (const self &rhs) const
 Equality test.
bool_type operator!= (const self &rhs) const
 Nonequality test.
bool_type isConstant () const
 Check whether constant node was reached.
bool_type terminalValue () const
 Check whether terminal node marks end of path.
bool_type isValid () const
 Check whether *this is not the default iterator self() (NULL pointer)
bool_type isTerminated () const
 Check whether end of path was reached.
bool_type isEmpty () const
 Check whether dead end was reached.
void incRef () const
 Force incrementation of reference count.
void decRef () const
 Force decrementation of reference count.
template<class MgrType >
void recursiveDecRef (const MgrType &mgr) const
 Force recursive decrementation of reference count.
bool_type operator< (const self &rhs) const
bool_type operator<= (const self &rhs) const
bool_type operator> (const self &rhs) const
bool_type operator>= (const self &rhs) const

Protected Member Functions

void terminateConstant ()
 Constant nodes are marked as the end of a path.

Detailed Description

This class defines an iterator over the last minimal term of a given ZDD node.

Member Typedef Documentation

Get base type.

typedef std::forward_iterator_tag polybori::CCuddLastIter::iterator_category

Interface type for standard iterator access.

Get type of *this.

Constructor & Destructor Documentation

polybori::CCuddLastIter::CCuddLastIter ( )
inline

Default constructor and construct from node pointer.

polybori::CCuddLastIter::CCuddLastIter ( pointer_type  ptr)
polybori::CCuddLastIter::CCuddLastIter ( const self &  rhs)

Copy Constructor.

References PBORI_TRACE_FUNC.

polybori::CCuddLastIter::~CCuddLastIter ( )

Destructor.

References PBORI_TRACE_FUNC.

Member Function Documentation

CCuddLastIter & polybori::CCuddLastIter::operator++ ( )
CCuddLastIter polybori::CCuddLastIter::operator++ ( int  )

Postfix increment operator.

References operator++(), and PBORI_TRACE_FUNC.

void polybori::CCuddLastIter::terminateConstant ( )
protected

Constant nodes are marked as the end of a path.

References polybori::CCuddNavigator::isConstant(), and PBORI_TRACE_FUNC.

Referenced by CCuddLastIter(), and operator++().


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