|
TeDDy 4.1.0
Decision diagram library.
|
Table of unique nodes. More...
#include <hash_tables.hpp>
Classes | |
| struct | result_of_find |
Public Types | |
| using | node_t = node< Data, Degree > |
| using | son_container = typename node_t::son_container |
| using | iterator = unique_table_iterator< Data, Degree > |
Public Member Functions | |
| unique_table (int64 capacity, int32 domain) | |
| Initializes empty table. | |
| unique_table (unique_table const &) | |
| Copt constructor. | |
| unique_table (unique_table &&other) noexcept | |
| Move constructor. | |
| ~unique_table () | |
| Destructor. | |
| auto | operator= (unique_table const &)=delete |
| auto | operator= (unique_table &&)=delete |
| auto | find (son_container const &sons) const -> result_of_find |
| Tries to find an internal node. | |
| auto | merge (unique_table other) -> void |
Adds all nodes from other into this table Adjusts capacity if necessary. | |
| auto | insert (node_t *node, std::size_t hash) -> void |
Inserts node using pre-computed hash. | |
| auto | erase (iterator nodeIt) -> iterator |
Erases node pointed to by it. | |
| auto | erase (node_t *node) -> iterator |
Erases node. | |
| auto | adjust_capacity () -> void |
| Adjusts capacity of the table (number of buckets) | |
| auto | get_size () const -> int64 |
| auto | clear () -> void |
| Clears the table. | |
| auto | begin () -> iterator |
| auto | end () -> iterator |
| auto | begin () const -> iterator |
| auto | end () const -> iterator |
Table of unique nodes.
| struct teddy::unique_table::result_of_find |
| Class Members | ||
|---|---|---|
| node_t * | node_ | |
| size_t | hash_ | |
| teddy::unique_table< Data, Degree >::unique_table | ( | int64 | capacity, |
| int32 | domain | ||
| ) |
Initializes empty table.
| capacity | Initial capacity |
| domain | Domain of nodes |
| auto teddy::unique_table< Data, Degree >::find | ( | son_container const & | sons | ) | const -> result_of_find |
Tries to find an internal node.
| sons | Sons of the desired node |
| auto teddy::unique_table< Data, Degree >::merge | ( | unique_table< Data, Degree > | other | ) | -> void |
Adds all nodes from other into this table Adjusts capacity if necessary.
| other | Table to merge into this one |
| domain | Number of sons in this and other |
| auto teddy::unique_table< Data, Degree >::insert | ( | node_t * | node, |
| std::size_t | hash | ||
| ) | -> void |
Inserts node using pre-computed hash.
| node | Node to be inserted |
| hash | Hash value of node |
| auto teddy::unique_table< Data, Degree >::erase | ( | iterator | nodeIt | ) | -> iterator |
Erases node pointed to by it.
| nodeIt | Iterator to the node to be deleted |
| auto teddy::unique_table< Data, Degree >::erase | ( | node_t * | node | ) | -> iterator |
Erases node.
| node | Node to be erased |
| auto teddy::unique_table< Data, Degree >::get_size |
| auto teddy::unique_table< Data, Degree >::begin |
| auto teddy::unique_table< Data, Degree >::end |
| auto teddy::unique_table< Data, Degree >::begin |
| auto teddy::unique_table< Data, Degree >::end |