QMqttTopicFilter Class
QMqttTopicFilter クラスは、MQTT トピック・フィルタを表します。詳細...
ヘッダー | #include <QMqttTopicFilter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Mqtt) target_link_libraries(mytarget PRIVATE Qt6::Mqtt) |
qmake: | QT += mqtt |
- 継承メンバを含む全メンバ一覧
- QMqttTopicFilterは暗黙の共有クラスに属しています。
注意:このクラスの関数はすべてリエントラントです。
パブリック・タイプ
enum | MatchOption { NoMatchOption, WildcardsDontMatchDollarTopicMatchOption } |
flags | MatchOptions |
パブリック関数
QMqttTopicFilter(const QLatin1String &filter) | |
QMqttTopicFilter(const QString &filter = QString()) | |
QMqttTopicFilter(const QMqttTopicFilter &filter) | |
~QMqttTopicFilter() | |
QString | filter() const |
bool | isValid() const |
bool | match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const |
void | setFilter(const QString &filter) |
QString | sharedSubscriptionName() const |
void | swap(QMqttTopicFilter &other) |
QMqttTopicFilter & | operator=(const QMqttTopicFilter &filter) |
関連する非メンバ
bool | operator!=(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs) |
bool | operator<(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs) |
QDataStream & | operator<<(QDataStream &out, const QMqttTopicFilter &filter) |
bool | operator==(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs) |
QDataStream & | operator>>(QDataStream &in, QMqttTopicFilter &filter) |
詳細説明
QMqttTopicFilter は、MQTT トピック・フィルタのための表現力豊かなデータ型を提供するQString の薄いラッパーです。意図しない誤用を防ぐ強力な型を持つ利点の他に、QMqttTopicFilter はisValid() やmatch() のようなトピックフィルタに関連する便利な関数を提供します。
例えば、以下のコードはコンパイルに失敗し、2つのフィルタの意図しない無意味なマッチングを防ぐことができます:
QMqttTopicFilter globalFilter{"foo/#"}; QMqttTopicFilter specificFilter{"foo/bar"}; if (globalFilter.match(specificFilter)) { //... }
しかし、次のスニペットは期待通りにコンパイルされ、実行されるので、使い勝手には影響しません:
QMqttTopicFilter globalFilter{"foo/#"}; if (globalFilter.match("foo/bar")) { //... }
QMqttTopicNameも参照して ください。
メンバ型のドキュメント
enum QMqttTopicFilter::MatchOption
flags QMqttTopicFilter::MatchOptions
この enum 値は、トピックフィルタのマッチオプションを保持します。
定数 | 値 | 説明 |
---|---|---|
QMqttTopicFilter::NoMatchOption | 0x0000 | マッチオプションは設定されません。 |
QMqttTopicFilter::WildcardsDontMatchDollarTopicMatchOption | 0x0001 | フィルタの先頭のワイルドカードは、ドル記号 ($) で始まるトピック名にはマッチしません。 |
MatchOptions型はQFlags<MatchOption>のtypedefです。MatchOption 値の OR の組み合わせを格納します。
メンバ関数ドキュメント
QMqttTopicFilter::QMqttTopicFilter(const QLatin1String &filter)
指定されたfilter で新しい MQTT トピックフィルターを作成します。
QMqttTopicFilter::QMqttTopicFilter(const QString &filter = QString())
指定されたfilter で新しい MQTT トピックフィルターを作成します。
QMqttTopicFilter::QMqttTopicFilter(const QMqttTopicFilter &filter)
filter のコピーとして新しい MQTT トピックフィルターを作成する。
[noexcept]
QMqttTopicFilter::~QMqttTopicFilter()
QMqttTopicFilter オブジェクトを破棄する。
QString QMqttTopicFilter::filter() const
トピックフィルタを返します。
setFilter()も参照 ください。
bool QMqttTopicFilter::isValid() const
トピックフィルターがMQTT標準4.7節に従って有効であればtrue
、そうでなければfalse
。
bool QMqttTopicFilter::match(const QMqttTopicName &name, QMqttTopicFilter::MatchOptions matchOptions = NoMatchOption) const
トピックフィルターが、与えられたmatchOptions を尊重するトピック名name にマッチする場合はtrue
を、そうでない場合はfalse
を返す。
void QMqttTopicFilter::setFilter(const QString &filter)
トピックフィルターをfilter に設定する。
filter()も参照 。
QString QMqttTopicFilter::sharedSubscriptionName() const
トピックフィルターが共有サブスクリプションとして指定されている場合、共有の名前を返します。共有サブスクリプションのフォーマットは$share/sharename/topicfilter
のように定義されています。
[noexcept]
void QMqttTopicFilter::swap(QMqttTopicFilter &other)
MQTT トピックフィルターother をこの MQTT トピックフィルターと交換する。この操作は非常に高速で、失敗することはない。
QMqttTopicFilter &QMqttTopicFilter::operator=(const QMqttTopicFilter &filter)
MQTT トピックフィルターfilter をこのオブジェクトに割り当て、そのコピーへの参照を返します。
関連する非会員
[noexcept]
bool operator!=(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピックフィルターlhs とrhs が異なる場合はtrue
を返し、そうでない場合はfalse
を返す。
[noexcept]
bool operator<(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピックフィルターlhs がトピックフィルターrhs より語彙的に小さい場合はtrue
を返し、そうでない場合はfalse
を返す。
QDataStream &operator<<(QDataStream &out, const QMqttTopicFilter &filter)
トピック・フィルタfilter をストリームout に書き込み、ストリームへの参照を返します。
QDataStream 演算子の形式も参照してください 。
[noexcept]
bool operator==(const QMqttTopicFilter &lhs, const QMqttTopicFilter &rhs)
トピックフィルタlhs とrhs が等しければtrue
を返し、そうでなければfalse
を返す。
QDataStream &operator>>(QDataStream &in, QMqttTopicFilter &filter)
トピック・フィルタをストリームin からfilter に読み込み、ストリームへの参照を返します。
QDataStream 演算子の形式も参照してください 。
© 2025 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.