Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QHashPrivate::Span< Node > Struct Template Reference

#include <qhash.h>

+ Collaboration diagram for QHashPrivate::Span< Node >:

Classes

struct  Entry
 

Public Member Functions

 Span () noexcept
 
 ~Span ()
 
void freeData () noexcept(std::is_nothrow_destructible< Node >::value)
 
Nodeinsert (size_t i)
 
void erase (size_t bucket) noexcept(std::is_nothrow_destructible< Node >::value)
 
size_t offset (size_t i) const noexcept
 
bool hasNode (size_t i) const noexcept
 
Nodeat (size_t i) noexcept
 
const Nodeat (size_t i) const noexcept
 
NodeatOffset (size_t o) noexcept
 
const NodeatOffset (size_t o) const noexcept
 
void moveLocal (size_t from, size_t to) noexcept
 
void moveFromSpan (Span &fromSpan, size_t fromIndex, size_t to) noexcept(std::is_nothrow_move_constructible_v< Node >)
 
void addStorage ()
 

Public Attributes

unsigned char offsets [SpanConstants::NEntries]
 
Entryentries = nullptr
 
unsigned char allocated = 0
 
unsigned char nextFree = 0
 

Detailed Description

template<typename Node>
struct QHashPrivate::Span< Node >

Definition at line 241 of file qhash.h.

Constructor & Destructor Documentation

◆ Span()

template<typename Node>
QHashPrivate::Span< Node >::Span ( )
inlinenoexcept

Definition at line 259 of file qhash.h.

◆ ~Span()

template<typename Node>
QHashPrivate::Span< Node >::~Span ( )
inline

Definition at line 263 of file qhash.h.

References freeData().

+ Here is the call graph for this function:

Member Function Documentation

◆ addStorage()

template<typename Node>
void QHashPrivate::Span< Node >::addStorage ( )
inline

Definition at line 372 of file qhash.h.

References allocated, entries, and nextFree.

Referenced by insert(), and moveFromSpan().

+ Here is the caller graph for this function:

◆ at() [1/2]

template<typename Node>
const Node & QHashPrivate::Span< Node >::at ( size_t i) const
inlinenoexcept

Definition at line 319 of file qhash.h.

◆ at() [2/2]

template<typename Node>
Node & QHashPrivate::Span< Node >::at ( size_t i)
inlinenoexcept

Definition at line 312 of file qhash.h.

◆ atOffset() [1/2]

template<typename Node>
const Node & QHashPrivate::Span< Node >::atOffset ( size_t o) const
inlinenoexcept

Definition at line 332 of file qhash.h.

References allocated, and entries.

◆ atOffset() [2/2]

template<typename Node>
Node & QHashPrivate::Span< Node >::atOffset ( size_t o)
inlinenoexcept

Definition at line 326 of file qhash.h.

References allocated, and entries.

◆ erase()

template<typename Node>
void QHashPrivate::Span< Node >::erase ( size_t bucket)
inlinenoexcept

Definition at line 292 of file qhash.h.

References entries, and nextFree.

◆ freeData()

template<typename Node>
void QHashPrivate::Span< Node >::freeData ( )
inlinenoexcept

Definition at line 267 of file qhash.h.

References entries.

Referenced by ~Span().

+ Here is the caller graph for this function:

◆ hasNode()

template<typename Node>
bool QHashPrivate::Span< Node >::hasNode ( size_t i) const
inlinenoexcept

Definition at line 308 of file qhash.h.

◆ insert()

template<typename Node>
Node * QHashPrivate::Span< Node >::insert ( size_t i)
inline

Definition at line 280 of file qhash.h.

References addStorage(), allocated, entries, and nextFree.

+ Here is the call graph for this function:

◆ moveFromSpan()

template<typename Node>
void QHashPrivate::Span< Node >::moveFromSpan ( Span< Node > & fromSpan,
size_t fromIndex,
size_t to )
inlinenoexcept

Definition at line 345 of file qhash.h.

References addStorage(), allocated, entries, and nextFree.

+ Here is the call graph for this function:

◆ moveLocal()

template<typename Node>
void QHashPrivate::Span< Node >::moveLocal ( size_t from,
size_t to )
inlinenoexcept

Definition at line 338 of file qhash.h.

◆ offset()

template<typename Node>
size_t QHashPrivate::Span< Node >::offset ( size_t i) const
inlinenoexcept

Definition at line 304 of file qhash.h.

Member Data Documentation

◆ allocated

template<typename Node>
unsigned char QHashPrivate::Span< Node >::allocated = 0

Definition at line 257 of file qhash.h.

Referenced by addStorage(), atOffset(), atOffset(), insert(), and moveFromSpan().

◆ entries

template<typename Node>
Entry* QHashPrivate::Span< Node >::entries = nullptr

Definition at line 256 of file qhash.h.

Referenced by addStorage(), atOffset(), atOffset(), erase(), freeData(), insert(), and moveFromSpan().

◆ nextFree

template<typename Node>
unsigned char QHashPrivate::Span< Node >::nextFree = 0

Definition at line 258 of file qhash.h.

Referenced by addStorage(), erase(), insert(), and moveFromSpan().

◆ offsets

template<typename Node>
unsigned char QHashPrivate::Span< Node >::offsets[SpanConstants::NEntries]

Definition at line 255 of file qhash.h.


The documentation for this struct was generated from the following file: