QTaggedIterator Class
template <typename Iterator, typename IteratorCategory> class QTaggedIteratorQTaggedIterator はイテレータをラップし、標準的なイテレータの特徴を公開するテンプレート・クラスです。詳細...
Header: | #include <QTaggedIterator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Since: | Qt 6.0 |
パブリック関数
QTaggedIterator(Iterator &&it) | |
bool | operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const |
QTaggedIterator<Iterator, IteratorCategory> | operator+(qsizetype j) const |
QTaggedIterator<Iterator, IteratorCategory> & | operator++() |
QTaggedIterator<Iterator, IteratorCategory> | operator++(int x) |
QTaggedIterator<Iterator, IteratorCategory> & | operator+=(qsizetype j) |
qsizetype | operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const |
QTaggedIterator<Iterator, IteratorCategory> | operator-(qsizetype j) const |
QTaggedIterator<Iterator, IteratorCategory> & | operator--() |
QTaggedIterator<Iterator, IteratorCategory> | operator--(int x) |
QTaggedIterator<Iterator, IteratorCategory> & | operator-=(qsizetype j) |
bool | operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const |
関連する非メンバー
QTaggedIterator<Iterator, IteratorCategory> | operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k) |
詳細説明
イテレータを標準的なアルゴリズムで使用するには、そのイテレータの特性を知っている必要があります。QSequentialIterable はさまざまな種類のコンテナで動作するため、イテレータ・クラス自体で特性を宣言することはできません。QTaggedIterator は、イテレータの具体的なインスタンスまたはQConstIterator の特性を明示的に宣言する方法を提供します。
メンバ関数のドキュメント
QTaggedIterator::QTaggedIterator(Iterator &&it)
イテレータまたはQConstIterator it から QTaggedIterator を構築します。テンプレート引数として渡された IteratorCategory がit のランタイム機能と一致するかどうかをチェックする。一致しない場合、it は拒否される。
bool QTaggedIterator::operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const
other がこのイテレータとは異なる項目を指している場合はtrue
を返し、そうでない場合はfalse
を返します。
operator==()も参照のこと 。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator+(qsizetype j) const
このイテレータからj 前方の位置の項目へのイテレータを返します。
operator-() およびoperator+=()も参照 。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator++()
前置演算子++
(++it
) は、コンテナ内の次のアイテムにイテレータを進め、新しい現在のアイテムへのイテレータを返します。
QSequentialIterable::end() でこの関数を呼び出すと、未定義の結果になります。
operator--()も参照してください 。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator++(int x)
これはオーバーロードされた関数です。
postfix++
演算子 (it++
) は、コンテナ内の次の項目にイテレータを進め、それ以前の現在の項目へのイテレータを返します。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator+=(qsizetype j)
イテレータをj アイテム分進めます。
operator-=() およびoperator+()も参照 。
qsizetype QTaggedIterator::operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const
このイテレータとj との間の距離を返します。
operator+()、operator-=() およびQIterable::canReverseIterate()も参照 。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator-(qsizetype j) const
このイテレータから後方j の位置にある項目へのイテレータを返します。
QVariant のコンテナが双方向反復をサポートしていない場合、この関数を呼び出すと未定義の結果になります。
operator+()、operator-=()、QIterable::canReverseIterate()も参照 。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator--()
前置演算子--
(--it
) は、直前の項目を現在の項目にし、新しい現在の項目へのイテレータを返します。
この関数を QSequentialIterable::begin() で呼び出すと、未定義の結果になります。
QVariant のコンテナが双方向反復をサポートしていない場合、この関数を呼び出すと未定義の結果になります。
operator++() およびQIterable::canReverseIterate()も参照 。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator--(int x)
これはオーバーロードされた関数である。
postfix--
演算子(it--
)は、直前の項目をカレントにし、その前の項目へのイテレータを返します。
QVariant のコンテナが双方向反復をサポートしていない場合、この関数を呼び出すと未定義の結果になります。
QIterable::canReverseIterate()も参照のこと 。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator-=(qsizetype j)
イテレータをj アイテム分遡らせる。
QVariant のコンテナが双方向反復をサポートしていない場合、この関数を呼び出すと未定義の結果になります。
operator+=()、operator-()、QIterable::canReverseIterate()も参照 。
bool QTaggedIterator::operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const
other がこのイテレータと同じ項目を指している場合はtrue
を返し、そうでない場合はfalse
を返す。
operator!=()も参照 。
関連する非メンバ
QTaggedIterator<Iterator, IteratorCategory> operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k)
イテレータk からj 進んだ位置の項目へのイテレータを返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。