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 |
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 |
|
inline |
Construct diagram from raw CUDD elements.
|
inline |
Copy constructor.
|
inline |
Default constructor.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Check whether decision diagram operation in computing result was valid.
|
inlineprotected |
Check whether previous decision diagram operation for validity.
|
inlineprotected |
Test, whether both operands.
|
inline |
Get raw decision diagram manager.
Referenced by polybori::CCuddDDBase< CCuddZDD >::checkSameManager().
|
inline |
Get raw node structure.
Referenced by polybori::CCuddDDBase< CCuddZDD >::apply().
|
inline |
Test whether diagram represents the empty set.
|
inline |
Get (shared) pointer to decision diagram manager.
|
inlineprotected |
|
inlineprotected |
|
inline |
Number of nodes in the current decision diagram.
|
inline |
Get index of curent node.
|
inline |
Number of references pointing here.
|
protected |
(Smart) pointer to decsion diagram management
Referenced by polybori::CCuddZDD::operator=().
|
protected |
Raw pointer to decision diagram node.
Referenced by polybori::CCuddZDD::operator=().