polybori::CCuddNavigator Class Reference

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

#include <CCuddNavigator.h>

Inheritance diagram for polybori::CCuddNavigator:

polybori::CCuddLastIter

List of all members.

Public Types

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.
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 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.

Member Typedef Documentation

Cudd's node pointer.

Type for constantly accessing node pointer.

Type for indices.

Type for indices.

Type for degrees.

Type for hashing.

Type for boolean results.

Return type of dereferencing operator.

Get type of *this.

Reimplemented in polybori::CCuddLastIter.

Reimplemented in polybori::CCuddLastIter.


Constructor & Destructor Documentation

polybori::CCuddNavigator::CCuddNavigator (  )  [inline]

Default constructor.

Referenced by polybori::explicit_navigator_cast().

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

Construct from node pointer.

References PBORI_ASSERT.

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

Copy Constructor.

polybori::CCuddNavigator::~CCuddNavigator (  )  [inline]

Destructor.


Member Function Documentation

CCuddNavigator & polybori::CCuddNavigator::incrementThen (  )  [inline]

self polybori::CCuddNavigator::thenBranch (  )  const [inline]

CCuddNavigator & polybori::CCuddNavigator::incrementElse (  )  [inline]

self polybori::CCuddNavigator::elseBranch (  )  const [inline]

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

Constant dereference operator.

References isValid(), PBORI_ASSERT, and PBORI_TRACE_FUNC.

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

Constant pointer access operator.

const_access_type polybori::CCuddNavigator::getNode (  )  const [inline]

hash_type polybori::CCuddNavigator::hash (  )  const [inline]

Constant pointer access operator.

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

Equality test.

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

Nonequality test.

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

CCuddNavigator::bool_type polybori::CCuddNavigator::terminalValue (  )  const [inline]

bool_type polybori::CCuddNavigator::isValid (  )  const [inline]

bool_type polybori::CCuddNavigator::isTerminated (  )  const [inline]

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

Check whether dead end was reached.

Referenced by polybori::groebner::do_is_rewriteable().

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

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

bool_type polybori::CCuddNavigator::operator> ( const self rhs  )  const [inline]

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

void polybori::CCuddNavigator::incRef (  )  const [inline]

void polybori::CCuddNavigator::decRef (  )  const [inline]

Force decrementation of reference count.

References Cudd_Deref, PBORI_ASSERT, and PBORI_PREFIX.

template<class MgrType>
void polybori::CCuddNavigator::recursiveDecRef ( const MgrType &  mgr  )  const [inline]

Force recursive decrementation of reference count.

References Cudd_RecursiveDerefZdd, PBORI_ASSERT, and PBORI_PREFIX.


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

Generated on Wed Jan 30 16:39:53 2013 for PolyBoRi by  doxygen 1.5.6