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...
|
void | checkSameManager (const diagram_type &other) const |
| Test, whether both operands. More...
|
|
diagram_type | diagram (node_ptr node) const |
| Get diagram of the same context. More...
|
|
|
template<class MgrType > |
diagram_type | apply (node_ptr(*func)(MgrType, node_ptr)) const |
| Unary function. More...
|
|
template<class MgrType > |
diagram_type | apply (node_ptr(*func)(MgrType, node_ptr, node_ptr), const diagram_type &rhs) const |
| Binary function (two diagrams) More...
|
|
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) More...
|
|
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. More...
|
|
template<class MgrType , class ResultType > |
ResultType | apply (ResultType(*func)(MgrType, node_ptr)) const |
| Unary functions with non-diagram result value. More...
|
|
template<class DiagramType, class NodePtr>
class polybori::CApplyNodeFacade< DiagramType, NodePtr >
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.
- Attention
- We assume that the
DiagramType
owns member functions ring()
, getNode()
and getManager()
.
- Note
- This template class is a facade and hence it is intented for internal use only, e.g. as a base class for BooleSet.