|
PolyBoRi
|
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::errorfunc_type | errorfunc_type |
| typedef CCuddCore::large_size_type | large_size_type |
| typedef CCuddCore::refcount_type | refcount_type |
| typedef CCuddCore::node_type | node_type |
| typedef CCuddCore::mgrcore_type | mgrcore_type |
| typedef CCuddCore::unary_int_function | unary_int_function |
| typedef CCuddCore::void_function | void_function |
| typedef CCuddCore::binary_function | binary_function |
| typedef CCuddCore::binary_int_function | binary_int_function |
| typedef CCuddCore::ternary_function | ternary_function |
| typedef CCuddCore::int_unary_function | int_unary_function |
| typedef CCuddCore::size_type | size_type |
| typedef CCuddCore::idx_type | idx_type |
| 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 CCuddCore ::binary_function polybori::CCuddDDBase< DiagramType >::binary_function |
| typedef CCuddCore ::binary_int_function polybori::CCuddDDBase< DiagramType >::binary_int_function |
| typedef DiagramType polybori::CCuddDDBase< DiagramType >::diagram_type |
Name type of *this.
| typedef CCuddCore ::errorfunc_type polybori::CCuddDDBase< DiagramType >::errorfunc_type |
| typedef CCuddCore ::idx_type polybori::CCuddDDBase< DiagramType >::idx_type |
| typedef CCuddCore ::int_unary_function polybori::CCuddDDBase< DiagramType >::int_unary_function |
| typedef CCuddCore ::large_size_type polybori::CCuddDDBase< DiagramType >::large_size_type |
| typedef CCuddCore::mgrcore_ptr polybori::CCuddDDBase< DiagramType >::mgrcore_ptr |
Define shared pointer type for handling the decision diagram manager.
| typedef CCuddCore ::mgrcore_type polybori::CCuddDDBase< DiagramType >::mgrcore_type |
| typedef CCuddCore ::node_type polybori::CCuddDDBase< DiagramType >::node_type |
| typedef CCuddCore ::refcount_type polybori::CCuddDDBase< DiagramType >::refcount_type |
| typedef CCuddDDBase polybori::CCuddDDBase< DiagramType >::self |
Reimplemented in polybori::CCuddZDD.
| typedef CCuddCore ::size_type polybori::CCuddDDBase< DiagramType >::size_type |
| typedef CCuddCore ::ternary_function polybori::CCuddDDBase< DiagramType >::ternary_function |
| typedef CCuddCore ::unary_int_function polybori::CCuddDDBase< DiagramType >::unary_int_function |
| typedef CCuddCore ::void_function polybori::CCuddDDBase< DiagramType >::void_function |
| polybori::CCuddDDBase< DiagramType >::CCuddDDBase | ( | mgrcore_ptr | ddManager, |
| node_type | ddNode | ||
| ) | [inline] |
Construct diagram from raw CUDD elements.
| polybori::CCuddDDBase< DiagramType >::CCuddDDBase | ( | const self & | from | ) | [inline] |
Copy constructor.
| polybori::CCuddDDBase< DiagramType >::CCuddDDBase | ( | ) | [inline] |
Default constructor.
| diagram_type polybori::CCuddDDBase< DiagramType >::apply | ( | binary_function | func, |
| const diagram_type & | rhs | ||
| ) | const [inline, protected] |
| diagram_type polybori::CCuddDDBase< DiagramType >::apply | ( | binary_int_function | func, |
| idx_type | idx | ||
| ) | const [inline, protected] |
| diagram_type polybori::CCuddDDBase< DiagramType >::apply | ( | ternary_function | func, |
| const diagram_type & | first, | ||
| const diagram_type & | second | ||
| ) | const [inline, protected] |
| idx_type polybori::CCuddDDBase< DiagramType >::apply | ( | int_unary_function | func | ) | const [inline, protected] |
| diagram_type polybori::CCuddDDBase< DiagramType >::checkedResult | ( | node_type | result | ) | const [inline, protected] |
| idx_type polybori::CCuddDDBase< DiagramType >::checkedResult | ( | idx_type | result | ) | const [inline, protected] |
| void polybori::CCuddDDBase< DiagramType >::checkReturnValue | ( | const node_type | result | ) | const [inline, protected] |
Check whether decision diagram operation in computing result was valid.
| void polybori::CCuddDDBase< DiagramType >::checkReturnValue | ( | const int | result, |
| const int | expected = 1 |
||
| ) | const [inline, protected] |
Check whether previous decision diagram operation for validity.
| void polybori::CCuddDDBase< DiagramType >::checkSameManager | ( | const diagram_type & | other | ) | const [inline, protected] |
Test, whether both operands.
| mgrcore_type polybori::CCuddDDBase< DiagramType >::getManager | ( | ) | const [inline] |
Get raw decision diagram manager.
Referenced by polybori::CCuddDDBase< CCuddZDD >::checkSameManager().
| node_type polybori::CCuddDDBase< DiagramType >::getNode | ( | ) | const [inline] |
Get raw node structure.
Referenced by polybori::CCuddDDBase< CCuddZDD >::apply().
| bool polybori::CCuddDDBase< DiagramType >::isZero | ( | ) | const [inline] |
Test whether diagram represents the empty set.
| mgrcore_ptr polybori::CCuddDDBase< DiagramType >::manager | ( | ) | const [inline] |
Get (shared) pointer to decision diagram manager.
| ResultType polybori::CCuddDDBase< DiagramType >::memApply | ( | ResultType(*)(DdManager *, node_type) | func | ) | const [inline, protected] |
| ResultType polybori::CCuddDDBase< DiagramType >::memChecked | ( | ResultType | result | ) | const [inline, protected] |
| size_type polybori::CCuddDDBase< DiagramType >::nodeCount | ( | ) | const [inline] |
Number of nodes in the current decision diagram.
| size_type polybori::CCuddDDBase< DiagramType >::NodeReadIndex | ( | ) | const [inline] |
Get index of curent node.
| size_type polybori::CCuddDDBase< DiagramType >::refCount | ( | ) | const [inline] |
Number of references pointing here.
mgrcore_ptr polybori::CCuddDDBase< DiagramType >::ddMgr [protected] |
(Smart) pointer to decsion diagram management
Referenced by polybori::CCuddZDD::operator=().
node_type polybori::CCuddDDBase< DiagramType >::node [protected] |
Raw pointer to decision diagram node.
Referenced by polybori::CCuddZDD::operator=().
1.7.6.1