From d4a8a29e0b79143208451de8d7c42430cb28162b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Thu, 6 Mar 2014 10:39:53 +0100 Subject: Reduce clang compilation time of tst_qmetatype by ~2% Change-Id: I64fe12dd0bf9c35ae06fc5a68addc36848cdda3b Reviewed-by: Stephen Kelly --- src/corelib/kernel/qmetatype.h | 42 +++++++----------------------------------- 1 file 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 @@ -938,10 +938,6 @@ public: return IteratorOwner::getData(i); } - template - static void advanceImpl(void **p, int step) - { IteratorOwner::advance(p, step); } - template static void moveToBeginImpl(const void *container, void **iterator) { IteratorOwner::assign(iterator, static_cast(container)->begin()); } @@ -950,22 +946,10 @@ public: static void moveToEndImpl(const void *container, void **iterator) { IteratorOwner::assign(iterator, static_cast(container)->end()); } - template - static void destroyIterImpl(void **iterator) - { IteratorOwner::destroy(iterator); } - - template - static bool equalIterImpl(void * const *iterator, void * const *other) - { return IteratorOwner::equal(iterator, other); } - template static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags) { return VariantData(metaTypeId, IteratorOwner::getData(iterator), flags); } - template - static void copyIterImpl(void **dest, void * const * src) - { IteratorOwner::assign(dest, src); } - public: template QSequentialIterableImpl(const T*p) : _iterable(p) @@ -977,11 +961,11 @@ public: , _at(atImpl) , _moveToBegin(moveToBeginImpl) , _moveToEnd(moveToEndImpl) - , _advance(advanceImpl) + , _advance(IteratorOwner::advance) , _get(getImpl) - , _destroyIter(destroyIterImpl) - , _equalIter(equalIterImpl) - , _copyIter(copyIterImpl) + , _destroyIter(IteratorOwner::destroy) + , _equalIter(IteratorOwner::equal) + , _copyIter(IteratorOwner::assign) { } @@ -1134,18 +1118,6 @@ public: static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags) { return VariantData(metaTypeId, &AssociativeContainerAccessor::getValue(*static_cast(*iterator)), flags); } - template - static void destroyIterImpl(void **iterator) - { IteratorOwner::destroy(iterator); } - - template - static bool equalIterImpl(void * const *iterator, void * const *other) - { return IteratorOwner::equal(iterator, other); } - - template - static void copyIterImpl(void **dest, void * const * src) - { IteratorOwner::assign(dest, src); } - public: template QAssociativeIterableImpl(const T*p) : _iterable(p) @@ -1160,9 +1132,9 @@ public: , _advance(advanceImpl) , _getKey(getKeyImpl) , _getValue(getValueImpl) - , _destroyIter(destroyIterImpl) - , _equalIter(equalIterImpl) - , _copyIter(copyIterImpl) + , _destroyIter(IteratorOwner::destroy) + , _equalIter(IteratorOwner::equal) + , _copyIter(IteratorOwner::assign) { } -- cgit v1.2.3