summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2014-03-06 10:39:53 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-28 13:05:56 +0100
commitd4a8a29e0b79143208451de8d7c42430cb28162b (patch)
treeb01fefbfa5da3f57797aaeb013218cdeb7e0986a /src
parentfb3577039ca89011748ed64ad3f807e009559407 (diff)
Reduce clang compilation time of tst_qmetatype by ~2%
Change-Id: I64fe12dd0bf9c35ae06fc5a68addc36848cdda3b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/kernel/qmetatype.h42
1 files changed, 7 insertions, 35 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index c468c0b45d..80567d6a71 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -939,10 +939,6 @@ public:
}
template<class T>
- static void advanceImpl(void **p, int step)
- { IteratorOwner<typename T::const_iterator>::advance(p, step); }
-
- template<class T>
static void moveToBeginImpl(const void *container, void **iterator)
{ IteratorOwner<typename T::const_iterator>::assign(iterator, static_cast<const T*>(container)->begin()); }
@@ -951,21 +947,9 @@ public:
{ IteratorOwner<typename T::const_iterator>::assign(iterator, static_cast<const T*>(container)->end()); }
template<class T>
- static void destroyIterImpl(void **iterator)
- { IteratorOwner<typename T::const_iterator>::destroy(iterator); }
-
- template<class T>
- static bool equalIterImpl(void * const *iterator, void * const *other)
- { return IteratorOwner<typename T::const_iterator>::equal(iterator, other); }
-
- template<class T>
static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags)
{ return VariantData(metaTypeId, IteratorOwner<typename T::const_iterator>::getData(iterator), flags); }
- template<class T>
- static void copyIterImpl(void **dest, void * const * src)
- { IteratorOwner<typename T::const_iterator>::assign(dest, src); }
-
public:
template<class T> QSequentialIterableImpl(const T*p)
: _iterable(p)
@@ -977,11 +961,11 @@ public:
, _at(atImpl<T>)
, _moveToBegin(moveToBeginImpl<T>)
, _moveToEnd(moveToEndImpl<T>)
- , _advance(advanceImpl<T>)
+ , _advance(IteratorOwner<typename T::const_iterator>::advance)
, _get(getImpl<T>)
- , _destroyIter(destroyIterImpl<T>)
- , _equalIter(equalIterImpl<T>)
- , _copyIter(copyIterImpl<T>)
+ , _destroyIter(IteratorOwner<typename T::const_iterator>::destroy)
+ , _equalIter(IteratorOwner<typename T::const_iterator>::equal)
+ , _copyIter(IteratorOwner<typename T::const_iterator>::assign)
{
}
@@ -1134,18 +1118,6 @@ public:
static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags)
{ return VariantData(metaTypeId, &AssociativeContainerAccessor<T>::getValue(*static_cast<typename T::const_iterator*>(*iterator)), flags); }
- template<class T>
- static void destroyIterImpl(void **iterator)
- { IteratorOwner<typename T::const_iterator>::destroy(iterator); }
-
- template<class T>
- static bool equalIterImpl(void * const *iterator, void * const *other)
- { return IteratorOwner<typename T::const_iterator>::equal(iterator, other); }
-
- template<class T>
- static void copyIterImpl(void **dest, void * const * src)
- { IteratorOwner<typename T::const_iterator>::assign(dest, src); }
-
public:
template<class T> QAssociativeIterableImpl(const T*p)
: _iterable(p)
@@ -1160,9 +1132,9 @@ public:
, _advance(advanceImpl<T>)
, _getKey(getKeyImpl<T>)
, _getValue(getValueImpl<T>)
- , _destroyIter(destroyIterImpl<T>)
- , _equalIter(equalIterImpl<T>)
- , _copyIter(copyIterImpl<T>)
+ , _destroyIter(IteratorOwner<typename T::const_iterator>::destroy)
+ , _equalIter(IteratorOwner<typename T::const_iterator>::equal)
+ , _copyIter(IteratorOwner<typename T::const_iterator>::assign)
{
}