40 #ifndef QASSOCIATIVEITERABLE_H
41 #define QASSOCIATIVEITERABLE_H
43 #include <QtCore/qiterable.h>
44 #include <QtCore/qvariant.h>
119 template<
typename Po
inter>
128 :
QIterable(metaAssociation, metaType.alignOf(), iterable)
134 const void *iterable)
135 :
QIterable(metaAssociation, metaType.alignOf(), iterable)
143 QIterable::operator=(std::move(
other));
171 if (m_pointer ==
nullptr)
174 const auto metaAssociation = m_pointer->metaContainer();
175 const QMetaType metaType(metaAssociation.mappedMetaType());
177 return m_pointer->key();
180 metaAssociation.mappedAtIterator(m_pointer->constIterator(),
181 metaType == QMetaType::fromType<QVariant>() ? &
v :
v.data());
189 if (m_pointer ==
nullptr)
192 const auto metaAssociation = m_pointer->metaContainer();
193 const QMetaType metaType(metaAssociation.mappedMetaType());
196 metaAssociation.setMappedAtIterator(m_pointer->constIterator(),
QAssociativeConstIterator(QConstIterator &&it)
The QAssociativeIterable class is an iterable interface for an associative container in a QVariant.
QAssociativeIterable(const T *p)
const_iterator begin() const
QAssociativeIterable(T *p)
QAssociativeIterable(const QMetaAssociation &metaAssociation, const QMetaType &metaType, const void *iterable)
const_iterator constBegin() const
const_iterator constFind(const QVariant &key) const
QAssociativeIterable(QIterable< QMetaAssociation > &&other)
const_iterator constEnd() const
const_iterator end() const
QAssociativeIterable & operator=(QIterable< QMetaAssociation > &&other)
QAssociativeIterable(const QMetaAssociation &metaAssociation, const QMetaType &metaType, void *iterable)
QAssociativeIterable(const QMetaAssociation &metaAssociation, Pointer iterable)
QAssociativeIterator(QIterator &&it)
QIterable is a template class that is the base class for QSequentialIterable and QAssociativeIterable...
QConstIterator< Container > constBegin() const
QIterator< Container > mutableEnd()
QIterator< Container > mutableBegin()
QConstIterator< Container > constEnd() const
QTaggedIterator is a template class that wraps an iterator and exposes standard iterator traits.
Emulated const pointer to QVariant based on a pointer.
The QVariant class acts like a union for the most common Qt data types.
QVariantPointer is a template class that emulates a pointer to QVariant based on a pointer.
The QVariantRef acts as a non-const reference to a QVariant.
QVariantRef & operator=(const QVariant &value)
const void * coerce(const QVariant &value, const QMetaType &type)
typename C::const_iterator const_iterator
typename C::iterator iterator
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > mapped(QThreadPool *pool, Sequence &&sequence, MapFunctor &&map)
Q_DECLARE_TYPEINFO(QAssociativeIterable, Q_RELOCATABLE_TYPE)
constexpr timespec operator*(const timespec &t1, int mul)
EGLOutputLayerEXT EGLint EGLAttrib value
GLsizei const GLfloat * v
[13]
header setValue("Host", "qt-project.org")
The QConstIterator allows iteration over a container in a QVariant.
The QIterator is a template class that allows iteration over a container in a QVariant.
QDomElement find(const QString &tagName, const QDomElement &e)