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
-