Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QHashPrivate::MultiNode< Key, T > Struct Template Reference

#include <qhash.h>

+ Collaboration diagram for QHashPrivate::MultiNode< Key, T >:

Public Types

using KeyType = Key
 
using ValueType = T
 
using Chain = MultiNodeChain< T >
 

Public Member Functions

 MultiNode (const Key &k, Chain *c)
 
 MultiNode (Key &&k, Chain *c) noexcept(std::is_nothrow_move_assignable_v< Key >)
 
 MultiNode (MultiNode &&other)
 
 MultiNode (const MultiNode &other)
 
 ~MultiNode ()
 
template<typename ... Args>
void insertMulti (Args &&... args)
 
template<typename ... Args>
void emplaceValue (Args &&... args)
 

Static Public Member Functions

template<typename ... Args>
static void createInPlace (MultiNode *n, Key &&k, Args &&... args)
 
template<typename ... Args>
static void createInPlace (MultiNode *n, const Key &k, Args &&... args)
 
static qsizetype freeChain (MultiNode *n) noexcept(std::is_nothrow_destructible_v< T >)
 

Public Attributes

Key key
 
Chainvalue
 

Detailed Description

template<typename Key, typename T>
struct QHashPrivate::MultiNode< Key, T >

Definition at line 148 of file qhash.h.

Member Typedef Documentation

◆ Chain

template<typename Key , typename T >
using QHashPrivate::MultiNode< Key, T >::Chain = MultiNodeChain<T>

Definition at line 152 of file qhash.h.

◆ KeyType

template<typename Key , typename T >
using QHashPrivate::MultiNode< Key, T >::KeyType = Key

Definition at line 150 of file qhash.h.

◆ ValueType

template<typename Key , typename T >
using QHashPrivate::MultiNode< Key, T >::ValueType = T

Definition at line 151 of file qhash.h.

Constructor & Destructor Documentation

◆ MultiNode() [1/4]

template<typename Key , typename T >
QHashPrivate::MultiNode< Key, T >::MultiNode ( const Key k,
Chain c 
)
inline

Definition at line 164 of file qhash.h.

◆ MultiNode() [2/4]

template<typename Key , typename T >
QHashPrivate::MultiNode< Key, T >::MultiNode ( Key &&  k,
Chain c 
)
inlinenoexcept

Definition at line 168 of file qhash.h.

◆ MultiNode() [3/4]

template<typename Key , typename T >
QHashPrivate::MultiNode< Key, T >::MultiNode ( MultiNode< Key, T > &&  other)
inline

Definition at line 173 of file qhash.h.

◆ MultiNode() [4/4]

template<typename Key , typename T >
QHashPrivate::MultiNode< Key, T >::MultiNode ( const MultiNode< Key, T > &  other)
inline

Definition at line 179 of file qhash.h.

References e, QHashPrivate::MultiNodeChain< T >::next, other(), QHashPrivate::MultiNodeChain< T >::value, and QHashPrivate::MultiNode< Key, T >::value.

+ Here is the call graph for this function:

◆ ~MultiNode()

template<typename Key , typename T >
QHashPrivate::MultiNode< Key, T >::~MultiNode ( )
inline

Definition at line 191 of file qhash.h.

Member Function Documentation

◆ createInPlace() [1/2]

template<typename Key , typename T >
template<typename ... Args>
static void QHashPrivate::MultiNode< Key, T >::createInPlace ( MultiNode< Key, T > *  n,
const Key k,
Args &&...  args 
)
inlinestatic

Definition at line 161 of file qhash.h.

References args.

◆ createInPlace() [2/2]

template<typename Key , typename T >
template<typename ... Args>
static void QHashPrivate::MultiNode< Key, T >::createInPlace ( MultiNode< Key, T > *  n,
Key &&  k,
Args &&...  args 
)
inlinestatic

Definition at line 158 of file qhash.h.

References args.

Referenced by QMultiHash< Key, T >::operator[]().

+ Here is the caller graph for this function:

◆ emplaceValue()

template<typename Key , typename T >
template<typename ... Args>
void QHashPrivate::MultiNode< Key, T >::emplaceValue ( Args &&...  args)
inline

Definition at line 209 of file qhash.h.

References args.

◆ freeChain()

template<typename Key , typename T >
static qsizetype QHashPrivate::MultiNode< Key, T >::freeChain ( MultiNode< Key, T > *  n)
inlinestaticnoexcept

Definition at line 196 of file qhash.h.

Referenced by QMultiHash< Key, T >::remove().

+ Here is the caller graph for this function:

◆ insertMulti()

template<typename Key , typename T >
template<typename ... Args>
void QHashPrivate::MultiNode< Key, T >::insertMulti ( Args &&...  args)
inline

Definition at line 203 of file qhash.h.

References args, and e.

Member Data Documentation

◆ key

template<typename Key , typename T >
Key QHashPrivate::MultiNode< Key, T >::key

Definition at line 154 of file qhash.h.

◆ value

template<typename Key , typename T >
Chain* QHashPrivate::MultiNode< Key, T >::value

Definition at line 155 of file qhash.h.

Referenced by QHashPrivate::MultiNode< Key, T >::MultiNode().


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