CCuddNavigator Class Reference

This class defines an iterator for navigating through then and else branches of ZDDs. More...

#include <CCuddNavigator.h>

Inheritance diagram for CCuddNavigator:
CCuddLastIter

List of all members.

Public Types

typedef DdNode * pointer_type
 Cudd's node pointer.
typedef CTypes::dd_base dd_base
 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::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.
Interface types for standard iterator access

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

 CCuddNavigator ()
 Default constructor.
 CCuddNavigator (pointer_type ptr)
 Construct from node pointer.
 CCuddNavigator (const dd_base &rhs)
 Construct from decision diagram.
 CCuddNavigator (const self &rhs)
 Copy Constructor.
 ~CCuddNavigator ()
 Destructor.
selfincrementThen ()
 Increment in then direction.
self thenBranch () const
 Increment in then direction.
selfincrementElse ()
 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.
Pointer-like comparision operations

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

Detailed Description

This class defines an iterator for navigating through then and else branches of ZDDs.

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


Member Typedef Documentation

Type for boolean results.

Type for constantly accessing node pointer.

Cudd's node pointer.

Type for hashing.

Type for indices.

Reimplemented in CCuddLastIter.

Cudd's node pointer.

Get type of *this.

Reimplemented in CCuddLastIter.

Type for indices.

Return type of dereferencing operator.


Constructor & Destructor Documentation

CCuddNavigator::CCuddNavigator (  )  [inline]

Default constructor.

CCuddNavigator::CCuddNavigator ( pointer_type  ptr  )  [inline, explicit]

Construct from node pointer.

References isValid().

CCuddNavigator::CCuddNavigator ( const dd_base rhs  )  [inline, explicit]

Construct from decision diagram.

CCuddNavigator::CCuddNavigator ( const self rhs  )  [inline]

Copy Constructor.

CCuddNavigator::~CCuddNavigator (  )  [inline]

Destructor.


Member Function Documentation

void CCuddNavigator::decRef (  )  const [inline]

Force decrementation of reference count.

References isValid().

Referenced by CCuddGetNode::operator()().

self CCuddNavigator::elseBranch (  )  const [inline]

Increment in else direction.

References incrementElse().

Referenced by CCuddGetNode::operator()().

const_access_type CCuddNavigator::getNode (  )  const [inline]
hash_type CCuddNavigator::hash (  )  const [inline]

Constant pointer access operator.

void CCuddNavigator::incRef (  )  const [inline]
CCuddNavigator & CCuddNavigator::incrementElse (  )  [inline]
CCuddNavigator & CCuddNavigator::incrementThen (  )  [inline]

Increment in then direction.

References isValid(), and PBORI_TRACE_FUNC.

Referenced by CCuddFirstIter::increment(), CCuddLastIter::operator++(), and thenBranch().

CCuddNavigator::bool_type CCuddNavigator::isConstant (  )  const [inline]
bool_type CCuddNavigator::isEmpty (  )  const [inline]

Check whether dead end was reached.

References isConstant(), and terminalValue().

bool_type CCuddNavigator::isTerminated (  )  const [inline]

Check whether end of path was reached.

References isConstant(), and terminalValue().

bool_type CCuddNavigator::isValid (  )  const [inline]
bool_type CCuddNavigator::operator!= ( const self rhs  )  const [inline]

Nonequality test.

CCuddNavigator::value_type CCuddNavigator::operator* (  )  const [inline]

Constant dereference operator.

References isValid(), and PBORI_TRACE_FUNC.

const_access_type CCuddNavigator::operator-> (  )  const [inline]

Constant pointer access operator.

bool_type CCuddNavigator::operator< ( const self rhs  )  const [inline]
bool_type CCuddNavigator::operator<= ( const self rhs  )  const [inline]
bool_type CCuddNavigator::operator== ( const self rhs  )  const [inline]

Equality test.

bool_type CCuddNavigator::operator> ( const self rhs  )  const [inline]
bool_type CCuddNavigator::operator>= ( const self rhs  )  const [inline]
template<class MgrType >
void CCuddNavigator::recursiveDecRef ( const MgrType &  mgr  )  const [inline]

Force recursive decrementation of reference count.

References isValid().

Referenced by CCuddGetNode::operator()().

CCuddNavigator::bool_type CCuddNavigator::terminalValue (  )  const [inline]
self CCuddNavigator::thenBranch (  )  const [inline]

Increment in then direction.

References incrementThen().

Referenced by CCuddGetNode::operator()().


The documentation for this class was generated from the following file:
Generated on Tue May 4 08:39:38 2010 for PolyBoRi by  doxygen 1.6.3