iterator Class

class QJsonObject::iterator

QJsonObject::iterator クラスは、QJsonObject 用の STL スタイルの非 const イテレータを提供します。さらに...

このクラスは強く比較可能です。

このクラスはQJsonObject::const_iterator強く比較可能です。

パブリック・タイプ

パブリック関数

iterator()
QString key() const
QJsonValueRef value() const
QJsonValueRef operator*() const
QJsonObject::iterator operator+(qsizetype j) const
QJsonObject::iterator &operator++()
QJsonObject::iterator operator++(int)
QJsonObject::iterator &operator+=(qsizetype j)
qsizetype operator-(QJsonObject::iterator other) const
QJsonObject::iterator operator-(qsizetype j) const
QJsonObject::iterator &operator--()
QJsonObject::iterator operator--(int)
QJsonObject::iterator &operator-=(qsizetype j)
QJsonValueRef *operator->()
const QJsonValueConstRef *operator->() const
QJsonValueRef operator[](qsizetype j) const
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

詳細説明

QJsonObject::iterator を使用すると、 を繰り返し処理したり、特定のキーの下に格納されている値 (キーではない) を変更したりできます。const を繰り返し処理したい場合は、 を使用する必要があります。イテレータを使用して を変更する必要がない限り、const 以外に を使用するのが一般的です。const イテレータのほうが若干高速で、コードの可読性も向上します。QJsonObject QJsonObject QJsonObject::const_iterator QJsonObject QJsonObject QJsonObject::const_iterator

デフォルトのQJsonObject::iterator コンストラクタは、初期化されていないイテレータを作成します。QJsonObject::begin ()、QJsonObject::end ()、QJsonObject::find ()のようなQJsonObject 関数を使用して初期化しなければなりません。

同じオブジェクトに複数のイテレータを使用することができます。ただし、オブジェクトが変更されると、既存のイテレータはぶら下がった状態になります。

QJsonObject::const_iteratorQtのJSONサポートゲームの保存と読み込みも参照してください

メンバ型のドキュメント

iterator::iterator_category

std::random_access_iterator_tagのシノニムで、このイテレータがランダムアクセスイテレータであることを示す。

注意: Qt 5.6 より前のバージョンでは、誤ってstd::bidirectional_iterator_tag に設定されていました。

メンバ関数の説明

iterator::iterator()

初期化されていないイテレータを構築します。

key(),value(), operator++() のような関数は、初期化されていないイテレータに対して呼んではいけません。operator=() を使用して値を代入してから使用してください。

QJsonObject::begin() およびQJsonObject::end()も参照してください

QString iterator::key() const

現在の項目のキーを返します。

アイテムのキーをイテレータで直接変更する方法はありませんが、QJsonObject::erase() の後にQJsonObject::insert() を呼び出すことで変更できます。

value()も参照

QJsonValueRef iterator::value() const

現在の項目の値への変更可能な参照を返します。

項目の値を変更するには、代入の左辺で value() を使用します。

戻り値は、QJsonArray およびQJsonObject のヘルパー・クラスであるQJsonValueRef 型です。QJsonValueRef 型のオブジェクトを取得すると、それをQJsonValue への参照であるかのように使用できます。これに代入すると、その代入は、参照を取得したQJsonArray またはQJsonObject の要素に適用されます。

key() およびoperator*()も参照

QJsonValueRef iterator::operator*() const

現在の項目の値への変更可能な参照を返します。

value() と同じ。

返り値は、QJsonArray およびQJsonObject のヘルパー・クラスであるQJsonValueRef 型です。QJsonValueRef 型のオブジェクトを取得すると、それをQJsonValue への参照であるかのように使用できます。これに代入すると、その代入は、参照を取得したQJsonArray またはQJsonObject の要素に適用されます。

key()も参照

QJsonObject::iterator iterator::operator+(qsizetype j) const

このイテレータからj 前方の位置の項目へのイテレータを返します。j が負の場合、イテレータは後方に進みます。

operator-() も参照

QJsonObject::iterator &iterator::operator++()

前置演算子++ ++i は、イテレータをオブジェクトの次の項目に進め、新しい現在の項目へのイテレータを返します。

この関数をQJsonObject::end() で呼び出すと、未定義の結果になります。

operator--()も参照してください

QJsonObject::iterator iterator::operator++(int)

これはオーバーロードされた関数です。

++ の後置演算子i++ は、イテレータをオブジェクト内の次の項目に進め、それ以前の現在の項目へのイテレータを返します。

QJsonObject::iterator &iterator::operator+=(qsizetype j)

イテレータをj アイテム分進めます。j が負の場合、イテレータは後方に進みます。

operator-=() およびoperator+()も参照

qsizetype iterator::operator-(QJsonObject::iterator other) const

other が指す項目とこのイテレータが指す項目との間の項目数を返します。

QJsonObject::iterator iterator::operator-(qsizetype j) const

このイテレータから後方にj の位置にある項目へのイテレータを返します。j が負の場合、イテレータは前方に進む。

operator+()も参照

QJsonObject::iterator &iterator::operator--()

-- の前置演算子--i は、直前の項目を現在の項目にし、新しい現在の項目を指すイテレータを返します。

この関数をQJsonObject::begin() で呼び出すと、未定義の結果になります。

operator++()も参照

QJsonObject::iterator iterator::operator--(int)

これはオーバーロードされた関数です。

-- の後置演算子i-- は、直前の項目を現在の項目にし、直前の現在の項目を指すイテレータを返します。

QJsonObject::iterator &iterator::operator-=(qsizetype j)

イテレータをj アイテム分遡らせます。j が負の場合、イテレータは前に進みます。

operator+=() およびoperator-()も参照

QJsonValueRef *iterator::operator->()

現在の項目への変更可能な参照へのポインタを返します。

const QJsonValueConstRef *iterator::operator->() const

現在の項目への定数参照へのポインタを返します。

QJsonValueRef iterator::operator[](qsizetype j) const

このイテレータが指す項目(位置*this + j の項目)からオフセットj にある項目への変更可能な参照を返す。

この関数は、QJsonObject イテレータを C++ ポインタのように動作させるために用意されています。

戻り値は、QJsonArray およびQJsonObject のヘルパー・クラスであるQJsonValueRef 型です。QJsonValueRef 型のオブジェクトを取得すると、それをあたかもQJsonValue への参照であるかのように使用できます。これに代入すると、その代入は、参照を取得したQJsonArray またはQJsonObject の要素に適用されます。

operator+()も参照

関連する非メンバー

[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhsrhs イテレータと同じ項目を指している場合はtrue を返し、そうでない場合はfalse を返します。

operator!=() も参照

[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhsrhs イテレータと異なる項目を指している場合はtrue を返し、そうでない場合はfalse を返す。

operator==()も参照

[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhs イテレータが指す項目がrhs イテレータが指す項目より小さい場合はtrue を返す。

[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhs イテレータが指す項目がrhs イテレータが指す項目以下である場合、true を返す。

[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhs イテレータが指すアイテムがrhs イテレータが指すアイテムより大きければtrue を返す。

[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

lhs イテレータが指すアイテムが、rhs イテレータが指すアイテム以上である場合、true を返す。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。