An adapter class for std::vector that acts like an unordered set and stores its data in the underlying vector in an unordered fashion.
More...
|
|
| TinyUnorderedSet () |
| Default constructor.
|
|
| TinyUnorderedSet (std::initializer_list< T > list) |
| Initializer-list constructor.
|
|
|
void | clear () |
| Empties the set.
|
|
void | insert (T a) |
| Inserts an element into the set. More...
|
|
template<typename... Args> |
void | emplace (Args &&...args) |
| Emplaces an element into the set. More...
|
|
template<typename It > |
void | erase (It a) |
| Erases a position in the set.
|
|
template<typename It > |
void | insert (It a, const It &b) |
| Inserts all elements contained in a range.
|
|
void | reserve (std::size_t size) |
| Reserves space in memory.
|
|
|
unsigned | count (T a) const |
| Counts the number of occurrences of an element.
|
|
std::size_t | size () const |
| Returns the number of elements in the set.
|
|
bool | empty () const |
| Returns whether the set is empty.
|
|
|
iterator | begin () |
| Yields a begin iterator.
|
|
iterator | end () |
| Yields an end iterator.
|
|
const_iterator | begin () const |
| Yields a begin const iterator.
|
|
const_iterator | end () const |
| Yields an end const iterator.
|
|
const_iterator | cbegin () const |
| Yields a begin const iterator.
|
|
const_iterator | cend () const |
| Yields an end const iterator.
|
|
template<typename T>
struct Scine::Molassembler::Temple::TinyUnorderedSet< T >
An adapter class for std::vector that acts like an unordered set and stores its data in the underlying vector in an unordered fashion.
Why? It's a lot simpler / smaller than unordered_set and seems to be faster for very small amounts of data. Break-even with an unordered_set for finding a value is at around N = 80 for numeric types, although I certainly do not trust the benchmark much.
- Template Parameters
-