|
| | CxxUtils::detail::ConcurrentHashmapImpl (Updater_t &&updater, size_t capacity_in, const Hasher_t &hasher, const Matcher_t &matcher, const typename Updater_t::Context_t &ctx) |
| | Constructor.
|
| | CxxUtils::detail::ConcurrentHashmapImpl (const ConcurrentHashmapImpl &)=delete |
| ConcurrentHashmapImpl & | CxxUtils::detail::operator= (const ConcurrentHashmapImpl &)=delete |
| size_t | CxxUtils::detail::size () const |
| | Return the number of items currently stored.
|
| size_t | CxxUtils::detail::capacity () const |
| | Return the current table size.
|
| size_t | CxxUtils::detail::erased () const |
| | The number of erased elements in the current table.
|
| const Hasher_t & | CxxUtils::detail::hasher () const |
| | Return the hasher object.
|
| const Matcher_t & | CxxUtils::detail::matcher () const |
| | Return the matcher object.
|
| Lock_t | CxxUtils::detail::lock () |
| | Take a lock on the container.
|
| std::pair< const_iterator, bool > | CxxUtils::detail::put (val_t key, size_t hash, val_t val, bool overwrite, const typename Updater_t::Context_t &ctx) |
| | Add an entry to the table.
|
| std::pair< const_iterator, bool > | CxxUtils::detail::put (const Lock_t &lock, val_t key, size_t hash, val_t val, bool overwrite, const typename Updater_t::Context_t &ctx) |
| | Add an entry to the table, with external locking.
|
| const_iterator | CxxUtils::detail::get (val_t key, size_t hash) const |
| | Look up an entry in the table.
|
| bool | CxxUtils::detail::erase (val_t key, size_t hash) |
| | Erase an entry from the table.
|
| bool | CxxUtils::detail::erase (const Lock_t &lock, val_t key, size_t hash) |
| | Erase an entry from the table, with external locking.
|
| const_iterator_range | CxxUtils::detail::range () const |
| | Return a range that can be used to iterate over the container.
|
| const_iterator | CxxUtils::detail::begin () const |
| | A begin iterator for the container.
|
| const_iterator | CxxUtils::detail::end () const |
| | An end iterator for the container.
|
| const_iterator | CxxUtils::detail::clear (size_t capacity, const typename Updater_t::Context_t &ctx) |
| | Erase the table and change the capacity.
|
| const_iterator | CxxUtils::detail::clear (const typename Updater_t::Context_t &ctx) |
| | Erase the table (don't change the capacity).
|
| void | CxxUtils::detail::forceClear () |
| | Erase the table by filling it with nulls.
|
| void | CxxUtils::detail::reserve (size_t capacity, const typename Updater_t::Context_t &ctx) |
| | Increase the table capacity.
|
| void | CxxUtils::detail::quiescent (const typename Updater_t::Context_t &ctx) |
| | Called when this thread is no longer referencing anything from this container.
|
| void | CxxUtils::detail::swap (ConcurrentHashmapImpl &other) |
| | Swap this container with another.
|
| Updater_t & | CxxUtils::detail::updater () |
| | Access the Updater instance.
|
| bool | CxxUtils::detail::grow (const Lock_t &lock, const typename Updater_t::Context_t &ctx) |
| | Make the table larger.
|
| bool | CxxUtils::detail::grow (const Lock_t &lock, size_t new_capacity, const typename Updater_t::Context_t &ctx) |
| | Make the table larger.
|
| static uint64_t | CxxUtils::detail::round_up (uint64_t) |
Hash table allowing concurrent, lockless reads.
- Author
- scott snyder snyde.nosp@m.r@bn.nosp@m.l.gov
- Date
- Dec, 2020
Definition in file ConcurrentHashmapImpl.h.