5#pragma qt_sync_skip_header_check
6#pragma qt_sync_stop_processing
9#ifndef QSHAREDDATA_IMPL_H
10#define QSHAREDDATA_IMPL_H
12#include <QtCore/qglobal.h>
13#include <QtCore/qshareddata.h>
54 :
d(std::exchange(
other.d,
nullptr))
67 if (
d && !
d->ref.deref())
77 }
else if (
d->ref.loadRelaxed() != 1) {
86 if (
d && !
d->ref.deref())
93 constexpr T *
take() noexcept
95 return std::exchange(
d,
nullptr);
100 return d &&
d->ref.loadRelaxed() != 1;
114 constexpr T *
data() noexcept {
return d; }
115 constexpr const T *
data() const noexcept {
return d; }
117 constexpr explicit operator bool() const noexcept {
return d; }
122 return lhs.d == rhs.d;
128 return lhs.d != rhs.d;
constexpr friend bool operator==(const QExplicitlySharedDataPointerV2 &lhs, const QExplicitlySharedDataPointerV2 &rhs) noexcept
QExplicitlySharedDataPointerV2(const QExplicitlySharedDataPointerV2 &other) noexcept
void reset(T *t=nullptr) noexcept
constexpr void swap(QExplicitlySharedDataPointerV2 &other) noexcept
constexpr T * operator->()
constexpr const T * data() const noexcept
QExplicitlySharedDataPointerV2 & operator=(const QExplicitlySharedDataPointerV2 &other) noexcept
constexpr QExplicitlySharedDataPointerV2() noexcept
QExplicitlySharedDataPointerV2(T *t, QAdoptSharedDataTag) noexcept
QExplicitlySharedDataPointerV2 & operator=(QExplicitlySharedDataPointerV2 &&other) noexcept
constexpr friend bool operator!=(const QExplicitlySharedDataPointerV2 &lhs, const QExplicitlySharedDataPointerV2 &rhs) noexcept
constexpr const T & operator*() const
constexpr T & operator*()
constexpr const T * operator->() const
QExplicitlySharedDataPointerV2(T *t) noexcept
constexpr T * data() noexcept
constexpr T * take() noexcept
~QExplicitlySharedDataPointerV2()
QExplicitlySharedDataPointerV2(QExplicitlySharedDataPointerV2 &&other) noexcept
bool isShared() const noexcept
Combined button and popup list for selecting options.
static jboolean copy(JNIEnv *, jobject)
constexpr void qt_ptr_swap(T *&lhs, T *&rhs) noexcept
\inmodule QtCore \threadsafe