|
PolyBoRi
|
This template class defines a facade as a C++ interface for applying C-style functions to C-style structs, which represent decision diagrams. It is used to wrapp functions calls to raw pointers of the nodes and the context to an C++-style object. More...
#include <CApplyNodeFacade.h>
Public Types | |
Template arguments | |
| typedef DiagramType | diagram_type |
| typedef NodePtr | node_ptr |
Public Member Functions | |
Logical operations | |
| bool | operator== (const diagram_type &rhs) const |
| Equality. | |
| bool | operator!= (const diagram_type &rhs) const |
| Nonequality. | |
Protected Member Functions | |
| void | checkSameManager (const diagram_type &other) const |
| Test, whether both operands. | |
| diagram_type | diagram (node_ptr node) const |
| Get diagram of the same context. | |
Apply C-style procedures to nodes | |
| template<class MgrType > | |
| diagram_type | apply (node_ptr(*func)(MgrType, node_ptr)) const |
| Unary function. | |
| template<class MgrType > | |
| diagram_type | apply (node_ptr(*func)(MgrType, node_ptr, node_ptr), const diagram_type &rhs) const |
| Binary function (two diagrams) | |
| template<class MgrType > | |
| diagram_type | apply (node_ptr(*func)(MgrType, node_ptr, node_ptr, node_ptr), const diagram_type &first, const diagram_type &second) const |
| Ternary function (three diagrams) | |
| template<class MgrType , class Type > | |
| diagram_type | apply (node_ptr(*func)(MgrType, node_ptr, Type), Type value) const |
| Binary functions with non-diagram right-hand side. | |
| template<class MgrType , class ResultType > | |
| ResultType | apply (ResultType(*func)(MgrType, node_ptr)) const |
| Unary functions with non-diagram result value. | |
This template class defines a facade as a C++ interface for applying C-style functions to C-style structs, which represent decision diagrams. It is used to wrapp functions calls to raw pointers of the nodes and the context to an C++-style object.
DiagramType owns member functions ring(), getNode() and getManager().| typedef DiagramType polybori::CApplyNodeFacade< DiagramType, NodePtr >::diagram_type |
| typedef NodePtr polybori::CApplyNodeFacade< DiagramType, NodePtr >::node_ptr |
| diagram_type polybori::CApplyNodeFacade< DiagramType, NodePtr >::apply | ( | node_ptr(*)(MgrType, node_ptr) | func | ) | const [inline, protected] |
Unary function.
| diagram_type polybori::CApplyNodeFacade< DiagramType, NodePtr >::apply | ( | node_ptr(*)(MgrType, node_ptr, node_ptr) | func, |
| const diagram_type & | rhs | ||
| ) | const [inline, protected] |
Binary function (two diagrams)
| ResultType polybori::CApplyNodeFacade< DiagramType, NodePtr >::apply | ( | ResultType(*)(MgrType, node_ptr) | func | ) | const [inline, protected] |
Unary functions with non-diagram result value.
| diagram_type polybori::CApplyNodeFacade< DiagramType, NodePtr >::apply | ( | node_ptr(*)(MgrType, node_ptr, Type) | func, |
| Type | value | ||
| ) | const [inline, protected] |
Binary functions with non-diagram right-hand side.
| diagram_type polybori::CApplyNodeFacade< DiagramType, NodePtr >::apply | ( | node_ptr(*)(MgrType, node_ptr, node_ptr, node_ptr) | func, |
| const diagram_type & | first, | ||
| const diagram_type & | second | ||
| ) | const [inline, protected] |
Ternary function (three diagrams)
| void polybori::CApplyNodeFacade< DiagramType, NodePtr >::checkSameManager | ( | const diagram_type & | other | ) | const [inline, protected] |
Test, whether both operands.
| diagram_type polybori::CApplyNodeFacade< DiagramType, NodePtr >::diagram | ( | node_ptr | node | ) | const [inline, protected] |
Get diagram of the same context.
| bool polybori::CApplyNodeFacade< DiagramType, NodePtr >::operator!= | ( | const diagram_type & | rhs | ) | const [inline] |
Nonequality.
| bool polybori::CApplyNodeFacade< DiagramType, NodePtr >::operator== | ( | const diagram_type & | rhs | ) | const [inline] |
Equality.
1.7.4