Remove some unused methods

Change-Id: If19e5b4521bb3a535d9fb848829783f74427b554
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
bb10
Lars Knoll 2020-11-09 13:28:30 +01:00
parent 4ee3c4a546
commit b6d6b3108b
1 changed files with 7 additions and 85 deletions

View File

@ -228,9 +228,6 @@ struct QArrayExceptionSafetyPrimitives
// Tags for compile-time dispatch based on backwards vs forward growing policy
struct GrowsForwardTag {};
struct GrowsBackwardsTag {};
template<typename> struct InverseTag;
template<> struct InverseTag<GrowsForwardTag> { using tag = GrowsBackwardsTag; };
template<> struct InverseTag<GrowsBackwardsTag> { using tag = GrowsForwardTag; };
QT_WARNING_PUSH
#if defined(Q_CC_GNU) && Q_CC_GNU >= 700
@ -262,7 +259,13 @@ public:
}
void moveAppend(T *b, T *e)
{ insert(this->end(), b, e); }
{
Q_ASSERT(b < e);
Q_ASSERT((e - b) <= this->freeSpaceAtEnd());
::memcpy(static_cast<void *>(this->end()), static_cast<const void *>(b), (e - b) * sizeof(T));
this->size += (e - b);
}
void truncate(size_t newSize)
{
@ -282,9 +285,6 @@ public:
// exception safe; size not updated.
}
void insert(T *where, const T *b, const T *e)
{ insert(GrowsForwardTag{}, where, b, e); }
void insert(GrowsForwardTag, T *where, const T *b, const T *e)
{
Q_ASSERT(this->isMutable() || (b == e && where == this->end()));
@ -320,9 +320,6 @@ public:
this->size += (e - b);
}
void insert(T *where, size_t n, parameter_type t)
{ insert(GrowsForwardTag{}, where, n, t); }
void insert(GrowsForwardTag, T *where, size_t n, parameter_type t)
{
Q_ASSERT(!this->isShared());
@ -356,10 +353,6 @@ public:
*where++ = t;
}
template <typename ...Args>
void emplace(T *where, Args&&... args)
{ emplace(GrowsForwardTag{}, where, std::forward<Args>(args)...); }
template <typename ...Args>
void emplace(GrowsForwardTag, T *where, Args&&... args)
{
@ -404,9 +397,6 @@ public:
++this->size;
}
void erase(T *b, T *e)
{ erase(GrowsForwardTag{}, b, e); }
void erase(GrowsForwardTag, T *b, T *e)
{
Q_ASSERT(this->isMutable());
@ -555,9 +545,6 @@ public:
(--i)->~T();
}
void insert(T *where, const T *b, const T *e)
{ insert(GrowsForwardTag{}, where, b, e); }
void insert(GrowsForwardTag, T *where, const T *b, const T *e)
{
Q_ASSERT(this->isMutable() || (b == e && where == this->end()));
@ -661,9 +648,6 @@ public:
}
}
void insert(T *where, size_t n, parameter_type t)
{ insert(GrowsForwardTag{}, where, n, t); }
void insert(GrowsForwardTag, T *where, size_t n, parameter_type t)
{
Q_ASSERT(!this->isShared());
@ -760,10 +744,6 @@ public:
}
}
template<typename... Args>
void emplace(T *where, Args &&... args)
{ emplace(GrowsForwardTag{}, where, std::forward<Args>(args)...); }
template<typename... Args>
void emplace(GrowsForwardTag, T *where, Args &&... args)
{
@ -836,9 +816,6 @@ public:
}
}
void erase(T *b, T *e)
{ erase(GrowsForwardTag{}, b, e); }
void erase(GrowsForwardTag, T *b, T *e)
{
Q_ASSERT(this->isMutable());
@ -947,9 +924,6 @@ public:
// using QGenericArrayOps<T>::destroyAll;
typedef typename QGenericArrayOps<T>::parameter_type parameter_type;
void insert(T *where, const T *b, const T *e)
{ insert(GrowsForwardTag{}, where, b, e); }
void insert(GrowsForwardTag, T *where, const T *b, const T *e)
{
Q_ASSERT(this->isMutable() || (b == e && where == this->end()));
@ -995,9 +969,6 @@ public:
this->size += copiedSize;
}
void insert(T *where, size_t n, parameter_type t)
{ insert(GrowsForwardTag{}, where, n, t); }
void insert(GrowsForwardTag, T *where, size_t n, parameter_type t)
{
Q_ASSERT(!this->isShared());
@ -1042,12 +1013,6 @@ public:
// use moving insert
using QGenericArrayOps<T>::insert;
template<typename... Args>
void emplace(T *where, Args &&... args)
{
emplace(GrowsForwardTag {}, where, std::forward<Args>(args)...);
}
template<typename... Args>
void emplace(GrowsForwardTag, T *where, Args &&... args)
{
@ -1090,9 +1055,6 @@ public:
// use moving emplace
using QGenericArrayOps<T>::emplace;
void erase(T *b, T *e)
{ erase(GrowsForwardTag{}, b, e); }
void erase(GrowsForwardTag, T *b, T *e)
{
Q_ASSERT(this->isMutable());
@ -1176,46 +1138,6 @@ struct QCommonArrayOps : QArrayOpsSelector<T>::Type
protected:
using Self = QCommonArrayOps<T>;
// Tag dispatched helper functions
inline void adjustPointer(GrowsBackwardsTag, size_t distance) noexcept
{
this->ptr -= distance;
}
inline void adjustPointer(GrowsForwardTag, size_t distance) noexcept
{
this->ptr += distance;
}
qsizetype freeSpace(GrowsBackwardsTag) const noexcept { return this->freeSpaceAtBegin(); }
qsizetype freeSpace(GrowsForwardTag) const noexcept { return this->freeSpaceAtEnd(); }
// Tells how much of the given size to insert at the beginning of the
// container. This is insert-specific helper function
qsizetype sizeToInsertAtBegin(const T *const where, qsizetype maxSize)
{
Q_ASSERT(maxSize <= this->allocatedCapacity() - this->size);
Q_ASSERT(where >= this->begin() && where <= this->end()); // in range
const auto freeAtBegin = this->freeSpaceAtBegin();
const auto freeAtEnd = this->freeSpaceAtEnd();
// Idea: * if enough space on both sides, try to affect less elements
// * if enough space on one of the sides, use only that side
// * otherwise, split between front and back (worst case)
if (freeAtBegin >= maxSize && freeAtEnd >= maxSize) {
if (where - this->begin() < this->end() - where) {
return maxSize;
} else {
return 0;
}
} else if (freeAtBegin >= maxSize) {
return maxSize;
} else if (freeAtEnd >= maxSize) {
return 0;
} else {
return maxSize - freeAtEnd;
}
}
public:
// does the iterator point into this array?