This template class defines a C++ interface to CUDD's decision diagram structure.
More...
#include <CCuddZDD.h>
Public Types | |
| typedef DiagramType | diagram_type |
| Name type of *this. | |
| typedef CCuddDDBase | self |
| typedef CCuddCore::mgrcore_ptr | mgrcore_ptr |
| Define shared pointer type for handling the decision diagram manager. | |
Public Member Functions | |
| CCuddDDBase (mgrcore_ptr ddManager, node_type ddNode) | |
| Construct diagram from raw CUDD elements. | |
| CCuddDDBase (const self &from) | |
| Copy constructor. | |
| CCuddDDBase () | |
| Default constructor. | |
| mgrcore_ptr | manager () const |
| Get (shared) pointer to decision diagram manager. | |
| mgrcore_type | getManager () const |
| Get raw decision diagram manager. | |
| node_type | getNode () const |
| Get raw node structure. | |
| size_type | NodeReadIndex () const |
| Get index of curent node. | |
| size_type | nodeCount () const |
| Number of nodes in the current decision diagram. | |
| size_type | refCount () const |
| Number of references pointing here. | |
| bool | isZero () const |
| Test whether diagram represents the empty set. | |
Protected Member Functions | |
| void | checkSameManager (const diagram_type &other) const |
| Test, whether both operands. | |
| void | checkReturnValue (const node_type result) const |
| Check whether decision diagram operation in computing result was valid. | |
| void | checkReturnValue (const int result, const int expected=1) const |
| Check whether previous decision diagram operation for validity. | |
Apply CUDD procedures to nodes | |
| diagram_type | apply (binary_function func, const diagram_type &rhs) const |
| diagram_type | apply (binary_int_function func, idx_type idx) const |
| diagram_type | apply (ternary_function func, const diagram_type &first, const diagram_type &second) const |
| idx_type | apply (int_unary_function func) const |
Test results from CUDD procedures for validity | |
| diagram_type | checkedResult (node_type result) const |
| idx_type | checkedResult (idx_type result) const |
| template<class ResultType > | |
| ResultType | memApply (ResultType(*func)(DdManager *, node_type)) const |
| template<class ResultType > | |
| ResultType | memChecked (ResultType result) const |
Protected Attributes | |
| mgrcore_ptr | ddMgr |
| (Smart) pointer to decsion diagram management | |
| node_type | node |
| Raw pointer to decision diagram node. | |
This template class defines a C++ interface to CUDD's decision diagram structure.
The purpose of this wrapper is just to provide an efficient and save way of handling the decision diagrams. It corrects some short-comings of CUDD's built-in interface.
| typedef DiagramType CCuddDDBase< DiagramType >::diagram_type |
Name type of *this.
| typedef CCuddCore::mgrcore_ptr CCuddDDBase< DiagramType >::mgrcore_ptr |
Define shared pointer type for handling the decision diagram manager.
| typedef CCuddDDBase CCuddDDBase< DiagramType >::self |
Reimplemented in CCuddZDD.
| CCuddDDBase< DiagramType >::CCuddDDBase | ( | mgrcore_ptr | ddManager, | |
| node_type | ddNode | |||
| ) | [inline] |
Construct diagram from raw CUDD elements.
| CCuddDDBase< DiagramType >::CCuddDDBase | ( | const self & | from | ) | [inline] |
Copy constructor.
| CCuddDDBase< DiagramType >::CCuddDDBase | ( | ) | [inline] |
Default constructor.
| idx_type CCuddDDBase< DiagramType >::apply | ( | int_unary_function | func | ) | const [inline, protected] |
| diagram_type CCuddDDBase< DiagramType >::apply | ( | ternary_function | func, | |
| const diagram_type & | first, | |||
| const diagram_type & | second | |||
| ) | const [inline, protected] |
| diagram_type CCuddDDBase< DiagramType >::apply | ( | binary_int_function | func, | |
| idx_type | idx | |||
| ) | const [inline, protected] |
| diagram_type CCuddDDBase< DiagramType >::apply | ( | binary_function | func, | |
| const diagram_type & | rhs | |||
| ) | const [inline, protected] |
| idx_type CCuddDDBase< DiagramType >::checkedResult | ( | idx_type | result | ) | const [inline, protected] |
| diagram_type CCuddDDBase< DiagramType >::checkedResult | ( | node_type | result | ) | const [inline, protected] |
Referenced by CCuddDDBase< CCuddZDD >::apply().
| void CCuddDDBase< DiagramType >::checkReturnValue | ( | const int | result, | |
| const int | expected = 1 | |||
| ) | const [inline, protected] |
Check whether previous decision diagram operation for validity.
| void CCuddDDBase< DiagramType >::checkReturnValue | ( | const node_type | result | ) | const [inline, protected] |
Check whether decision diagram operation in computing result was valid.
Referenced by CCuddDDBase< CCuddZDD >::checkedResult(), CCuddDDBase< CCuddZDD >::checkReturnValue(), and CCuddDDBase< CCuddZDD >::memChecked().
| void CCuddDDBase< DiagramType >::checkSameManager | ( | const diagram_type & | other | ) | const [inline, protected] |
Test, whether both operands.
Referenced by CCuddDDBase< CCuddZDD >::apply().
| mgrcore_type CCuddDDBase< DiagramType >::getManager | ( | ) | const [inline] |
Get raw decision diagram manager.
Referenced by CCuddDDBase< CCuddZDD >::apply(), CCuddDDBase< CCuddZDD >::checkReturnValue(), CCuddDDBase< CCuddZDD >::checkSameManager(), CCuddDDBase< CCuddZDD >::isZero(), and CCuddDDBase< CCuddZDD >::memApply().
| node_type CCuddDDBase< DiagramType >::getNode | ( | ) | const [inline] |
Get raw node structure.
Referenced by CCuddDDBase< CCuddZDD >::apply(), and CCuddDDBase< CCuddZDD >::memApply().
| bool CCuddDDBase< DiagramType >::isZero | ( | ) | const [inline] |
Test whether diagram represents the empty set.
Referenced by CCuddZDD::operator<=().
| mgrcore_ptr CCuddDDBase< DiagramType >::manager | ( | ) | const [inline] |
Get (shared) pointer to decision diagram manager.
Referenced by CCuddDDBase< CCuddZDD >::checkedResult().
| ResultType CCuddDDBase< DiagramType >::memApply | ( | ResultType(*)(DdManager *, node_type) | func | ) | const [inline, protected] |
| ResultType CCuddDDBase< DiagramType >::memChecked | ( | ResultType | result | ) | const [inline, protected] |
Referenced by CCuddDDBase< CCuddZDD >::memApply().
| size_type CCuddDDBase< DiagramType >::nodeCount | ( | ) | const [inline] |
Number of nodes in the current decision diagram.
| size_type CCuddDDBase< DiagramType >::NodeReadIndex | ( | ) | const [inline] |
Get index of curent node.
| size_type CCuddDDBase< DiagramType >::refCount | ( | ) | const [inline] |
Number of references pointing here.
mgrcore_ptr CCuddDDBase< DiagramType >::ddMgr [protected] |
(Smart) pointer to decsion diagram management
Referenced by CCuddDDBase< CCuddZDD >::checkReturnValue(), CCuddDDBase< CCuddZDD >::checkSameManager(), CCuddDDBase< CCuddZDD >::getManager(), CCuddDDBase< CCuddZDD >::manager(), and CCuddZDD::operator=().
node_type CCuddDDBase< DiagramType >::node [protected] |
Raw pointer to decision diagram node.
Referenced by CCuddDDBase< CCuddZDD >::CCuddDDBase(), CCuddDDBase< CCuddZDD >::getNode(), CCuddDDBase< CCuddZDD >::isZero(), CCuddDDBase< CCuddZDD >::nodeCount(), CCuddDDBase< CCuddZDD >::NodeReadIndex(), CCuddZDD::operator=(), and CCuddDDBase< CCuddZDD >::refCount().
1.6.3