このページでは

QVariant::ConstReference Class

template <typename Indirect> class QVariant::ConstReference

QVariant::ConstReference は、QVariant へのconst参照として機能します。詳細...

このクラスは Qt 6.11 で導入されました。

パブリック関数

ConstReference(Indirect &&referred)
ConstReference(QVariant::Reference<Indirect> &&nonConst)
ConstReference(const Indirect &referred)
ConstReference(const QVariant::Reference<Indirect> &nonConst)
ConstReference(const QVariant::ConstReference<Indirect> &)
ConstReference(QVariant::ConstReference<Indirect> &&)
~ConstReference()
operator QVariant() const
QVariant::ConstReference<Indirect> &operator=(QVariant::ConstReference<Indirect> &&value)
QVariant::ConstReference<Indirect> &operator=(const QVariant::ConstReference<Indirect> &value)

詳細な説明

ジェネリックイテレータは、各ステップで実際にQVariant をインスタンス化しないため、operator*() からそれへの参照を返すことはできません。QVariant::ConstReference<Indirect> は、QVariant への実際の参照と同じ機能を提供しますが、Indirect 型の参照値によって裏付けられています。 このテンプレートは、QMetaSequence::ConstIterator、QMetaSequence::Iterator、QMetaAssociation::ConstIterator、および QMetaAssociation::Iterator に対して実装されています。

メンバ関数のドキュメント

[explicit noexcept(...)] ConstReference::ConstReference(Indirect &&referred)

referred からQVariant::ConstReference を作成します。

注: std::is_nothrow_move_constructible_v<Indirect> がtrue の場合、この関数は noexcept です。

[implicit] ConstReference::ConstReference(QVariant::Reference<Indirect> &&nonConst)

nonConst 参照からQVariant::ConstReference を作成します。

[explicit noexcept(...)] ConstReference::ConstReference(const Indirect &referred)

referred からQVariant::ConstReference を作成します。

注: std::is_nothrow_copy_constructible_v<Indirect> がtrue の場合、この関数は noexcept です。

[noexcept(...)] ConstReference::ConstReference(const QVariant::Reference<Indirect> &nonConst)

nonConst の参照からQVariant::ConstReference を作成します。

注: std::is_nothrow_copy_constructible_v<Indirect> がtrue の場合、この関数は noexcept となります。

[noexcept(...) default] ConstReference::ConstReference(const QVariant::ConstReference<Indirect> &)

ConstReference のインスタンスをコピーコンストラクタで生成します。

注: std::is_nothrow_copy_constructible_v<Indirect> がtrue の場合、この関数はnoexceptとなります 。

[delete] ConstReference::ConstReference(QVariant::ConstReference<Indirect> &&)

ConstReference のインスタンスをMove-constructで生成します。この関数は削除されています。

[default] ConstReference::~ConstReference()

ConstReference のインスタンスを破棄します。

[noexcept(...)] ConstReference::operator QVariant() const

QVariant への参照を展開します。このメソッドは、各Indirect型ごとに特化させる必要があります。 このメソッドは、QMetaSequence::ConstIterator、QMetaSequence::Iterator、QMetaAssociation::ConstIterator、およびQMetaAssociation::Iteratorに対して事前定義されています。

注: Indirect::CanNoexceptConvertToQVariant がtrue の場合、この関数はnoexceptとなります 。

[delete] QVariant::ConstReference<Indirect> &ConstReference::operator=(QVariant::ConstReference<Indirect> &&value)

value をこのConstReference インスタンスに割り当てます。この関数は削除されます。

[delete] QVariant::ConstReference<Indirect> &ConstReference::operator=(const QVariant::ConstReference<Indirect> &value)

value をこのConstReference インスタンスにコピー代入します。この関数は削除されます。

© 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.