iterator Class
class QJsonObject::iteratorQJsonObject::iterator クラスは、QJsonObject 用の STL スタイルの非 const イテレータを提供します。さらに...
- 継承メンバを含む全メンバのリスト
- iterator はQt の JSON Support の一部です。
このクラスは強く比較可能です。
このクラスは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_iterator 、Qtの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 の要素に適用されます。
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)
lhs がrhs イテレータと同じ項目を指している場合は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
を返し、そうでない場合は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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。