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
QVariant::Private Struct Reference

#include <qvariant.h>

Collaboration diagram for QVariant::Private:

Classes

union  [union].data

Public Member Functions

constexpr Private () noexcept
 Private (const QtPrivate::QMetaTypeInterface *iface) noexcept
template<typename T>
 Private (std::in_place_t, T &&tt)
const void * storage () const
template<typename T>
const T & get () const
const QtPrivate::QMetaTypeInterface * typeInterface () const
QMetaType type () const
template<typename TT>
 Private (std::in_place_t, TT &&tt)

Static Public Member Functions

static constexpr bool canUseInternalSpace (const QtPrivate::QMetaTypeInterface *typetype)
template<typename T>
static constexpr bool hasAlwaysBeenAbleToUseInternalSpace ()

Public Attributes

union  data
quintptr is_shared: 1
quintptr is_null: 1
quintptr packedType: sizeof(QMetaType) * 8 - 2

Static Public Attributes

static constexpr size_t MaxInternalSize = 3 * sizeof(void *)
template<size_t S>
static constexpr bool FitsInInternalSize = S <= MaxInternalSize
template<typename T>
static constexpr bool CanUseInternalSpace

Detailed Description

Definition at line 100 of file qvariant.h.

Constructor & Destructor Documentation

◆ Private() [1/4]

QVariant::Private::Private ( )
inlineconstexprnoexcept

Definition at line 161 of file qvariant.h.

◆ Private() [2/4]

QVariant::Private::Private ( const QtPrivate::QMetaTypeInterface * iface)
inlineexplicitnoexcept

Definition at line 79 of file qvariant_p.h.

◆ Private() [3/4]

template<typename T>
QVariant::Private::Private ( std::in_place_t ,
T && t )
explicit

◆ Private() [4/4]

template<typename TT>
QVariant::Private::Private ( std::in_place_t ,
TT && t )

Definition at line 86 of file qvariant_p.h.

Member Function Documentation

◆ canUseInternalSpace()

constexpr bool QVariant::Private::canUseInternalSpace ( const QtPrivate::QMetaTypeInterface * type)
inlinestaticconstexpr

Definition at line 106 of file qvariant.h.

◆ get()

template<typename T>
const T & QVariant::Private::get ( ) const
inline

Definition at line 175 of file qvariant.h.

◆ hasAlwaysBeenAbleToUseInternalSpace()

template<typename T>
constexpr bool QVariant::Private::hasAlwaysBeenAbleToUseInternalSpace ( )
inlinestaticconstexpr

Definition at line 113 of file qvariant.h.

◆ storage()

const void * QVariant::Private::storage ( ) const
inline

Definition at line 172 of file qvariant.h.

◆ type()

QMetaType QVariant::Private::type ( ) const
inline

Definition at line 194 of file qvariant.h.

◆ typeInterface()

const QtPrivate::QMetaTypeInterface * QVariant::Private::typeInterface ( ) const
inline

Definition at line 189 of file qvariant.h.

Member Data Documentation

◆ CanUseInternalSpace

template<typename T>
bool QVariant::Private::CanUseInternalSpace
staticconstexpr
Initial value:
=
(QTypeInfo<T>::isRelocatable && FitsInInternalSize<sizeof(T)> && alignof(T) <= alignof(double))
@ isRelocatable
Definition qtypeinfo.h:72
static constexpr bool FitsInInternalSize
Definition qvariant.h:103

Definition at line 104 of file qvariant.h.

◆ data

union QVariant::Private::[union].data QVariant::Private::data

◆ FitsInInternalSize

template<size_t S>
bool QVariant::Private::FitsInInternalSize = S <= MaxInternalSize
staticconstexpr

Definition at line 103 of file qvariant.h.

◆ is_null

quintptr QVariant::Private::is_null

Definition at line 158 of file qvariant.h.

◆ is_shared

quintptr QVariant::Private::is_shared

Definition at line 157 of file qvariant.h.

◆ MaxInternalSize

size_t QVariant::Private::MaxInternalSize = 3 * sizeof(void *)
staticconstexpr

Definition at line 102 of file qvariant.h.

◆ packedType

quintptr QVariant::Private::packedType

Definition at line 159 of file qvariant.h.


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