![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#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 (std::pair< QTypedArrayData< T > *, T * > adata, qsizetype n=0) noexcept |
| Q_NODISCARD_CTOR | QArrayDataPointer (qsizetype alloc, qsizetype n=0, QArrayData::AllocationOption option=QArrayData::KeepSize) |
| 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 () | |
| constexpr 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) |
| QArrayDataPointer | sliced (qsizetype pos, qsizetype n) const & |
| QArrayDataPointer | sliced (qsizetype pos, qsizetype n) && |
| void | appendInitialize (qsizetype newSize) |
| 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 14 of file qarraydatapointer.h.
| typedef std::conditional<pass_parameter_by_value,T,constT&>::type QArrayDataPointer< T >::parameter_type |
Definition at line 26 of file qarraydatapointer.h.
| anonymous enum |
| Enumerator | |
|---|---|
| pass_parameter_by_value | |
Definition at line 21 of file qarraydatapointer.h.
|
inlineconstexprnoexcept |
Definition at line 29 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 35 of file qarraydatapointer.h.
|
inlineconstexprnoexcept |
Definition at line 42 of file qarraydatapointer.h.
|
inlineexplicitnoexcept |
Definition at line 48 of file qarraydatapointer.h.
|
inlineexplicit |
Definition at line 54 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 75 of file qarraydatapointer.h.
|
inline |
Definition at line 104 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 355 of file qarraydatapointer.h.
|
inlinestatic |
Definition at line 386 of file qarraydatapointer.h.
|
inline |
Definition at line 341 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 122 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 120 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 134 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 366 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 356 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 124 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 125 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 368 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 118 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 117 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 358 of file qarraydatapointer.h.
|
inline |
Definition at line 140 of file qarraydatapointer.h.
|
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 191 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 363 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 123 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 121 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 364 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 371 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 378 of file qarraydatapointer.h.
|
inlinestaticnoexcept |
Definition at line 61 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 359 of file qarraydatapointer.h.
|
inlineconstexprnoexcept |
Definition at line 112 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 360 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 361 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 362 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 94 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 84 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 99 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 89 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 67 of file qarraydatapointer.h.
|
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 216 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 357 of file qarraydatapointer.h.
|
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 157 of file qarraydatapointer.h.
|
inline |
|
inlinenoexcept |
Definition at line 369 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 365 of file qarraydatapointer.h.
|
inline |
Definition at line 329 of file qarraydatapointer.h.
|
inline |
Definition at line 321 of file qarraydatapointer.h.
|
inlinenoexcept |
Definition at line 127 of file qarraydatapointer.h.
|
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 267 of file qarraydatapointer.h.
|
friend |
Definition at line 417 of file qarraydatapointer.h.
|
friend |
Definition at line 412 of file qarraydatapointer.h.
| Data* QArrayDataPointer< T >::d |
Definition at line 422 of file qarraydatapointer.h.
| T* QArrayDataPointer< T >::ptr |
Definition at line 423 of file qarraydatapointer.h.
| qsizetype QArrayDataPointer< T >::size |
Definition at line 424 of file qarraydatapointer.h.