![]() |
Qt 6.x
The Qt SDK
|
#include <qhash.h>
Classes | |
struct | Bucket |
struct | InsertionResult |
Public Types | |
using | Key = typename Node::KeyType |
using | T = typename Node::ValueType |
using | Span = QHashPrivate::Span< Node > |
using | iterator = QHashPrivate::iterator< Node > |
Public Member Functions | |
Data (size_t reserve=0) | |
void | reallocationHelper (const Data &other, size_t nSpans, bool resized) |
Data (const Data &other) | |
Data (const Data &other, size_t reserved) | |
void | clear () |
iterator | detachedIterator (iterator other) const noexcept |
iterator | begin () const noexcept |
constexpr iterator | end () const noexcept |
void | rehash (size_t sizeHint=0) |
size_t | nextBucket (size_t bucket) const noexcept |
float | loadFactor () const noexcept |
bool | shouldGrow () const noexcept |
Bucket | findBucket (const Key &key) const noexcept |
Node * | findNode (const Key &key) const noexcept |
InsertionResult | findOrInsert (const Key &key) noexcept |
void | erase (Bucket bucket) noexcept(std::is_nothrow_destructible< Node >::value) |
~Data () | |
Static Public Member Functions | |
static constexpr size_t | maxNumBuckets () noexcept |
static auto | allocateSpans (size_t numBuckets) |
static Data * | detached (Data *d) |
static Data * | detached (Data *d, size_t size) |
Public Attributes | |
QtPrivate::RefCount | ref = {{1}} |
size_t | size = 0 |
size_t | numBuckets = 0 |
size_t | seed = 0 |
Span * | spans = nullptr |
using QHashPrivate::Data< Node >::iterator = QHashPrivate::iterator<Node> |
using QHashPrivate::Data< Node >::Key = typename Node::KeyType |
using QHashPrivate::Data< Node >::Span = QHashPrivate::Span<Node> |
using QHashPrivate::Data< Node >::T = typename Node::ValueType |
|
inline |
Definition at line 553 of file qhash.h.
References QHashPrivate::Data< Node >::allocateSpans(), QHashPrivate::GrowthPolicy::bucketsForCapacity(), QHashSeed::globalSeed(), QHashPrivate::Data< Node >::numBuckets, reserve(), QHashPrivate::Data< Node >::seed, and QHashPrivate::Data< Node >::spans.
|
inline |
Definition at line 576 of file qhash.h.
References QHashPrivate::Data< Node >::allocateSpans(), QHashPrivate::Data< Node >::numBuckets, other(), QHashPrivate::Data< Node >::reallocationHelper(), and QHashPrivate::Data< Node >::spans.
|
inline |
Definition at line 582 of file qhash.h.
References QHashPrivate::Data< Node >::allocateSpans(), QHashPrivate::GrowthPolicy::bucketsForCapacity(), QHashPrivate::Data< Node >::numBuckets, other(), qMax(), QHashPrivate::Data< Node >::reallocationHelper(), QHashPrivate::Data< Node >::spans, and QHashPrivate::SpanConstants::SpanShift.
|
inline |
Definition at line 768 of file qhash.h.
References QHashPrivate::Data< Node >::spans.
|
inlinestatic |
Definition at line 534 of file qhash.h.
References QHashPrivate::Data< Node >::numBuckets, Q_CHECK_PTR(), R, and QHashPrivate::SpanConstants::SpanShift.
Referenced by QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), and QHashPrivate::Data< Node >::rehash().
|
inlinenoexcept |
|
inline |
Definition at line 609 of file qhash.h.
References QHashPrivate::Data< Node >::numBuckets, and QHashPrivate::Data< Node >::spans.
|
inlinestatic |
Definition at line 590 of file qhash.h.
References d.
Referenced by QHash< Key, T >::detach(), QMultiHash< Key, T >::detach(), QHash< Key, T >::reserve(), and QMultiHash< Key, T >::reserve().
|
inlinenoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
Definition at line 733 of file qhash.h.
References QHashPrivate::Data< Node >::Bucket::advanceWrapped(), QHashPrivate::GrowthPolicy::bucketForHash(), QHashPrivate::calculateHash(), hash, next, QHashPrivate::Data< Node >::numBuckets, Q_ASSERT, QHashPrivate::Data< Node >::seed, QHashPrivate::Data< Node >::size, and QHashPrivate::SpanConstants::UnusedEntry.
|
inlinenoexcept |
Definition at line 680 of file qhash.h.
References QHashPrivate::Data< Node >::Bucket::advanceWrapped(), QHashPrivate::GrowthPolicy::bucketForHash(), QHashPrivate::calculateHash(), hash, QHashPrivate::Data< Node >::Bucket::nodeAtOffset(), QHashPrivate::Data< Node >::numBuckets, QHashPrivate::Data< Node >::Bucket::offset(), Q_ASSERT, qHashEquals(), QHashPrivate::Data< Node >::seed, and QHashPrivate::SpanConstants::UnusedEntry.
Referenced by QHashPrivate::Data< Node >::findNode(), QHashPrivate::Data< Node >::findOrInsert(), QHashPrivate::Data< Node >::reallocationHelper(), and QHashPrivate::Data< Node >::rehash().
|
inlinenoexcept |
Definition at line 700 of file qhash.h.
References QHashPrivate::Data< Node >::findBucket().
|
inlinenoexcept |
Definition at line 714 of file qhash.h.
References QHashPrivate::Data< Node >::findBucket(), QSet< T >::insert(), it, QHashPrivate::Data< Node >::numBuckets, Q_ASSERT, QHashPrivate::Data< Node >::rehash(), QHashPrivate::Data< Node >::shouldGrow(), and QHashPrivate::Data< Node >::size.
|
inlinenoexcept |
Definition at line 671 of file qhash.h.
References QHashPrivate::Data< Node >::numBuckets.
|
inlinestaticconstexprnoexcept |
Definition at line 460 of file qhash.h.
Referenced by QHash< Key, T >::max_bucket_count(), and QMultiHash< Key, T >::max_bucket_count().
|
inlinenoexcept |
Definition at line 663 of file qhash.h.
References QHashPrivate::Data< Node >::numBuckets.
|
inline |
Definition at line 560 of file qhash.h.
References QHashPrivate::Data< Node >::findBucket(), QSet< T >::insert(), it, QHashPrivate::SpanConstants::NEntries, other(), Q_ASSERT, and QHashPrivate::Data< Node >::spans.
Referenced by QHashPrivate::Data< Node >::Data(), and QHashPrivate::Data< Node >::Data().
|
inline |
Definition at line 635 of file qhash.h.
References QHashPrivate::Data< Node >::allocateSpans(), QHashPrivate::GrowthPolicy::bucketsForCapacity(), QHashPrivate::Data< Node >::findBucket(), QSet< T >::insert(), it, QHashPrivate::SpanConstants::NEntries, QHashPrivate::Data< Node >::numBuckets, Q_ASSERT, QHashPrivate::Data< Node >::size, QHashPrivate::Data< Node >::spans, and QHashPrivate::SpanConstants::SpanShift.
Referenced by QHashPrivate::Data< Node >::findOrInsert().
|
inlinenoexcept |
Definition at line 675 of file qhash.h.
References QHashPrivate::Data< Node >::numBuckets.
Referenced by QHashPrivate::Data< Node >::findOrInsert().
size_t QHashPrivate::Data< Node >::numBuckets = 0 |
Definition at line 456 of file qhash.h.
Referenced by QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::allocateSpans(), QHashPrivate::Data< Node >::clear(), QHashPrivate::Data< Node >::erase(), QHashPrivate::Data< Node >::findBucket(), QHashPrivate::Data< Node >::findOrInsert(), QHashPrivate::Data< Node >::loadFactor(), QHashPrivate::Data< Node >::nextBucket(), QHashPrivate::Data< Node >::rehash(), and QHashPrivate::Data< Node >::shouldGrow().
QtPrivate::RefCount QHashPrivate::Data< Node >::ref = {{1}} |
size_t QHashPrivate::Data< Node >::seed = 0 |
Definition at line 457 of file qhash.h.
Referenced by QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::erase(), and QHashPrivate::Data< Node >::findBucket().
size_t QHashPrivate::Data< Node >::size = 0 |
Definition at line 455 of file qhash.h.
Referenced by QHashPrivate::Data< Node >::erase(), QHashPrivate::Data< Node >::findOrInsert(), and QHashPrivate::Data< Node >::rehash().
Span* QHashPrivate::Data< Node >::spans = nullptr |
Definition at line 458 of file qhash.h.
Referenced by QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::Data(), QHashPrivate::Data< Node >::~Data(), QHashPrivate::Data< Node >::clear(), QHashPrivate::Data< Node >::reallocationHelper(), and QHashPrivate::Data< Node >::rehash().