Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QtPrivate::QCommonArrayOps< T > Struct Template Reference

#include <qarraydataops.h>

+ Inheritance diagram for QtPrivate::QCommonArrayOps< T >:
+ Collaboration diagram for QtPrivate::QCommonArrayOps< T >:

Public Types

using Base = typename QArrayOpsSelector<T>::Type
 
using Data = QTypedArrayData<T>
 
using DataPointer = QArrayDataPointer<T>
 
using parameter_type = typename Base::parameter_type
 
- Public Types inherited from QtPrivate::QGenericArrayOps< T >
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

template<typename It >
void appendIteratorRange (It b, It e, QtPrivate::IfIsForwardIterator< It >=true)
 
void growAppend (const T *b, const T *e)
 
void appendUninitialized (qsizetype newSize)
 
- Public Member Functions inherited from QtPrivate::QGenericArrayOps< T >
void appendInitialize (qsizetype newSize)
 
void copyAppend (const T *b, const T *e)
 
void copyAppend (qsizetype n, parameter_type t)
 
void moveAppend (T *b, T *e)
 
void truncate (size_t newSize)
 
void destroyAll ()
 
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
 
void assign (T *b, T *e, parameter_type t)
 
bool compare (const T *begin1, const T *begin2, size_t n) const
 
- 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
 
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< 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) &&
 
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

using Self = QCommonArrayOps<T>
 
- Protected Types inherited from QtPrivate::QGenericArrayOps< T >
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 >
Data * d
 
T * ptr
 
qsizetype size
 

Detailed Description

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

Definition at line 901 of file qarraydataops.h.

Member Typedef Documentation

◆ Base

template<class T >
using QtPrivate::QCommonArrayOps< T >::Base = typename QArrayOpsSelector<T>::Type

Definition at line 903 of file qarraydataops.h.

◆ Data

template<class T >
using QtPrivate::QCommonArrayOps< T >::Data = QTypedArrayData<T>

Definition at line 904 of file qarraydataops.h.

◆ DataPointer

template<class T >
using QtPrivate::QCommonArrayOps< T >::DataPointer = QArrayDataPointer<T>

Definition at line 905 of file qarraydataops.h.

◆ parameter_type

template<class T >
using QtPrivate::QCommonArrayOps< T >::parameter_type = typename Base::parameter_type

Definition at line 906 of file qarraydataops.h.

◆ Self

template<class T >
using QtPrivate::QCommonArrayOps< T >::Self = QCommonArrayOps<T>
protected

Definition at line 909 of file qarraydataops.h.

Member Function Documentation

◆ appendIteratorRange()

template<class T >
template<typename It >
void QtPrivate::QCommonArrayOps< T >::appendIteratorRange ( It b,
It e,
QtPrivate::IfIsForwardIterator< It > = true )
inline

Definition at line 918 of file qarraydataops.h.

References QArrayDataPointer< T >::allocatedCapacity(), QtPrivate::QGenericArrayOps< T >::copyAppend(), QArrayDataPointer< T >::end(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), iter, Q_ASSERT, Q_UNUSED, and QArrayDataPointer< T >::size.

+ Here is the call graph for this function:

◆ appendUninitialized()

template<class T >
void QtPrivate::QCommonArrayOps< T >::appendUninitialized ( qsizetype newSize)
inline

Definition at line 965 of file qarraydataops.h.

References QArrayDataPointer< T >::begin(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayDataPointer< T >::isMutable(), QArrayDataPointer< T >::isShared(), QArrayDataPointer< T >::ptr, Q_ASSERT, QArrayDataPointer< T >::size, and Qt::Uninitialized.

+ Here is the call graph for this function:

◆ growAppend()

template<class T >
void QtPrivate::QCommonArrayOps< T >::growAppend ( const T * b,
const T * e )
inline

Definition at line 947 of file qarraydataops.h.

References QtPrivate::QGenericArrayOps< T >::copyAppend(), QArrayDataPointer< T >::detachAndGrow(), QArrayDataPointer< T >::freeSpaceAtEnd(), QArrayData::GrowsAtEnd, Q_ASSERT, and QtPrivate::q_points_into_range().

+ Here is the call graph for this function:

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