5#include <QtCore/qarraydata.h>
6#include <QtCore/private/qnumeric_p.h>
7#include <QtCore/private/qtools_p.h>
8#include <QtCore/qmath.h>
10#include <QtCore/qbytearray.h>
11#include <QtCore/qstring.h>
100 bytes += (morebytes - bytes) / 2;
144 header->ref_.storeRelaxed(1);
154struct alignas(std::max_align_t) AlignedQArrayData :
QArrayData
174 const qsizetype headerAlignment =
alignof(AlignedQArrayData);
192 void *
data =
nullptr;
212 return qMakePair<QArrayData *, void *>(
nullptr,
nullptr);
215 ?
reinterpret_cast<char *
>(dataPointer) -
reinterpret_cast<char *
>(
data)
227 dataPointer =
reinterpret_cast<char *
>(
header) +
offset;
229 dataPointer =
nullptr;
Combined button and popup list for selecting options.
static QArrayData * allocateData(qsizetype allocSize)
static qsizetype calculateBlockSize(qsizetype &capacity, qsizetype objectSize, qsizetype headerSize, QArrayData::AllocationOption option)
QT_BEGIN_NAMESPACE qsizetype qCalculateBlockSize(qsizetype elementCount, qsizetype elementSize, qsizetype headerSize) noexcept
CalculateGrowingBlockSizeResult qCalculateGrowingBlockSize(qsizetype elementCount, qsizetype elementSize, qsizetype headerSize) noexcept
static qsizetype reserveExtraBytes(qsizetype allocSize)
std::pair< T1, T2 > QPair
static QString header(const QString &name)
static const qint64 headerSize
constexpr quint32 qNextPowerOfTwo(quint32 v)
constexpr const T & qMax(const T &a, const T &b)
std::enable_if_t< std::is_unsigned_v< T >, bool > qAddOverflow(T v1, T v2, T *r)
std::enable_if_t< std::is_unsigned_v< T >||std::is_signed_v< T >, bool > qMulOverflow(T v1, T v2, T *r)
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
unsigned long long quint64
static Q_CORE_EXPORT QPair< QArrayData *, void * > reallocateUnaligned(QArrayData *data, void *dataPointer, qsizetype objectSize, qsizetype newCapacity, AllocationOption option) noexcept
static Q_CORE_EXPORT void * allocate(QArrayData **pdata, qsizetype objectSize, qsizetype alignment, qsizetype capacity, AllocationOption option=QArrayData::KeepSize) noexcept
static Q_CORE_EXPORT void deallocate(QArrayData *data, qsizetype objectSize, qsizetype alignment) noexcept
static T * dataStart(QArrayData *data, qsizetype alignment) noexcept