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
qhash.h File Reference

(e2d19b9b8f4f7b87a0a4bfe5b6afd1395685ba20)

#include <QtCore/qalgorithms.h>
#include <QtCore/qcontainertools_impl.h>
#include <QtCore/qhashfunctions.h>
#include <QtCore/qiterator.h>
#include <QtCore/qlist.h>
#include <QtCore/qrefcount.h>
#include <QtCore/qttypetraits.h>
#include <initializer_list>
#include <functional>
#include <QtCore/q20type_traits.h>
Include dependency graph for qhash.h:

Go to the source code of this file.

Classes

struct  QHashDummyValue
struct  QHashPrivate::Node< Key, T >
struct  QHashPrivate::Node< Key, QHashDummyValue >
struct  QHashPrivate::MultiNodeChain< T >
struct  QHashPrivate::MultiNode< Key, T >
struct  QHashPrivate::SpanConstants
struct  QHashPrivate::Span< Node >
struct  QHashPrivate::Span< Node >::Entry
struct  QHashPrivate::Data< Node >
struct  QHashPrivate::Data< Node >::Bucket
struct  QHashPrivate::Data< Node >::InsertionResult
struct  QHashPrivate::iterator< Node >
class  QHash< Key, T >
 \inmodule QtCore More...
class  QHash< Key, T >::iterator
 \inmodule QtCore More...
class  QHash< Key, T >::const_iterator
 \inmodule QtCore More...
class  QHash< Key, T >::key_iterator
 \inmodule QtCore More...
class  QHash< Key, T >::TryEmplaceResult
 \inmodule QtCore More...
class  QMultiHash< Key, T >
 \inmodule QtCore More...
class  QMultiHash< Key, T >::iterator
 \inmodule QtCore More...
class  QMultiHash< Key, T >::const_iterator
 \inmodule QtCore More...
class  QMultiHash< Key, T >::key_iterator
 \inmodule QtCore More...

Namespaces

namespace  QHashPrivate
namespace  QHashPrivate::GrowthPolicy

Typedefs

template<typename HashKey, typename KeyArgument>
using QHashPrivate::HeterogenousConstructProxy

Functions

template<typename T>
size_t QHashPrivate::calculateHash (const T &t, size_t seed=0)
template<typename Node>
constexpr bool QHashPrivate::isRelocatable ()
constexpr size_t QHashPrivate::GrowthPolicy::bucketsForCapacity (size_t requestedCapacity) noexcept
constexpr size_t QHashPrivate::GrowthPolicy::bucketForHash (size_t nBuckets, size_t hash) noexcept
template<class Key, class T>
size_t qHash (const QHash< Key, T > &key, size_t seed=0) noexcept(noexcept(qHash(std::declval< Key & >())) &&noexcept(qHash(std::declval< T & >())))
template<class Key, class T>
size_t qHash (const QMultiHash< Key, T > &key, size_t seed=0) noexcept(noexcept(qHash(std::declval< Key & >())) &&noexcept(qHash(std::declval< T & >())))
template<typename Key, typename T, typename Predicate>
qsizetype erase_if (QHash< Key, T > &hash, Predicate pred)
template<typename Key, typename T, typename Predicate>
qsizetype erase_if (QMultiHash< Key, T > &hash, Predicate pred)

Variables

template<typename T, typename = void>
constexpr bool QHashPrivate::HasQHashOverload = false
template<typename T>
constexpr bool QHashPrivate::HasQHashOverload< T, std::enable_if_t< std::is_convertible_v< decltype(qHash(std::declval< const T & >(), std::declval< size_t >())), size_t > > > = true
template<typename T, typename = void>
constexpr bool QHashPrivate::HasStdHashSpecializationWithSeed = false
template<typename T>
constexpr bool QHashPrivate::HasStdHashSpecializationWithSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >(), std::declval< size_t >())), size_t > > > = true
template<typename T, typename = void>
constexpr bool QHashPrivate::HasStdHashSpecializationWithoutSeed = false
template<typename T>
constexpr bool QHashPrivate::HasStdHashSpecializationWithoutSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >())), size_t > > > = true

Function Documentation

◆ erase_if() [1/2]

template<typename Key, typename T, typename Predicate>
qsizetype erase_if ( QHash< Key, T > & hash,
Predicate pred )
related

Definition at line 2740 of file qhash.h.

◆ erase_if() [2/2]

template<typename Key, typename T, typename Predicate>
qsizetype erase_if ( QMultiHash< Key, T > & hash,
Predicate pred )
related

Definition at line 2746 of file qhash.h.

◆ qHash() [1/2]

template<class Key, class T>
size_t qHash ( const QHash< Key, T > & key,
size_t seed = 0 )
noexcept
Since
5.8 \qhasholdTS{QHash}{Key}{T}

Definition at line 2712 of file qhash.h.

◆ qHash() [2/2]

template<class Key, class T>
size_t qHash ( const QMultiHash< Key, T > & key,
size_t seed = 0 )
inlinenoexcept
Since
5.8 \qhasholdTS{QMultiHash}{Key}{T}

Definition at line 2726 of file qhash.h.