Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtPrivate::QPodArrayOps< T > Struct Template Reference

#include <qarraydataops.h>

Inheritance diagram for QtPrivate::QPodArrayOps< T >:
Collaboration diagram for QtPrivate::QPodArrayOps< T >:

Classes

struct  Span

Public Types

typedef QArrayDataPointer< T >::parameter_type parameter_type
Public Types inherited from QArrayDataPointer< T >
enum  { pass_parameter_by_value }
typedef std::conditional< pass_parameter_by_value, T, constT & >::type parameter_type

Public Member Functions

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
void reallocate (qsizetype alloc, QArrayData::AllocationOption option)
Public Member Functions inherited from QArrayDataPointer< T >
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)
QArrayDataPointeroperator= (const QArrayDataPointer &other) noexcept
Q_NODISCARD_CTOR QArrayDataPointer (QArrayDataPointer &&other) noexcept
DataOpsoperator* () noexcept
DataOpsoperator-> () noexcept
const DataOpsoperator* () const noexcept
const DataOpsoperator-> () 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< Xreinterpreted () &&
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={})
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
Datad_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 Public Member Functions inherited from QArrayDataPointer< T >
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 inherited from QArrayDataPointer< T >
Datad
T * ptr
qsizetype size

Detailed Description

template<class T>
struct QtPrivate::QPodArrayOps< T >

Definition at line 27 of file qarraydataops.h.

Member Typedef Documentation

◆ Data

template<class T>
typedef QTypedArrayData<T> QtPrivate::QPodArrayOps< T >::Data
protected

Definition at line 33 of file qarraydataops.h.

◆ DataPointer

template<class T>
using QtPrivate::QPodArrayOps< T >::DataPointer = QArrayDataPointer<T>
protected

Definition at line 34 of file qarraydataops.h.

◆ parameter_type

Definition at line 37 of file qarraydataops.h.

Member Function Documentation

◆ assign()

template<class T>
void QtPrivate::QPodArrayOps< T >::assign ( T * b,
T * e,
parameter_type t )
inlinenoexcept

Definition at line 250 of file qarraydataops.h.

◆ copyAppend() [1/2]

template<class T>
void QtPrivate::QPodArrayOps< T >::copyAppend ( const T * b,
const T * e )
inlinenoexcept

Definition at line 41 of file qarraydataops.h.

Referenced by moveAppend().

Here is the caller graph for this function:

◆ copyAppend() [2/2]

template<class T>
void QtPrivate::QPodArrayOps< T >::copyAppend ( qsizetype n,
parameter_type t )
inlinenoexcept

Definition at line 55 of file qarraydataops.h.

◆ copyRanges()

template<class T>
void QtPrivate::QPodArrayOps< T >::copyRanges ( std::initializer_list< Span > ranges)
inline

Definition at line 241 of file qarraydataops.h.

◆ createHole()

template<class T>
T * QtPrivate::QPodArrayOps< T >::createHole ( QArrayData::GrowthPosition pos,
qsizetype where,
qsizetype n )
inline

Definition at line 91 of file qarraydataops.h.

◆ destroyAll()

template<class T>
void QtPrivate::QPodArrayOps< T >::destroyAll ( )
inlinenoexcept

Definition at line 82 of file qarraydataops.h.

◆ emplace()

template<class T>
template<typename... Args>
void QtPrivate::QPodArrayOps< T >::emplace ( qsizetype i,
Args &&... args )
inline

Definition at line 142 of file qarraydataops.h.

◆ erase()

template<class T>
void QtPrivate::QPodArrayOps< T >::erase ( T * b,
qsizetype n )
inline

Definition at line 169 of file qarraydataops.h.

◆ eraseFirst()

template<class T>
void QtPrivate::QPodArrayOps< T >::eraseFirst ( )
inlinenoexcept

Definition at line 190 of file qarraydataops.h.

◆ eraseIf()

template<class T>
template<typename Predicate>
qsizetype QtPrivate::QPodArrayOps< T >::eraseIf ( Predicate pred)
inline

Definition at line 206 of file qarraydataops.h.

◆ eraseLast()

template<class T>
void QtPrivate::QPodArrayOps< T >::eraseLast ( )
inlinenoexcept

Definition at line 198 of file qarraydataops.h.

◆ insert() [1/2]

template<class T>
void QtPrivate::QPodArrayOps< T >::insert ( qsizetype i,
const T * data,
qsizetype n )
inline

Definition at line 109 of file qarraydataops.h.

◆ insert() [2/2]

template<class T>
void QtPrivate::QPodArrayOps< T >::insert ( qsizetype i,
qsizetype n,
parameter_type t )
inline

Definition at line 124 of file qarraydataops.h.

◆ moveAppend()

template<class T>
void QtPrivate::QPodArrayOps< T >::moveAppend ( T * b,
T * e )
inlinenoexcept

Definition at line 68 of file qarraydataops.h.

References copyAppend().

Here is the call graph for this function:

◆ reallocate()

template<class T>
void QtPrivate::QPodArrayOps< T >::reallocate ( qsizetype alloc,
QArrayData::AllocationOption option )
inline

Definition at line 259 of file qarraydataops.h.

◆ truncate()

template<class T>
void QtPrivate::QPodArrayOps< T >::truncate ( size_t newSize)
inlinenoexcept

Definition at line 73 of file qarraydataops.h.


The documentation for this struct was generated from the following file: