QtBase  v6.3.1
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
QVariant::Private Struct Reference

#include <qvariant.h>

Collaboration diagram for QVariant::Private:
Collaboration graph
[legend]

Public Member Functions

 Private () noexcept
 
 Private (QMetaType type) noexcept
 
 Private (int type) noexcept
 
const voidstorage () const
 
const voidinternalStorage () const
 
template<typename T >
const Tget () const
 
template<typename T >
void set (const T &t)
 
QMetaType type () const
 
QtPrivate::QMetaTypeInterfacetypeInterface () const
 
int typeId () const
 

Static Public Member Functions

static constexpr bool canUseInternalSpace (QtPrivate::QMetaTypeInterface *type)
 

Public Attributes

union {
   uchar   data [MaxInternalSize] = {}
 
   PrivateShared *   shared
 
   double   _forAlignment
 
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<typename T >
static constexpr bool CanUseInternalSpace = (QTypeInfo<T>::isRelocatable && sizeof(T) <= MaxInternalSize && alignof(T) <= alignof(double))
 

Detailed Description

Definition at line 455 of file qvariant.h.

Constructor & Destructor Documentation

◆ Private() [1/3]

QVariant::Private::Private ( )
inlinenoexcept

Definition at line 477 of file qvariant.h.

◆ Private() [2/3]

QVariant::Private::Private ( QMetaType  type)
inlineexplicitnoexcept

Definition at line 478 of file qvariant.h.

◆ Private() [3/3]

QVariant::Private::Private ( int  type)
inlineexplicitnoexcept

Definition at line 484 of file qvariant.h.

Member Function Documentation

◆ canUseInternalSpace()

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

Definition at line 460 of file qvariant.h.

◆ get()

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

Definition at line 494 of file qvariant.h.

Here is the caller graph for this function:

◆ internalStorage()

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

Definition at line 489 of file qvariant.h.

◆ set()

template<typename T >
void QVariant::Private::set ( const T t)
inline

Definition at line 497 of file qvariant.h.

Here is the caller graph for this function:

◆ storage()

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

Definition at line 486 of file qvariant.h.

◆ type()

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

Definition at line 500 of file qvariant.h.

Here is the caller graph for this function:

◆ typeId()

int QVariant::Private::typeId ( ) const
inline

Definition at line 510 of file qvariant.h.

Here is the caller graph for this function:

◆ typeInterface()

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

Definition at line 505 of file qvariant.h.

Here is the caller graph for this function:

Member Data Documentation

◆ _forAlignment

double QVariant::Private::_forAlignment

Definition at line 471 of file qvariant.h.

◆ CanUseInternalSpace

template<typename T >
constexpr bool QVariant::Private::CanUseInternalSpace = (QTypeInfo<T>::isRelocatable && sizeof(T) <= MaxInternalSize && alignof(T) <= alignof(double))
staticconstexpr

Definition at line 459 of file qvariant.h.

◆ data [1/2]

uchar QVariant::Private::data[MaxInternalSize] = {}

Definition at line 469 of file qvariant.h.

◆  [2/2]

union { ... } QVariant::Private::data

◆ is_null

quintptr QVariant::Private::is_null

Definition at line 474 of file qvariant.h.

◆ is_shared

quintptr QVariant::Private::is_shared

Definition at line 473 of file qvariant.h.

◆ MaxInternalSize

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

Definition at line 457 of file qvariant.h.

◆ packedType

quintptr QVariant::Private::packedType

Definition at line 475 of file qvariant.h.

◆ shared

PrivateShared* QVariant::Private::shared

Definition at line 470 of file qvariant.h.


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