ATLAS Offline Software
|
Hash table allowing concurrent, lockless reads. More...
#include "CxxUtils/bitscan.h"
#include "CxxUtils/atomic_fetch_minmax.h"
#include "CxxUtils/concepts.h"
#include <functional>
#include <cstdint>
#include <cstdlib>
#include <atomic>
#include <mutex>
#include <memory>
#include <new>
#include "CxxUtils/ConcurrentHashmapImpl.icc"
Go to the source code of this file.
Classes | |
class | CxxUtils::detail::HashmapLock |
Helper to allow for external locking with put(). More... | |
struct | CxxUtils::detail::CHMTableIterator< ENTRIES_PER_CACHELINE > |
Helper to generate hash probes. More... | |
class | CxxUtils::detail::ConcurrentHashmapImpl< UPDATER_, HASHER_, MATCHER_, NULLVAL_, TOMBSTONE_ > |
Hash table allowing concurrent, lockless reads. More... | |
struct | CxxUtils::detail::ConcurrentHashmapImpl< UPDATER_, HASHER_, MATCHER_, NULLVAL_, TOMBSTONE_ >::entry_t |
One entry in the hash table. More... | |
class | CxxUtils::detail::ConcurrentHashmapImpl< UPDATER_, HASHER_, MATCHER_, NULLVAL_, TOMBSTONE_ >::Table |
Table of hash entries. More... | |
class | CxxUtils::detail::ConcurrentHashmapImpl< UPDATER_, HASHER_, MATCHER_, NULLVAL_, TOMBSTONE_ >::const_iterator |
Bidirectional iterator over occupied table entries. More... | |
Namespaces | |
CxxUtils | |
CxxUtils::detail | |
Portable implementations. | |
Typedefs | |
using | CxxUtils::detail::ConcurrentHashmapVal_t = uintptr_t |
Type used for keys and values — an unsigned big enough to hold a pointer. More... | |
Hash table allowing concurrent, lockless reads.
Definition in file ConcurrentHashmapImpl.h.