QVariant::Reference Class
template <typename Indirect> class QVariant::ReferenceQVariant::Reference は、QVariant への nononst リファレンスとして動作します。
このクラスは Qt 6.11 で導入されました。
パブリック関数
| Reference(Indirect &&referred) | |
| Reference(const Indirect &referred) | |
| operator QVariant() const | |
| QVariant::Reference<Indirect> & | operator=(QVariant::ConstReference<Indirect> &&value) |
| QVariant::Reference<Indirect> & | operator=(QVariant::Reference<Indirect> &&value) |
| QVariant::Reference<Indirect> & | operator=(const QVariant &value) |
| QVariant::Reference<Indirect> & | operator=(const QVariant::ConstReference<Indirect> &value) |
| QVariant::Reference<Indirect> & | operator=(const QVariant::Reference<Indirect> &value) |
詳細な説明
ジェネリック・イテレータは、各ステップで実際にQVariant をインスタンス化しないので、operator*()からその参照を返すことはできません。QVariant::Reference は、QVariant への実際の参照と同じ機能を提供しますが、テンプレート・パラメータとして与えられた参照先の値を返します。このテンプレートはQMetaSequence::IteratorとQMetaAssociation::Iteratorに対して実装されています。
メンバ関数のドキュメント
[explicit noexcept(...)] Reference::Reference(Indirect &&referred)
referred からQVariant::Reference を作成する。
注: この関数は、std::is_nothrow_move_constructible_v<Indirect> がtrue の場合は noexcept となる。
[explicit noexcept(...)] Reference::Reference(const Indirect &referred)
referred からQVariant::Reference を作成する。
注: この関数は、std::is_nothrow_copy_constructible_v<Indirect> がtrue の場合は noexcept となる。
[noexcept(...)] Reference::operator QVariant() const
QVariantデフォルトでは、これは一時的なQVariant::ConstReference をインスタンス化し、その参照を解除する。一時的なConstReference のインスタンス化にコストがかかる場合は、このメソッドを特殊化する必要があります。
注意: Indirect::CanNoexceptConvertToQVariant がtrue の場合、この関数は noexcept となる。
[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(QVariant::ConstReference<Indirect> &&value)
このQVariant::Reference が参照する値に新しいvalue を割り当てる。
注: この関数は、Indirect::CanNoexceptAssignQVariant がtrue の場合は noexcept となる。
[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(QVariant::Reference<Indirect> &&value)
このQVariant::Reference が参照する値に新しいvalue を割り当てる。
注: この関数は、Indirect::CanNoexceptAssignQVariant がtrue の場合は noexcept となる。
[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant &value)
このQVariant::Reference が参照する値に新しいvalue を割り当てる。このメソッドは各Indirect型に特化する必要がある。QMetaSequence::IteratorとQMetaAssociation::Iteratorでは定義済みです。
注意: Indirect::CanNoexceptAssignQVariant がtrue の場合、この関数は noexcept となります。
[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant::ConstReference<Indirect> &value)
このQVariant::Reference が参照する値に新しいvalue を割り当てる。
注: この関数は、Indirect::CanNoexceptAssignQVariant がtrue の場合は noexcept となる。
[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant::Reference<Indirect> &value)
このQVariant::Reference が参照する値に新しいvalue を割り当てる。
注: この関数は、Indirect::CanNoexceptAssignQVariant がtrue の場合は 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.