QSequentialIterable Class▲
-
Header: QSequentialIterable
-
Since: Qt 5.2
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
-
qmake: QT += core
-
Inherits: QIterable
Detailed Description▲
This class allows several methods of accessing the values of a container held within a QVariant. An instance of QSequentialIterable can be extracted from a QVariant if it can be converted to a QVariantList.
QList&
lt;int
&
gt; intList =
{
7
, 11
, 42
}
;
QVariant variant =
QVariant::
fromValue(intList);
if
(variant.canConvert&
lt;QVariantList&
gt;()) {
QSequentialIterable iterable =
variant.value&
lt;QSequentialIterable&
gt;();
// Can use foreach:
foreach (const
QVariant &
amp;v, iterable) {
qDebug() &
lt;&
lt; v;
}
// Can use C++11 range-for:
for
(const
QVariant &
amp;v : iterable) {
qDebug() &
lt;&
lt; v;
}
// Can use iterators:
QSequentialIterable::
const_iterator it =
iterable.begin();
const
QSequentialIterable::
const_iterator end =
iterable.end();
for
( ; it !=
end; ++
it) {
qDebug() &
lt;&
lt; *
it;
}
}
The container itself is not copied before iterating over it.
See Also▲
See also QVariant
Member Type Documentation▲
[alias] QSequentialIterable::BidirectionalConstIterator▲
Exposes a const_iterator using std::bidirectional_iterator_tag.
[alias] QSequentialIterable::BidirectionalIterator▲
Exposes an iterator using std::bidirectional_iterator_tag.
[alias] QSequentialIterable::ForwardConstIterator▲
Exposes a const_iterator using std::forward_iterator_tag.
[alias] QSequentialIterable::ForwardIterator▲
Exposes an iterator using std::forward_iterator_tag.
[alias] QSequentialIterable::InputConstIterator▲
Exposes a const_iterator using std::input_iterator_tag.
[alias] QSequentialIterable::InputIterator▲
Exposes an iterator using std::input_iterator_tag.
[alias] QSequentialIterable::RandomAccessConstIterator▲
Exposes a const_iterator using std::random_access_iterator_tag.
[alias] QSequentialIterable::RandomAccessIterator▲
Exposes an iterator using std::random_access_iterator_tag.
[alias] QSequentialIterable::const_iterator▲
The QSequentialIterable::const_iterator allows iteration over a container in a QVariant.
A QSequentialIterable::const_iterator can only be created by a QSequentialIterable instance, and can be used in a way similar to other stl-style iterators.
QList&
lt;int
&
gt; intList =
{
7
, 11
, 42
}
;
QVariant variant =
QVariant::
fromValue(intList);
if
(variant.canConvert&
lt;QVariantList&
gt;()) {
QSequentialIterable iterable =
variant.value&
lt;QSequentialIterable&
gt;();
// Can use foreach:
foreach (const
QVariant &
amp;v, iterable) {
qDebug() &
lt;&
lt; v;
}
// Can use C++11 range-for:
for
(const
QVariant &
amp;v : iterable) {
qDebug() &
lt;&
lt; v;
}
// Can use iterators:
QSequentialIterable::
const_iterator it =
iterable.begin();
const
QSequentialIterable::
const_iterator end =
iterable.end();
for
( ; it !=
end; ++
it) {
qDebug() &
lt;&
lt; *
it;
}
}
[alias, since 6.0] QSequentialIterable::iterator▲
The QSequentialIterable::iterator allows iteration over a container in a QVariant.
A QSequentialIterable::iterator can only be created by a QSequentialIterable instance, and can be used in a way similar to other stl-style iterators.
This typedef was introduced in Qt 6.0.
Member Function Documentation▲
void QSequentialIterable::addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified)▲
Adds value to the container, at position, if possible.
QVariant QSequentialIterable::at(qsizetype idx) const▲
Returns the value at position idx in the container.
void QSequentialIterable::removeValue(QSequentialIterable::Position position = Unspecified)▲
Removes a value from the container, at position, if possible.
void QSequentialIterable::set(qsizetype idx, const QVariant &value)▲
Sets the element at position idx in the container to value.