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:

## 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...
self & | operator++ ()
| 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...
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...

## Detailed Description

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

## Member Typedef Documentation

typedef CCuddNavigator polybori::CCuddLastIter::base

Get base type.

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

Interface type for standard iterator access.

typedef CCuddLastIter polybori::CCuddLastIter::self

Get type of *this.

## Constructor & Destructor Documentation

polybori::CCuddLastIter::CCuddLastIter | ( | ) |  |

inline

Default constructor and construct from node pointer.

polybori::CCuddLastIter::CCuddLastIter | ( | pointer_type | ptr) |  |

References polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isValid(), PBORI_TRACE_FUNC, polybori::CCuddNavigator::terminalValue(), and terminateConstant().

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++ | ( | ) |  |

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.

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:

- CCuddLastIter.h
- CCuddLastIter.cc