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 Namespace Reference

Namespaces

namespace  detail
 
namespace  GrowthPolicy
 

Classes

struct  Data
 
struct  HeterogeneouslySearchableWithHelper
 
struct  iterator
 
struct  MultiNode
 
struct  MultiNodeChain
 
struct  Node
 
struct  Node< Key, QHashDummyValue >
 
struct  Span
 
struct  SpanConstants
 

Typedefs

template<typename Key, typename T>
using HeterogeneouslySearchableWith
 
template<typename Key, typename K>
using if_heterogeneously_searchable_with
 
template<typename HashKey, typename KeyArgument>
using HeterogenousConstructProxy
 

Functions

Q_DECL_CONST_FUNCTION constexpr size_t hash (size_t key, size_t seed) noexcept
 
template<typename T1, typename T2>
static constexpr bool noexceptPairHash ()
 
template<typename T>
size_t calculateHash (const T &t, size_t seed=0)
 
template<typename Node>
constexpr bool isRelocatable ()
 

Variables

template<typename T, typename = void>
constexpr bool HasQHashOverload = false
 
template<typename T>
constexpr bool 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 HasStdHashSpecializationWithSeed = false
 
template<typename T>
constexpr bool 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 HasStdHashSpecializationWithoutSeed = false
 
template<typename T>
constexpr bool HasStdHashSpecializationWithoutSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >())), size_t > > > = true
 

Typedef Documentation

◆ HeterogeneouslySearchableWith

template<typename Key, typename T>
using QHashPrivate::HeterogeneouslySearchableWith
Initial value:

Definition at line 274 of file qhashfunctions.h.

◆ HeterogenousConstructProxy

template<typename HashKey, typename KeyArgument>
using QHashPrivate::HeterogenousConstructProxy
Initial value:
std::conditional_t<
std::is_same_v<HashKey, q20::remove_cvref_t<KeyArgument>>,
KeyArgument,
HashKey
>

Definition at line 827 of file qhash.h.

◆ if_heterogeneously_searchable_with

template<typename Key, typename K>
using QHashPrivate::if_heterogeneously_searchable_with
Initial value:
std::enable_if_t<
bool>
HeterogeneouslySearchableWithHelper< q20::remove_cvref_t< Key >, q20::remove_cvref_t< T > > HeterogeneouslySearchableWith

Definition at line 280 of file qhashfunctions.h.

Function Documentation

◆ calculateHash()

template<typename T>
size_t QHashPrivate::calculateHash ( const T & t,
size_t seed = 0 )

Definition at line 56 of file qhash.h.

◆ hash()

Q_DECL_CONST_FUNCTION constexpr size_t QHashPrivate::hash ( size_t key,
size_t seed )
constexprnoexcept

Definition at line 66 of file qhashfunctions.h.

◆ isRelocatable()

template<typename Node>
bool QHashPrivate::isRelocatable ( )
constexpr

Definition at line 218 of file qhash.h.

◆ noexceptPairHash()

template<typename T1, typename T2>
static constexpr bool QHashPrivate::noexceptPairHash ( )
staticconstexpr

Definition at line 388 of file qhashfunctions.h.

Variable Documentation

◆ HasQHashOverload

template<typename T, typename = void>
bool QHashPrivate::HasQHashOverload = false
inlineconstexpr

Definition at line 32 of file qhash.h.

◆ HasQHashOverload< T, std::enable_if_t< std::is_convertible_v< decltype(qHash(std::declval< const T & >(), std::declval< size_t >())), size_t > > >

template<typename T>
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
inlineconstexpr

Definition at line 35 of file qhash.h.

◆ HasStdHashSpecializationWithoutSeed

template<typename T, typename = void>
bool QHashPrivate::HasStdHashSpecializationWithoutSeed = false
inlineconstexpr

Definition at line 48 of file qhash.h.

◆ HasStdHashSpecializationWithoutSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >())), size_t > > >

template<typename T>
bool QHashPrivate::HasStdHashSpecializationWithoutSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >())), size_t > > > = true
inlineconstexpr

Definition at line 51 of file qhash.h.

◆ HasStdHashSpecializationWithSeed

template<typename T, typename = void>
bool QHashPrivate::HasStdHashSpecializationWithSeed = false
inlineconstexpr

Definition at line 40 of file qhash.h.

◆ HasStdHashSpecializationWithSeed< T, std::enable_if_t< std::is_convertible_v< decltype(std::hash< T >()(std::declval< const T & >(), std::declval< size_t >())), size_t > > >

template<typename T>
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
inlineconstexpr

Definition at line 43 of file qhash.h.