23#include <QtCore/qobject.h>
24#include <QtCore/private/qobject_p.h>
34static_assert(std::is_trivially_destructible_v<QObjectPrivate::ConnectionList>);
55 operator uintptr_t() const noexcept {
return c; }
67static_assert(std::is_trivial_v<QObjectPrivate::ConnectionOrSignalVector>);
134 std::is_trivial_v<QObjectPrivate::SignalVector>);
172 if (
orphaned.load(std::memory_order_relaxed) &&
ref.loadAcquire() == 1)
202 newVector->next =
nullptr;
203 newVector->allocated =
size;
211 o =
orphaned.load(std::memory_order_acquire);
\macro Q_ATOMIC_INTnn_IS_SUPPORTED
Type loadRelaxed() const noexcept
qsizetype count() const noexcept
void(* StaticMetaCallFunction)(QObject *, QMetaObject::Call, int, void **)
void destroyIfLastRef() noexcept
Combined button and popup list for selecting options.
static ControlElement< T > * ptr(QWidget *widget)
GLsizei const GLfloat * v
[13]
GLenum GLuint GLintptr GLsizeiptr size
[1]
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
std::atomic< TaggedSignalVector > orphaned
QAtomicInteger< uint > currentConnectionId
@ AlreadyLockedAndTemporarilyReleasingLock
ConnectionList & connectionsForSignal(int signal)
int signalVectorCount() const
void removeConnection(Connection *c)
void resizeSignalVector(uint size)
static void deleteOrphaned(TaggedSignalVector o)
void cleanOrphanedConnections(QObject *sender, LockPolicy lockPolicy=NeedToLock)
void cleanOrphanedConnectionsImpl(QObject *sender, LockPolicy lockPolicy)
QAtomicPointer< SignalVector > signalVector
QAtomicPointer< Connection > last
QAtomicPointer< Connection > first
TaggedSignalVector nextInOrphanList
QAtomicPointer< const int > argumentTypes
QAtomicPointer< QThreadData > receiverThreadData
QAtomicPointer< Connection > nextConnectionList
QAtomicPointer< QObject > receiver
Connection * prevConnectionList
QtPrivate::QSlotObjectBase * slotObj
StaticMetaCallFunction callFunction
Sender(QObject *receiver, QObject *sender, int signal)
ConnectionList & at(int i)
const ConnectionList & at(int i) const
TaggedSignalVector()=default
TaggedSignalVector(std::nullptr_t) noexcept
TaggedSignalVector(Connection *v) noexcept
TaggedSignalVector(SignalVector *v) noexcept