![]() |
Qt 6.x
The Qt SDK
|
#include <qarraydatapointer.h>
Public Types | |
enum | { pass_parameter_by_value } |
typedef std::conditional< pass_parameter_by_value, T, constT & >::type | parameter_type |
Public Member Functions | |
Q_NODISCARD_CTOR constexpr | QArrayDataPointer () noexcept |
Q_NODISCARD_CTOR | QArrayDataPointer (const QArrayDataPointer &other) noexcept |
Q_NODISCARD_CTOR constexpr | QArrayDataPointer (Data *header, T *adata, qsizetype n=0) noexcept |
Q_NODISCARD_CTOR | QArrayDataPointer (QPair< QTypedArrayData< T > *, T * > adata, qsizetype n=0) noexcept |
QArrayDataPointer & | operator= (const QArrayDataPointer &other) noexcept |
Q_NODISCARD_CTOR | QArrayDataPointer (QArrayDataPointer &&other) noexcept |
DataOps & | operator* () noexcept |
DataOps * | operator-> () noexcept |
const DataOps & | operator* () const noexcept |
const DataOps * | operator-> () const noexcept |
~QArrayDataPointer () | |
bool | isNull () const noexcept |
T * | data () noexcept |
const T * | data () const noexcept |
T * | begin () noexcept |
T * | end () noexcept |
const T * | begin () const noexcept |
const T * | end () const noexcept |
const T * | constBegin () const noexcept |
const T * | constEnd () const noexcept |
void | swap (QArrayDataPointer &other) noexcept |
void | clear () noexcept(std::is_nothrow_destructible< T >::value) |
void | detach (QArrayDataPointer *old=nullptr) |
template<typename X > | |
QArrayDataPointer< X > | reinterpreted () && |
void | detachAndGrow (QArrayData::GrowthPosition where, qsizetype n, const T **data, QArrayDataPointer *old) |
Q_NEVER_INLINE void | reallocateAndGrow (QArrayData::GrowthPosition where, qsizetype n, QArrayDataPointer *old=nullptr) |
bool | tryReadjustFreeSpace (QArrayData::GrowthPosition pos, qsizetype n, const T **data=nullptr) |
void | relocate (qsizetype offset, const T **data=nullptr) |
template<typename InputIterator , typename Projection = q20::identity> | |
void | assign (InputIterator first, InputIterator last, Projection proj={}) |
qsizetype | allocatedCapacity () noexcept |
qsizetype | constAllocatedCapacity () const noexcept |
void | ref () noexcept |
bool | deref () noexcept |
bool | isMutable () const noexcept |
bool | isShared () const noexcept |
bool | isSharedWith (const QArrayDataPointer &other) const noexcept |
bool | needsDetach () const noexcept |
qsizetype | detachCapacity (qsizetype newSize) const noexcept |
const Data::ArrayOptions | flags () const noexcept |
void | setFlag (typename Data::ArrayOptions f) noexcept |
void | clearFlag (typename Data::ArrayOptions f) noexcept |
Data * | d_ptr () noexcept |
void | setBegin (T *begin) noexcept |
qsizetype | freeSpaceAtBegin () const noexcept |
qsizetype | freeSpaceAtEnd () const noexcept |
Static Public Member Functions | |
static Q_NODISCARD_CTOR QArrayDataPointer | fromRawData (const T *rawData, qsizetype length) noexcept |
static QArrayDataPointer | allocateGrow (const QArrayDataPointer &from, qsizetype n, QArrayData::GrowthPosition position) |
Public Attributes | |
Data * | d |
T * | ptr |
qsizetype | size |
Friends | |
bool | operator== (const QArrayDataPointer &lhs, const QArrayDataPointer &rhs) noexcept |
bool | operator!= (const QArrayDataPointer &lhs, const QArrayDataPointer &rhs) noexcept |
Definition at line 16 of file qarraydatapointer.h.
typedef std::conditional<pass_parameter_by_value,T,constT&>::type QArrayDataPointer< T >::parameter_type |
Definition at line 28 of file qarraydatapointer.h.
anonymous enum |
Enumerator | |
---|---|
pass_parameter_by_value |
Definition at line 23 of file qarraydatapointer.h.
|
inlineconstexprnoexcept |
Definition at line 31 of file qarraydatapointer.h.
Referenced by QArrayDataPointer< T >::allocateGrow().
|
inlinenoexcept |
Definition at line 37 of file qarraydatapointer.h.
References QArrayDataPointer< T >::ref().
|
inlineconstexprnoexcept |
Definition at line 44 of file qarraydatapointer.h.
|
inlineexplicitnoexcept |
Definition at line 50 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 70 of file qarraydatapointer.h.
References other().
|
inline |
Definition at line 100 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayDataPointer< T >::deref().
|
inlinenoexcept |
Definition at line 412 of file qarraydatapointer.h.
References QArrayData::allocatedCapacity(), and QArrayDataPointer< T >::d.
Referenced by QtPrivate::QCommonArrayOps< T >::appendIteratorRange(), QByteArray::operator=(), QByteArray::resize(), and QString::resize().
|
inlinestatic |
Definition at line 443 of file qarraydatapointer.h.
References QArrayDataPointer< T >::QArrayDataPointer(), QTypedArrayData< T >::allocate(), capacity, QArrayDataPointer< T >::constAllocatedCapacity(), QArrayDataPointer< T >::detachCapacity(), QArrayDataPointer< T >::flags(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::Grow, QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, header(), QArrayData::KeepSize, position(), qMax(), and QArrayDataPointer< T >::size.
Referenced by QArrayDataPointer< T >::reallocateAndGrow().
|
inline |
Definition at line 318 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 118 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data().
|
inlinenoexcept |
Definition at line 116 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data().
Referenced by QtPrivate::QGenericArrayOps< T >::appendInitialize(), QString::assign(), QByteArray::assign(), QtPrivate::QGenericArrayOps< T >::assign(), QtPrivate::QPodArrayOps< T >::assign(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyRanges(), QtPrivate::QGenericArrayOps< T >::destroyAll(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QPodArrayOps< T >::erase(), QtPrivate::QGenericArrayOps< T >::erase(), QtPrivate::QMovableArrayOps< T >::erase(), QtPrivate::QGenericArrayOps< T >::eraseFirst(), QtPrivate::QPodArrayOps< T >::eraseIf(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::moveAppend(), QArrayDataPointer< T >::reallocateAndGrow(), QString::remove(), QString::remove(), QByteArray::remove(), removeStringImpl(), QString::replace(), QString::replace(), replace_in_place(), replace_with_copy(), QArrayDataPointer< T >::setBegin(), and QtPrivate::QGenericArrayOps< T >::truncate().
|
inlinenoexcept |
Definition at line 130 of file qarraydatapointer.h.
References QArrayDataPointer< T >::swap().
Referenced by QString::QString(), QByteArray::clear(), and QByteArray::operator=().
|
inlinenoexcept |
Definition at line 423 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::flags.
|
inlinenoexcept |
Definition at line 413 of file qarraydatapointer.h.
References QArrayData::constAllocatedCapacity(), and QArrayDataPointer< T >::d.
Referenced by QArrayDataPointer< T >::allocateGrow(), QByteArray::prepend(), QArrayDataPointer< T >::reallocateAndGrow(), and QArrayDataPointer< T >::tryReadjustFreeSpace().
|
inlinenoexcept |
Definition at line 120 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data().
|
inlinenoexcept |
Definition at line 121 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data(), and QArrayDataPointer< T >::size.
|
inlinenoexcept |
Definition at line 425 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d.
Referenced by QStringHash< T >::initializeNode(), QList< T >::reserve(), and StringOrTranslation::setString().
|
inlinenoexcept |
Definition at line 114 of file qarraydatapointer.h.
References QArrayDataPointer< T >::ptr.
|
inlinenoexcept |
Definition at line 113 of file qarraydatapointer.h.
References QArrayDataPointer< T >::ptr.
Referenced by QByteArray::QByteArray(), QByteArray::QByteArray(), QByteArray::QByteArray(), QString::QString(), QString::QString(), QString::QString(), QString::QString(), QByteArray::append(), QString::append(), QString::append(), QByteArray::assign(), QArrayDataPointer< T >::begin(), QArrayDataPointer< T >::begin(), QArrayDataPointer< T >::constBegin(), QArrayDataPointer< T >::constEnd(), QArrayDataPointer< T >::end(), QArrayDataPointer< T >::end(), QByteArray::fill(), QString::fill(), QStringHash< T >::initializeNode(), QByteArray::insert(), QByteArray::insert(), QString::insert(), QString::isSimpleText(), QString::left(), QString::leftJustified(), QByteArray::mid(), QtPrivate::QXmlString::operator QStringView(), QByteArray::operator=(), QString::operator=(), QString::operator=(), QMetaObject_findMetaObject(), QArrayDataPointer< T >::reallocateAndGrow(), QString::remove(), QString::remove(), QString::remove(), QByteArray::remove(), QString::repeated(), QString::replace(), QByteArray::replace(), QByteArray::resize(), QString::resize(), QByteArray::resize(), QString::resize(), QString::rightJustified(), StringOrTranslation::setString(), QString::setUnicode(), and QString::utf16().
|
inlinenoexcept |
Definition at line 415 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::deref().
Referenced by QArrayDataPointer< T >::~QArrayDataPointer().
|
inline |
Definition at line 136 of file qarraydatapointer.h.
References QArrayData::GrowsAtEnd, QArrayDataPointer< T >::needsDetach(), and QArrayDataPointer< T >::reallocateAndGrow().
Referenced by QArrayDataPointer< T >::detachAndGrow(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), and QtPrivate::QMovableArrayOps< T >::emplace().
|
inline |
Detaches this (optionally) and grows to accommodate the free space for n elements at the required side. The side is determined from pos.
data pointer can be provided when the caller knows that data points into range [this->begin(), this->end()). In case it is, *data would be updated so that it continues to point to the element it was pointing to before the data move. if data does not point into range, one can/should pass nullptr
.
Similarly to data, old, pointer to a default-constructed QADP, can be provided when the caller expects to e.g. copy the data from this to itself:
The default rule would be: data and old must either both be valid pointers, or both equal to nullptr
.
Definition at line 187 of file qarraydatapointer.h.
References QArrayDataPointer< T >::detach(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, QArrayDataPointer< T >::needsDetach(), Q_ASSERT, QArrayDataPointer< T >::reallocateAndGrow(), and QArrayDataPointer< T >::tryReadjustFreeSpace().
Referenced by QByteArray::append(), QString::append(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QCommonArrayOps< T >::growAppend(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QByteArray::insert(), QByteArray::insert(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), and QString::insert().
|
inlinenoexcept |
Definition at line 420 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::detachCapacity().
Referenced by QArrayDataPointer< T >::allocateGrow().
|
inlinenoexcept |
Definition at line 119 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data(), and QArrayDataPointer< T >::size.
|
inlinenoexcept |
Definition at line 117 of file qarraydatapointer.h.
References QArrayDataPointer< T >::data(), and QArrayDataPointer< T >::size.
Referenced by QtPrivate::QPodArrayOps< T >::appendInitialize(), QtPrivate::QCommonArrayOps< T >::appendIteratorRange(), QtPrivate::QGenericArrayOps< T >::assign(), QtPrivate::QPodArrayOps< T >::assign(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::destroyAll(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QPodArrayOps< T >::erase(), QtPrivate::QGenericArrayOps< T >::erase(), QtPrivate::QMovableArrayOps< T >::erase(), QtPrivate::QPodArrayOps< T >::eraseIf(), QtPrivate::QGenericArrayOps< T >::eraseLast(), QString::remove(), QString::remove(), QByteArray::remove(), removeStringImpl(), QString::replace(), QString::replace(), replace_in_place(), replace_with_copy(), and QtPrivate::QGenericArrayOps< T >::truncate().
|
inlinenoexcept |
Definition at line 421 of file qarraydatapointer.h.
References QArrayData::ArrayOptionDefault, QArrayDataPointer< T >::d, and QArrayData::flags.
Referenced by QArrayDataPointer< T >::allocateGrow().
|
inlinenoexcept |
Definition at line 428 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, QTypedArrayData< T >::dataStart(), and QArrayDataPointer< T >::ptr.
Referenced by QArrayDataPointer< T >::allocateGrow(), QString::assign(), QByteArray::assign(), QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::detachAndGrow(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QArrayDataPointer< T >::freeSpaceAtEnd(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), needsReallocate(), QByteArray::operator=(), QString::operator=(), QString::operator=(), QArrayDataPointer< T >::reallocateAndGrow(), QByteArray::resize(), and QArrayDataPointer< T >::tryReadjustFreeSpace().
|
inlinenoexcept |
Definition at line 435 of file qarraydatapointer.h.
References QArrayData::constAllocatedCapacity(), QArrayDataPointer< T >::d, QArrayDataPointer< T >::freeSpaceAtBegin(), and QArrayDataPointer< T >::size.
Referenced by QArrayDataPointer< T >::allocateGrow(), QByteArray::append(), QtPrivate::QGenericArrayOps< T >::appendInitialize(), QtPrivate::QPodArrayOps< T >::appendInitialize(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::detachAndGrow(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QCommonArrayOps< T >::growAppend(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QPodArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::moveAppend(), QArrayDataPointer< T >::reallocateAndGrow(), and QArrayDataPointer< T >::tryReadjustFreeSpace().
|
inlinestaticnoexcept |
Definition at line 56 of file qarraydatapointer.h.
References Q_ASSERT.
Referenced by QByteArray::QByteArray(), QByteArray::QByteArray(), QByteArray::QByteArray(), QByteArray::mid(), and QByteArray::operator=().
|
inlinenoexcept |
Definition at line 416 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d.
Referenced by QByteArray::append(), QtPrivate::QGenericArrayOps< T >::appendInitialize(), QtPrivate::QPodArrayOps< T >::appendInitialize(), QtPrivate::QCommonArrayOps< T >::appendIteratorRange(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::erase(), QtPrivate::QGenericArrayOps< T >::erase(), QtPrivate::QMovableArrayOps< T >::erase(), QtPrivate::QPodArrayOps< T >::eraseFirst(), QtPrivate::QGenericArrayOps< T >::eraseFirst(), QtPrivate::QPodArrayOps< T >::eraseLast(), QtPrivate::QGenericArrayOps< T >::eraseLast(), QtPrivate::QGenericArrayOps< T >::moveAppend(), QByteArray::prepend(), QtPrivate::QGenericArrayOps< T >::truncate(), QtPrivate::QPodArrayOps< T >::truncate(), and QString::utf16().
|
inlinenoexcept |
Definition at line 108 of file qarraydatapointer.h.
References QArrayDataPointer< T >::ptr.
|
inlinenoexcept |
Definition at line 417 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::isShared().
Referenced by QtPrivate::QGenericArrayOps< T >::appendInitialize(), QtPrivate::QPodArrayOps< T >::appendInitialize(), QtPrivate::QCommonArrayOps< T >::appendIteratorRange(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::moveAppend(), QString::remove(), QString::remove(), QByteArray::remove(), QtPrivate::QGenericArrayOps< T >::truncate(), and QtPrivate::QPodArrayOps< T >::truncate().
|
inlinenoexcept |
Definition at line 418 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and other().
|
inlinenoexcept |
Definition at line 419 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::needsDetach().
Referenced by QArrayDataPointer< T >::detach(), QArrayDataPointer< T >::detachAndGrow(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QPodArrayOps< T >::eraseIf(), QString::insert(), QByteArray::insert(), QString::insert(), QByteArray::operator=(), QArrayDataPointer< T >::reallocateAndGrow(), removeStringImpl(), QString::replace(), replace_helper(), QByteArray::resize(), QString::resize(), and QArrayDataPointer< T >::tryReadjustFreeSpace().
|
inlinenoexcept |
Definition at line 90 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 80 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 95 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 85 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 62 of file qarraydatapointer.h.
References other(), and QArrayDataPointer< T >::swap().
|
inline |
Reallocates to accommodate the free space for n elements at the required side. The side is determined from pos. Might also shrink when n < 0.
Definition at line 212 of file qarraydatapointer.h.
References QArrayDataPointer< T >::allocateGrow(), QArrayDataPointer< T >::begin(), QArrayDataPointer< T >::constAllocatedCapacity(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QArrayDataPointer< T >::data(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::Grow, QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, QtPrivate::QGenericArrayOps< T >::moveAppend(), QArrayDataPointer< T >::needsDetach(), Q_ASSERT, Q_CHECK_PTR(), QArrayDataPointer< T >::size, and QArrayDataPointer< T >::swap().
Referenced by QArrayDataPointer< T >::detach(), and QArrayDataPointer< T >::detachAndGrow().
|
inlinenoexcept |
Definition at line 414 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, and QArrayData::ref().
Referenced by QArrayDataPointer< T >::QArrayDataPointer().
|
inline |
Reinterprets the data of this QArrayDataPointer to type X. It's the caller's responsibility to ensure that the data contents are valid and properly aligned, particularly if T and X are not trivial types (i.e, don't do that). The current size is kept and the allocated capacity is updated to account for the difference in the element type's size.
This is used in QString::fromLatin1 to perform in-place conversion of QString to QByteArray.
Definition at line 153 of file qarraydatapointer.h.
References QArrayData::alloc, QArrayDataPointer< T >::d, QArrayData::isShared(), QArrayDataPointer< T >::ptr, Q_ASSERT, and X.
|
inline |
Relocates [begin(), end()) by offset and updates data if it is not nullptr
and points into [begin(), end()).
Definition at line 307 of file qarraydatapointer.h.
References QArrayDataPointer< T >::ptr, QtPrivate::q_points_into_range(), and QtPrivate::q_relocate_overlap_n().
Referenced by QArrayDataPointer< T >::tryReadjustFreeSpace().
|
inlinenoexcept |
Definition at line 426 of file qarraydatapointer.h.
References QArrayDataPointer< T >::begin(), and QArrayDataPointer< T >::ptr.
Referenced by QString::assign(), and QByteArray::assign().
|
inlinenoexcept |
Definition at line 422 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, QArrayData::flags, and Q_ASSERT.
Referenced by QList< T >::reserve().
|
inlinenoexcept |
Definition at line 123 of file qarraydatapointer.h.
References QArrayDataPointer< T >::d, other(), QArrayDataPointer< T >::ptr, and qt_ptr_swap().
Referenced by QArrayDataPointer< T >::clear(), QtPrivate::QPodArrayOps< T >::eraseIf(), QArrayDataPointer< T >::operator=(), QtPrivate::QXmlString::operator=(), QArrayDataPointer< T >::reallocateAndGrow(), and QtPrivate::QXmlString::swap().
|
inline |
Attempts to relocate [begin(), end()) to accommodate the free space for n elements at the required side. The side is determined from pos.
Returns true
if the internal data is moved. Returns false
when there is no point in moving the data or the move is impossible. If false
is returned, it is the responsibility of the caller to figure out how to accommodate the free space for n elements at pos.
This function expects that certain preconditions are met, e.g. the detach is not needed, n > 0 and so on. This is intentional to reduce the number of if-statements when the caller knows that preconditions would be satisfied.
Definition at line 263 of file qarraydatapointer.h.
References capacity, QArrayDataPointer< T >::constAllocatedCapacity(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, QArrayDataPointer< T >::needsDetach(), pos, Q_ASSERT, qMax(), and QArrayDataPointer< T >::relocate().
Referenced by QArrayDataPointer< T >::detachAndGrow().
|
friend |
Definition at line 474 of file qarraydatapointer.h.
|
friend |
Definition at line 469 of file qarraydatapointer.h.
Data* QArrayDataPointer< T >::d |
Definition at line 479 of file qarraydatapointer.h.
Referenced by QtPrivate::QGenericArrayOps< T >::Inserter::Inserter(), QArrayDataPointer< T >::~QArrayDataPointer(), QArrayDataPointer< T >::allocatedCapacity(), QArrayDataPointer< T >::clearFlag(), QArrayDataPointer< T >::constAllocatedCapacity(), QArrayDataPointer< T >::d_ptr(), QArrayDataPointer< T >::deref(), QtPrivate::QGenericArrayOps< T >::destroyAll(), QtPrivate::QPodArrayOps< T >::destroyAll(), QArrayDataPointer< T >::detachCapacity(), QArrayDataPointer< T >::flags(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), QArrayDataPointer< T >::isSharedWith(), QQuickJSContext2DPrototype::method_createPattern(), QArrayDataPointer< T >::needsDetach(), QtPrivate::QPodArrayOps< T >::reallocate(), QtPrivate::QMovableArrayOps< T >::reallocate(), QArrayDataPointer< T >::ref(), QArrayDataPointer< T >::reinterpreted(), QArrayDataPointer< T >::setFlag(), and QArrayDataPointer< T >::swap().
T* QArrayDataPointer< T >::ptr |
Definition at line 480 of file qarraydatapointer.h.
Referenced by QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::data(), QArrayDataPointer< T >::data(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QtPrivate::QPodArrayOps< T >::erase(), QtPrivate::QGenericArrayOps< T >::erase(), QtPrivate::QMovableArrayOps< T >::erase(), QtPrivate::QPodArrayOps< T >::eraseFirst(), QtPrivate::QGenericArrayOps< T >::eraseFirst(), QArrayDataPointer< T >::freeSpaceAtBegin(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QArrayDataPointer< T >::isNull(), QtPrivate::QPodArrayOps< T >::reallocate(), QtPrivate::QMovableArrayOps< T >::reallocate(), QArrayDataPointer< T >::reinterpreted(), QArrayDataPointer< T >::relocate(), QArrayDataPointer< T >::setBegin(), and QArrayDataPointer< T >::swap().
qsizetype QArrayDataPointer< T >::size |
Definition at line 481 of file qarraydatapointer.h.
Referenced by QArrayDataPointer< T >::allocateGrow(), QByteArray::append(), QString::append(), QString::append(), QtPrivate::QGenericArrayOps< T >::appendInitialize(), QtPrivate::QCommonArrayOps< T >::appendIteratorRange(), QByteArray::assign(), QString::chop(), QArrayDataPointer< T >::constEnd(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QGenericArrayOps< T >::emplace(), QtPrivate::QMovableArrayOps< T >::emplace(), QArrayDataPointer< T >::end(), QArrayDataPointer< T >::end(), QtPrivate::QPodArrayOps< T >::eraseFirst(), QtPrivate::QGenericArrayOps< T >::eraseFirst(), QtPrivate::QPodArrayOps< T >::eraseLast(), QtPrivate::QGenericArrayOps< T >::eraseLast(), QString::fill(), QArrayDataPointer< T >::freeSpaceAtEnd(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QByteArray::insert(), QString::insert(), QByteArray::insert(), QtPrivate::QGenericArrayOps< T >::insert(), QtPrivate::QMovableArrayOps< T >::insert(), QString::insert(), QString::isSimpleText(), QtPrivate::lastIndexOf(), QtPrivate::QGenericArrayOps< T >::moveAppend(), QtPrivate::QXmlString::operator QStringView(), QByteArray::operator=(), QString::operator=(), QString::operator=(), QArrayDataPointer< T >::reallocateAndGrow(), QString::remove(), QString::remove(), QByteArray::remove(), QString::repeated(), QString::replace(), QString::replace(), QString::replace(), QString::replace(), QString::replace(), replace_helper(), replace_in_place(), replace_with_copy(), QByteArray::resize(), QString::resize(), QByteArray::resize(), QtPrivate::QXmlString::size(), and QString::utf16().