QKeyValueIterator Class
template <typename Key, typename T, typename Iterator, typename Traits> class QKeyValueIterator連想コンテナのキー/値ペアを順に処理するイテレータ。詳細...
| ヘッダー: | #include <QKeyValueIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
パブリック関数
| QKeyValueIterator() | |
| QKeyValueIterator(Iterator o) | |
| Iterator | base() const |
| std::pair<Key, T> | operator*() const |
| QKeyValueIterator<Key, T, Iterator, Traits> & | operator++() |
| QKeyValueIterator<Key, T, Iterator, Traits> | operator++(int) |
| QKeyValueIterator<Key, T, Iterator, Traits> & | operator--() |
| QKeyValueIterator<Key, T, Iterator, Traits> | operator--(int) |
| QKeyValueIterator<Key, T, Iterator, Traits>::pointer | operator->() const |
関連する非メンバー
| bool | operator!=(QKeyValueIterator<Key, T, Iterator, Traits> lhs, QKeyValueIterator<Key, T, Iterator, Traits> rhs) |
| bool | operator==(QKeyValueIterator<Key, T, Iterator, Traits> lhs, QKeyValueIterator<Key, T, Iterator, Traits> rhs) |
詳細な説明
QKeyValueIterator クラスは、QHash やQMap などの連想コンテナからキー/値のペアを返すための、STL スタイルのイテレータを提供します。テンプレートパラメータKey はキーの型を指定し、T は値の型を指定し、Iterator は基になるイテレータの型であり、Traits はイテレータの特性を指定します。 これは、STLの連想コンテナと同じAPI、すなわちコンテナを反復処理する際にキー/値のペアを取得する機能をサポートしています。
これにより、QMap 、QHash および関連コンテナと、STL スタイルのアルゴリズムとの相互運用性が向上します。
警告: 暗黙的に共有されるコンテナ上のイテレータは 、STL イテレータとまったく同じように動作するわけではありません。イテレータがそのコンテナ上でアクティブな間は、コンテナのコピーを避けるべきです。詳細については、「暗黙的な共有によるイテレータの問題」を参照してください。
メンバ関数のドキュメント
[default] QKeyValueIterator::QKeyValueIterator()
デフォルトの QKeyValueIterator を生成します。
[explicit constexpr noexcept(...)] QKeyValueIterator::QKeyValueIterator(Iterator o)
o に基づいて QKeyValueIterator を生成します。
注: std::is_nothrow_move_constructible<Iterator>::value がtrue である場合、この関数はnoexceptとなります 。
Iterator QKeyValueIterator::base() const
QKeyValueIterator の基となるイテレータを返します。
std::pair<Key, T> QKeyValueIterator::operator*() const
現在のエントリをタプルとして返します。
QKeyValueIterator<Key, T, Iterator, Traits> &QKeyValueIterator::operator++()
++ 演算子(++i )は、イテレータをコンテナ内の次の要素の位置に進め、そのイテレータを返します。
注: イテレータをコンテナのend()を超える位置まで進めることは 、未定義の挙動となります。
operator--()も参照してください 。
QKeyValueIterator<Key, T, Iterator, Traits> QKeyValueIterator::operator++(int)
後置演算子 `++ `(i++ )は、イテレータをコンテナ内の次の要素へと進め、イテレータの直前の値を返します。
注: イテレータをコンテナのend()を超えて進めることは 、未定義の挙動となります。
これはオーバーロードされた関数です。
QKeyValueIterator<Key, T, Iterator, Traits> &QKeyValueIterator::operator--()
接頭辞 c{–} 演算子(--i )は、イテレータをコンテナ内の前の要素まで戻し、そのイテレータを返します。
注: イテレータをコンテナの`begin()`の位置より前に戻すことは 、未定義の挙動となります。
operator++()も参照してください 。
QKeyValueIterator<Key, T, Iterator, Traits> QKeyValueIterator::operator--(int)
後置演算子 c{–}(i-- )は、イテレータをコンテナ内の前の要素まで戻し、そのイテレータの以前の値を返します。
注: イテレータをコンテナのbegin()より前の位置まで戻すことは 、未定義の挙動となります。
これはオーバーロードされた関数です。
QKeyValueIterator<Key, T, Iterator, Traits>::pointer QKeyValueIterator::operator->() const
現在のエントリを、ペアへのポインタのようなオブジェクトとして返します。
operator*()も参照してください 。
関連する非メンバー関数
[noexcept] bool operator!=(QKeyValueIterator<Key, T, Iterator, Traits> lhs, QKeyValueIterator<Key, T, Iterator, Traits> rhs)
rhs がlhs とは異なる項目を指している場合はtrue を返し、そうでない場合はfalse を返します。
operator==()も参照してください 。
[noexcept] bool operator==(QKeyValueIterator<Key, T, Iterator, Traits> lhs, QKeyValueIterator<Key, T, Iterator, Traits> rhs)
rhs がlhs と同じ項目を指している場合はtrue を返し、そうでない場合はfalse を返します。
operator!=()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.