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. More...
 
typedef CCuddLastIter self
 Get type of *this. More...
 
typedef CCuddNavigator base
 Get base type. More...
 
- Public Types inherited from polybori::CCuddNavigator
typedef DdNode * pointer_type
 Cudd's node pointer. More...
 
typedef const pointer_type const_access_type
 Type for constantly accessing node pointer. More...
 
typedef CTypes::idx_type idx_type
 Type for indices. More...
 
typedef CTypes::size_type size_type
 Type for indices. More...
 
typedef CTypes::deg_type deg_type
 Type for degrees. More...
 
typedef CTypes::hash_type hash_type
 Type for hashing. More...
 
typedef CTypes::bool_type bool_type
 Type for boolean results. More...
 
typedef idx_type value_type
 Return type of dereferencing operator. More...
 
typedef CCuddNavigator self
 Get type of *this. More...
 
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. More...
 
 CCuddLastIter (pointer_type ptr)
 
 CCuddLastIter (const self &)
 Copy Constructor. More...
 
 ~CCuddLastIter ()
 Destructor. More...
 
selfoperator++ ()
 Prefix increment operator. More...
 
self operator++ (int)
 Postfix increment operator. More...
 
- Public Member Functions inherited from polybori::CCuddNavigator
 CCuddNavigator ()
 Default constructor. More...
 
 CCuddNavigator (pointer_type ptr)
 Construct from node pointer. More...
 
 CCuddNavigator (const self &rhs)
 Copy Constructor. More...
 
 ~CCuddNavigator ()
 Destructor. More...
 
selfincrementThen ()
 Increment in then direction. More...
 
self thenBranch () const
 Increment in then direction. More...
 
selfincrementElse ()
 Increment in else direction. More...
 
self elseBranch () const
 Increment in else direction. More...
 
reference operator* () const
 Constant dereference operator. More...
 
const_access_type operator-> () const
 Constant pointer access operator. More...
 
const_access_type getNode () const
 Constant pointer access operator. More...
 
hash_type hash () const
 Constant pointer access operator. More...
 
bool_type operator== (const self &rhs) const
 Equality test. More...
 
bool_type operator!= (const self &rhs) const
 Nonequality test. More...
 
bool_type isConstant () const
 Check whether constant node was reached. More...
 
bool_type terminalValue () const
 Check whether terminal node marks end of path. More...
 
bool_type isValid () const
 Check whether *this is not the default iterator self() (NULL pointer) More...
 
bool_type isTerminated () const
 Check whether end of path was reached. More...
 
bool_type isEmpty () const
 Check whether dead end was reached. More...
 
void incRef () const
 Force incrementation of reference count. More...
 
void decRef () const
 Force decrementation of reference count. More...
 
template<class MgrType >
void recursiveDecRef (const MgrType &mgr) const
 Force recursive decrementation of reference count. More...
 
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. More...
 

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: