![]() |
Qt 6.x
The Qt SDK
|
#include <qarraydataops.h>
Classes | |
struct | Span |
Public Types | |
typedef QArrayDataPointer< T >::parameter_type | parameter_type |
![]() | |
enum | { pass_parameter_by_value } |
typedef std::conditional< pass_parameter_by_value, T, constT & >::type | parameter_type |
Public Member Functions | |
void | appendInitialize (qsizetype newSize) noexcept |
void | copyAppend (const T *b, const T *e) noexcept |
void | copyAppend (qsizetype n, parameter_type t) noexcept |
void | moveAppend (T *b, T *e) noexcept |
void | truncate (size_t newSize) noexcept |
void | destroyAll () noexcept |
T * | createHole (QArrayData::GrowthPosition pos, qsizetype where, qsizetype n) |
void | insert (qsizetype i, const T *data, qsizetype n) |
void | insert (qsizetype i, qsizetype n, parameter_type t) |
template<typename... Args> | |
void | emplace (qsizetype i, Args &&... args) |
void | erase (T *b, qsizetype n) |
void | eraseFirst () noexcept |
void | eraseLast () noexcept |
template<typename Predicate > | |
qsizetype | eraseIf (Predicate pred) |
void | copyRanges (std::initializer_list< Span > ranges) |
void | assign (T *b, T *e, parameter_type t) noexcept |
bool | compare (const T *begin1, const T *begin2, size_t n) const |
void | reallocate (qsizetype alloc, QArrayData::AllocationOption option) |
![]() | |
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 |
Protected Types | |
typedef QTypedArrayData< T > | Data |
using | DataPointer = QArrayDataPointer< T > |
Additional Inherited Members | |
![]() | |
static Q_NODISCARD_CTOR QArrayDataPointer | fromRawData (const T *rawData, qsizetype length) noexcept |
static QArrayDataPointer | allocateGrow (const QArrayDataPointer &from, qsizetype n, QArrayData::GrowthPosition position) |
![]() | |
Data * | d |
T * | ptr |
qsizetype | size |
Definition at line 26 of file qarraydataops.h.
|
protected |
Definition at line 32 of file qarraydataops.h.
|
protected |
Definition at line 33 of file qarraydataops.h.
typedef QArrayDataPointer<T>::parameter_type QtPrivate::QPodArrayOps< T >::parameter_type |
Definition at line 36 of file qarraydataops.h.
|
inlinenoexcept |
Definition at line 40 of file qarraydataops.h.
References e, QArrayDataPointer< T >::end(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), and Q_ASSERT.
|
inlinenoexcept |
Definition at line 263 of file qarraydataops.h.
References QArrayDataPointer< T >::begin(), e, QArrayDataPointer< T >::end(), and Q_ASSERT.
|
inline |
Definition at line 272 of file qarraydataops.h.
|
inlinenoexcept |
Definition at line 54 of file qarraydataops.h.
References e, QArrayDataPointer< T >::end(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), and Q_ASSERT.
Referenced by QtPrivate::QPodArrayOps< T >::moveAppend().
|
inlinenoexcept |
Definition at line 68 of file qarraydataops.h.
References QArrayDataPointer< T >::end(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayDataPointer< T >::isShared(), and Q_ASSERT.
|
inline |
Definition at line 254 of file qarraydataops.h.
References QArrayDataPointer< T >::begin(), and it.
|
inline |
Definition at line 104 of file qarraydataops.h.
References QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, pos, QArrayDataPointer< T >::ptr, and Q_ASSERT.
Referenced by QtPrivate::QPodArrayOps< T >::emplace(), QtPrivate::QPodArrayOps< T >::insert(), and QtPrivate::QPodArrayOps< T >::insert().
|
inlinenoexcept |
Definition at line 95 of file qarraydataops.h.
References QArrayDataPointer< T >::d, QBasicAtomicInteger< T >::loadRelaxed(), Q_ASSERT, and QArrayData::ref_.
|
inline |
Definition at line 155 of file qarraydataops.h.
References args, QArrayDataPointer< T >::begin(), QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::detach(), QArrayDataPointer< T >::detachAndGrow(), QArrayDataPointer< T >::end(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, i, QArrayDataPointer< T >::needsDetach(), pos, QArrayDataPointer< T >::ptr, and QArrayDataPointer< T >::size.
|
inline |
Definition at line 182 of file qarraydataops.h.
References QArrayDataPointer< T >::begin(), e, QArrayDataPointer< T >::end(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::ptr, and Q_ASSERT.
Referenced by QtPrivate::QPodArrayOps< T >::eraseIf().
|
inlinenoexcept |
Definition at line 203 of file qarraydataops.h.
References QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::ptr, Q_ASSERT, and QArrayDataPointer< T >::size.
|
inline |
Definition at line 219 of file qarraydataops.h.
References QTypedArrayData< T >::allocate(), QArrayDataPointer< T >::begin(), QArrayDataPointer< T >::end(), QtPrivate::QPodArrayOps< T >::erase(), it, QArrayDataPointer< T >::needsDetach(), other(), Q_CHECK_PTR(), QtPrivate::q_uninitialized_remove_copy_if(), and QArrayDataPointer< T >::swap().
|
inlinenoexcept |
Definition at line 211 of file qarraydataops.h.
References QArrayDataPointer< T >::isMutable(), Q_ASSERT, and QArrayDataPointer< T >::size.
|
inline |
Definition at line 122 of file qarraydataops.h.
References QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::detachAndGrow(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, i, pos, and Q_ASSERT.
|
inline |
Definition at line 137 of file qarraydataops.h.
References copy(), QtPrivate::QPodArrayOps< T >::createHole(), QArrayDataPointer< T >::detachAndGrow(), QArrayDataPointer< T >::freeSpaceAtBegin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtBeginning, QArrayData::GrowsAtEnd, i, pos, and Q_ASSERT.
|
inlinenoexcept |
Definition at line 81 of file qarraydataops.h.
References QtPrivate::QPodArrayOps< T >::copyAppend(), and e.
|
inline |
Definition at line 293 of file qarraydataops.h.
References QArrayDataPointer< T >::d, QArrayDataPointer< T >::ptr, Q_ASSERT, Q_CHECK_PTR(), and QTypedArrayData< T >::reallocateUnaligned().
|
inlinenoexcept |
Definition at line 86 of file qarraydataops.h.
References QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), and Q_ASSERT.