![]() |
Qt 6.x
The Qt SDK
|
#include <qtaggedpointer.h>
Public Types | |
using | Type = T |
using | TagType = Tag |
Public Member Functions | |
Q_NODISCARD_CTOR constexpr | QTaggedPointer () noexcept |
Q_NODISCARD_CTOR constexpr | QTaggedPointer (std::nullptr_t) noexcept |
Q_NODISCARD_CTOR | QTaggedPointer (T *pointer, Tag tag=Tag()) noexcept |
Type & | operator* () const noexcept |
Type * | operator-> () const noexcept |
operator bool () const noexcept | |
template<typename U , std::enable_if_t< std::is_convertible_v< U *, T * >, bool > = false> | |
QTaggedPointer & | operator= (U *other) noexcept |
template<typename U , std::enable_if_t< std::is_null_pointer_v< U >, bool > = false> | |
QTaggedPointer & | operator= (U) noexcept |
void | setTag (Tag tag) |
Tag | tag () const noexcept |
T * | data () const noexcept |
bool | isNull () const noexcept |
void | swap (QTaggedPointer &other) noexcept |
Static Public Member Functions | |
static constexpr quintptr | tagMask () |
static constexpr quintptr | pointerMask () |
static constexpr Tag | maximumTag () noexcept |
Protected Attributes | |
quintptr | d |
Friends | |
bool | operator== (QTaggedPointer lhs, QTaggedPointer rhs) noexcept |
bool | operator!= (QTaggedPointer lhs, QTaggedPointer rhs) noexcept |
bool | operator== (QTaggedPointer lhs, std::nullptr_t) noexcept |
bool | operator== (std::nullptr_t, QTaggedPointer rhs) noexcept |
bool | operator!= (QTaggedPointer lhs, std::nullptr_t) noexcept |
bool | operator!= (std::nullptr_t, QTaggedPointer rhs) noexcept |
bool | operator! (QTaggedPointer ptr) noexcept |
void | swap (QTaggedPointer &p1, QTaggedPointer &p2) noexcept |
Definition at line 37 of file qtaggedpointer.h.
using QTaggedPointer< T, Tag >::TagType = Tag |
Definition at line 41 of file qtaggedpointer.h.
using QTaggedPointer< T, Tag >::Type = T |
Definition at line 40 of file qtaggedpointer.h.
|
inlineconstexprnoexcept |
Definition at line 46 of file qtaggedpointer.h.
|
inlineconstexprnoexcept |
Definition at line 47 of file qtaggedpointer.h.
|
inlineexplicitnoexcept |
Definition at line 49 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::pointerMask(), Q_ASSERT_X, QTaggedPointer< T, Tag >::tag(), and QTaggedPointer< T, Tag >::tagMask().
|
inlinenoexcept |
Definition at line 120 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, and QTaggedPointer< T, Tag >::pointerMask().
Referenced by QQmlAbstractBinding::~QQmlAbstractBinding(), QQmlJavaScriptExpression::clearError(), QQmlVMEMetaObject::connectAlias(), QtPrivate::QConstPreservingPointer< Type, Storage >::constPointer(), QStringHash< T >::copyNode(), QQmlDesignerMetaObject::createNewDynamicProperty(), QQmlJavaScriptExpression::delayedError(), QQmlBinding::dependencies(), QQmlBinding::doUpdate(), QStringHash< T >::findNode(), QQmlAbstractBinding::getPropertyData(), QTaggedPointer< T, Tag >::isNull(), QtPrivate::QConstPreservingPointer< Type, Storage >::mutablePointer(), QQmlAbstractBinding::nextBinding(), QTaggedPointer< T, Tag >::operator*(), QTaggedPointer< T, Tag >::operator->(), QStringHashData::rehashNode(), QQmlIncubatorPrivate::requiredProperties(), QQmlAbstractBinding::setNextBinding(), QQmlAbstractBinding::setTarget(), QQmlBinding::slowWrite(), QQmlBinding::slowWrite(), QQmlInterceptorMetaObject::toDynamicMetaObject(), and GenericBinding< StaticPropType >::write().
|
inlinenoexcept |
Definition at line 125 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::data().
Referenced by QQmlJavaScriptExpression::hasDelayedError(), QQmlJavaScriptExpression::hasError(), and QTaggedPointer< T, Tag >::operator bool().
|
inlinestaticconstexprnoexcept |
Definition at line 100 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::tagMask().
|
inlineexplicitnoexcept |
Definition at line 70 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::isNull().
|
inlinenoexcept |
Definition at line 59 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::data(), and Q_ASSERT.
|
inlinenoexcept |
Definition at line 65 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::data().
|
inlinenoexcept |
Definition at line 84 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, other(), and QTaggedPointer< T, Tag >::tagMask().
|
inlinenoexcept |
Definition at line 93 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, and QTaggedPointer< T, Tag >::tagMask().
|
inlinestaticconstexpr |
Definition at line 44 of file qtaggedpointer.h.
Referenced by QTaggedPointer< T, Tag >::QTaggedPointer(), QTaggedPointer< T, Tag >::data(), QtPrivate::QTagPreservingPointerToPointer< T, Tag >::get(), and QTaggedPointer< T, Tag >::setTag().
|
inline |
Definition at line 105 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, QTaggedPointer< T, Tag >::pointerMask(), Q_ASSERT_X, and QTaggedPointer< T, Tag >::tag().
Referenced by QPropertyObserverNodeProtector::QPropertyObserverNodeProtector(), QQmlPropertyBindingJS::expressionChanged(), QQmlIncubatorPrivate::incubateCppBasedComponent(), QLibrary::load(), QQmlAbstractBinding::setEnabledFlag(), QStringHashNode::setQString(), QQmlAbstractBinding::setUpdatingFlag(), QQmlVMEMetaObjectEndpoint::tryConnect(), and QLibrary::unload().
|
inlinenoexcept |
Definition at line 130 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, and other().
|
inlinenoexcept |
Definition at line 115 of file qtaggedpointer.h.
References QTaggedPointer< T, Tag >::d, and QTaggedPointer< T, Tag >::tagMask().
Referenced by QTaggedPointer< T, Tag >::QTaggedPointer(), QQmlAbstractBinding::enabledFlag(), QQmlPropertyBindingJS::expressionChanged(), QQmlIncubatorPrivate::hadTopLevelRequiredProperties(), QQmlAbstractBinding::isAddedToObject(), QQmlJS::AST::BoundName::isInjected(), QLibrary::isLoaded(), QStringHashNode::isQString(), QLibrary::load(), QtPrivate::QConstPreservingPointer< Type, Storage >::mutablePointer(), QQmlAbstractBinding::setEnabledFlag(), QTaggedPointer< T, Tag >::setTag(), QQmlAbstractBinding::setUpdatingFlag(), QQmlInterceptorMetaObject::toDynamicMetaObject(), QQmlVMEMetaObjectEndpoint::tryConnect(), QLibrary::unload(), and QQmlAbstractBinding::updatingFlag().
|
inlinestaticconstexpr |
Definition at line 43 of file qtaggedpointer.h.
Referenced by QTaggedPointer< T, Tag >::QTaggedPointer(), QTaggedPointer< T, Tag >::maximumTag(), QTaggedPointer< T, Tag >::operator=(), QTaggedPointer< T, Tag >::operator=(), and QTaggedPointer< T, Tag >::tag().
|
friend |
Definition at line 165 of file qtaggedpointer.h.
|
friend |
Definition at line 140 of file qtaggedpointer.h.
|
friend |
Definition at line 155 of file qtaggedpointer.h.
|
friend |
Definition at line 160 of file qtaggedpointer.h.
|
friend |
Definition at line 135 of file qtaggedpointer.h.
|
friend |
Definition at line 145 of file qtaggedpointer.h.
|
friend |
Definition at line 150 of file qtaggedpointer.h.
|
friend |
Definition at line 170 of file qtaggedpointer.h.
|
protected |
Definition at line 176 of file qtaggedpointer.h.
Referenced by QTaggedPointer< T, Tag >::data(), QTaggedPointer< T, Tag >::operator=(), QTaggedPointer< T, Tag >::operator=(), QTaggedPointer< T, Tag >::setTag(), QTaggedPointer< T, Tag >::swap(), and QTaggedPointer< T, Tag >::tag().