このページでは

Reference Class

template <typename Referred> class QVariant::Reference

QVariant::Reference は、QVariant への nononst リファレンスとして動作します

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

パブリック関数

Reference(Referred &&referred)
Reference(const Referred &referred)
QVariant operator QVariant() const
QVariant::Reference<Referred> &operator=(QVariant::Reference<Referred> &&value)
QVariant::Reference<Referred> &operator=(const QVariant &value)
QVariant::Reference<Referred> &operator=(const QVariant::Reference<Referred> &value)

詳細な説明

ジェネリック・イテレータは、各ステップで実際にQVariant をインスタンス化しないので、operator*()からその参照を返すことはできません。QVariant::Reference は、QVariant への実際の参照と同じ機能を提供しますが、テンプレート・パラメータとして与えられた参照先の値を返します。このテンプレートはQMetaSequence::IteratorとQMetaAssociation::Iteratorに対して実装されています。

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

[explicit noexcept(...)] Reference::Reference(Referred &&referred)

referred からQVariant::Reference を作成する。

注: この関数は、std::is_nothrow_move_constructible_v<Referred>true の場合は noexcept となる。

[explicit noexcept(...)] Reference::Reference(const Referred &referred)

referred からQVariant::Reference を作成する。

注: この関数は、std::is_nothrow_copy_constructible_v<Referred>true の場合は noexcept となる。

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

QVariantデフォルトでは、これは一時的なQVariant::ConstReference をインスタンス化し、その参照を解除する。一時的なConstReference のインスタンス化にコストがかかる場合は、このメソッドを特殊化する必要があります。

注意: Referred::canNoexceptConvertToQVarianttrue の場合、この関数は noexcept となる。

[noexcept(...)] QVariant::Reference<Referred> &Reference::operator=(QVariant::Reference<Referred> &&value)

このQVariant::Reference が参照する値に新しいvalue を割り当てる。

注: この関数は、Referred::canNoexceptAssignQVarianttrue の場合は noexcept となる。

[noexcept(...)] QVariant::Reference<Referred> &Reference::operator=(const QVariant &value)

このQVariant::Reference によって参照される値に新しいvalue を割り当てる。このメソッドは各Referred型に特化する必要があります。QMetaSequence::IteratorとQMetaAssociation::Iteratorのためにあらかじめ定義されています。

注意: Referred::canNoexceptAssignQVarianttrue の場合、この関数は noexcept となります。

[noexcept(...)] QVariant::Reference<Referred> &Reference::operator=(const QVariant::Reference<Referred> &value)

このQVariant::Reference が参照する値に新しいvalue を割り当てる。

注: この関数は、Referred::canNoexceptAssignQVarianttrue の場合は noexcept となる。

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