TeDDy 4.1.0
Decision diagram library.
|
Cheap wrapper for the internal diagram node type. More...
#include <diagram.hpp>
Public Types | |
using | node_t = node< Data, Degree > |
Public Member Functions | |
diagram ()=default | |
Default constructed diagram. Points to no node and should not be used. | |
diagram (node_t *root) | |
Wraps internal node representation. You should probably don't use this one unless you know what you are doing. | |
diagram (diagram const &other) | |
Cheap copy constructor. | |
diagram (diagram &&other) noexcept | |
Cheap move constructor. | |
~diagram () | |
Destructor. Ensures correct reference counting using RAII pattern. | |
auto | operator= (diagram other) -> diagram & |
Assigns pointer from the other diagram. | |
auto | swap (diagram &other) -> void |
Swaps pointers in this and other diagram. | |
auto | equals (diagram const &other) const -> bool |
Compares node pointers in this and other diagram. | |
auto | unsafe_get_root () const -> node_t * |
Returns pointer to internal node type. You should probably don't use this one unless you know what you are doing. | |
Cheap wrapper for the internal diagram node type.
Instance of the diagram holds pointer to an internal node. Therefore, it is a cheap value type. Multiple diagrams can point to a same node i.e. represent the same function.
|
default |
Default constructed diagram. Points to no node and should not be used.
Technically, this constructor does not need to exists at all but for the library user it might be useful to create e.g. vector of empty diagrams and assign them later.
teddy::diagram< Data, Degree >::diagram | ( | node_t * | root | ) |
Wraps internal node representation. You should probably don't use this one unless you know what you are doing.
root | root node of the diagram |
teddy::diagram< Data, Degree >::diagram | ( | diagram< Data, Degree > const & | other | ) |
Cheap copy constructor.
other | Diagram to be copied |
|
noexcept |
Cheap move constructor.
other | Diagram to be moved from. |
auto teddy::diagram< Data, Degree >::operator= | ( | diagram< Data, Degree > | other | ) | -> diagram& |
Assigns pointer from the other diagram.
other | Diagram to be assigned into this one. |
auto teddy::diagram< Data, Degree >::swap | ( | diagram< Data, Degree > & | other | ) | -> void |
Swaps pointers in this and other diagram.
other | Diagram to be swapped with this one. |
auto teddy::diagram< Data, Degree >::equals | ( | diagram< Data, Degree > const & | other | ) | const -> bool |
Compares node pointers in this and other diagram.
other | Diagram to be compared with this one. |
auto teddy::diagram< Data, Degree >::unsafe_get_root |
Returns pointer to internal node type. You should probably don't use this one unless you know what you are doing.