PolyBoRi
|
This class defines an iterator over the last minimal term of a given ZDD node. More...
#include <CCuddLastIter.h>
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... | |
![]() | |
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... | |
self & | operator++ () |
Prefix increment operator. More... | |
self | operator++ (int) |
Postfix increment operator. More... | |
![]() | |
CCuddNavigator () | |
Default constructor. More... | |
CCuddNavigator (pointer_type ptr) | |
Construct from node pointer. More... | |
CCuddNavigator (const self &rhs) | |
Copy Constructor. More... | |
~CCuddNavigator () | |
Destructor. More... | |
self & | incrementThen () |
Increment in then direction. More... | |
self | thenBranch () const |
Increment in then direction. More... | |
self & | incrementElse () |
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... | |
This class defines an iterator over the last minimal term of a given ZDD node.
Get base type.
typedef std::forward_iterator_tag polybori::CCuddLastIter::iterator_category |
Interface type for standard iterator access.
Get type of *this.
|
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.
CCuddLastIter & polybori::CCuddLastIter::operator++ | ( | ) |
Prefix increment operator.
References polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::incrementThen(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isValid(), PBORI_ASSERT, PBORI_TRACE_FUNC, polybori::CCuddNavigator::terminalValue(), and terminateConstant().
Referenced by operator++().
CCuddLastIter polybori::CCuddLastIter::operator++ | ( | int | ) |
Postfix increment operator.
References operator++(), and PBORI_TRACE_FUNC.
|
protected |
Constant nodes are marked as the end of a path.
References polybori::CCuddNavigator::isConstant(), and PBORI_TRACE_FUNC.
Referenced by CCuddLastIter(), and operator++().