diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-07-06 23:09:05 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-08-24 00:17:04 +0200 |
commit | 6d95ffe996288796d53b64702409bbfab29cea67 (patch) | |
tree | 4caa97ac58880beff7a317e5d9307ea6525b8678 /src/corelib/kernel | |
parent | 804cb94da9a299118300c215a4d7445faa6236c3 (diff) |
Cleanups in QSequentialIterable
Remove the old revision of the interface, this is not
required with Qt 6 anymore, as everything is being
recompiled anyway.
Change-Id: I66070c4dc6b5e2a6d22f5a9ebea7688ed38333fe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index fb4a1989a6..e404855860 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -864,8 +864,7 @@ struct ContainerAPI<std::list<T> > : CapabilitiesImpl<std::list<T> > { static int size(const std::list<T> *t) { return int(t->size()); } }; /* - revision 0: _iteratorCapabilities is simply a uint, where the bits at _revision were never set - revision 1: _iteratorCapabilties is treated as a bitfield, the remaining bits are used to introduce + revision 0: _iteratorCapabilties is treated as a bitfield, the remaining bits are used to introduce _revision, _containerCapabilities and _unused. The latter contains 21 bits that are not used yet */ @@ -884,9 +883,8 @@ public: // uint _unused:21; typedef int(*sizeFunc)(const void *p); typedef const void * (*atFunc)(const void *p, int); - typedef void (*moveIteratorFunc)(const void *p, void **); enum Position { ToBegin, ToEnd }; - typedef void (*moveIteratorFunc2)(const void *p, void **, Position position); + typedef void (*moveIteratorFunc)(const void *p, void **, Position position); typedef void (*advanceFunc)(void **p, int); typedef VariantData (*getFunc)( void * const *p, int metaTypeId, uint flags); typedef void (*destroyIterFunc)(void **p); @@ -900,14 +898,8 @@ public: sizeFunc _size; atFunc _at; - union { - moveIteratorFunc _moveToBegin; - moveIteratorFunc2 _moveTo; - }; - union { - moveIteratorFunc _moveToEnd; - appendFunction _append; - }; + moveIteratorFunc _moveTo; + appendFunction _append; advanceFunc _advance; getFunc _get; destroyIterFunc _destroyIter; @@ -953,7 +945,7 @@ public: , _iterator(nullptr) , _metaType_id(qMetaTypeId<typename T::value_type>()) , _metaType_flags(QTypeInfo<typename T::value_type>::isPointer) - , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3))) + , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (0 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3))) , _size(sizeImpl<T>) , _at(atImpl<T>) , _moveTo(moveToImpl<T>) @@ -971,11 +963,11 @@ public: , _iterator(nullptr) , _metaType_id(QMetaType::UnknownType) , _metaType_flags(0) - , _iteratorCapabilities(0 | (1 << 4) ) // no iterator capabilities, revision 1 + , _iteratorCapabilities(0 | (0 << 4) ) // no iterator capabilities, revision 0 , _size(nullptr) , _at(nullptr) - , _moveToBegin(nullptr) - , _moveToEnd(nullptr) + , _moveTo(nullptr) + , _append(nullptr) , _advance(nullptr) , _get(nullptr) , _destroyIter(nullptr) @@ -985,16 +977,10 @@ public: } inline void moveToBegin() { - if (revision() == 0) - _moveToBegin(_iterable, &_iterator); - else - _moveTo(_iterable, &_iterator, ToBegin); + _moveTo(_iterable, &_iterator, ToBegin); } inline void moveToEnd() { - if (revision() == 0) - _moveToEnd(_iterable, &_iterator); - else - _moveTo(_iterable, &_iterator, ToEnd); + _moveTo(_iterable, &_iterator, ToEnd); } inline bool equal(const QSequentialIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } inline QSequentialIterableImpl &advance(int i) { |