Camargue
|
Storage of a repository of Teeth, for use in building a HyperGraph. More...
#include <cliq.hpp>
Public Types | |
using | ToothHash = std::unordered_map< Tooth, Tooth::Ptr > |
Alias declaration for Tooth hash table. | |
using | Itr = ToothHash::iterator |
Iterator alias. | |
using | ConstItr = ToothHash::const_iterator |
Const iterator alias. | |
Public Member Functions | |
ToothBank (const std::vector< int > &tour, const std::vector< int > &perm) | |
Construct a ToothBank to be dereferenced by tour and perm . | |
ToothBank (const CliqueBank &cbank) | |
Construct a ToothBank with reference vectors matching a CliqueBank. | |
Tooth::Ptr | add_tooth (const SimpleTooth &T, const std::vector< int > &tour) |
Add a Tooth to the bank and get a reference to it. More... | |
void | del_tooth (Tooth::Ptr &T_ptr) |
Decrement the reference count of a Tooth, possibly deleting it. | |
int | size () const |
Number of teeth in the bank. | |
Itr | begin () |
Begin iterator. | |
ConstItr | begin () const |
Const begin iterator. | |
Itr | end () |
Past the end iterator. | |
ConstItr | end () const |
Const past the end iterator. | |
const std::vector< int > & | ref_tour () const |
Const ref to saved tour for dereferencing. | |
const std::vector< int > & | ref_perm () const |
Const ref to saved perm for dereferencing. | |
Private Attributes | |
const std::vector< int > | saved_tour |
Saved tour for dereferencing. | |
const std::vector< int > | saved_perm |
Permutation vec for saved_tour. | |
ToothHash | bank |
Hash table of Tooth to Tooth::Ptr. | |
Storage of a repository of Teeth, for use in building a HyperGraph.
This class is like CliqueBank, but instead it dispenses and deletes references to Tooth objects instead.
Tooth::Ptr CMR::Sep::ToothBank::add_tooth | ( | const SimpleTooth & | T, |
const std::vector< int > & | tour | ||
) |
Add a Tooth to the bank and get a reference to it.
[in] | T | the SimpleTooth to add to the bank. |
[in] | tour | the tour that was active when T was found. |