最終更新日時(UTC):
が更新

履歴 編集

customization point object
<execution>

std::forwarding_query(C++26)

namespace std {
  struct forwarding_query_t { unspecified };
  inline constexpr forwarding_query_t forwarding_query{};
}

概要

forwarding_queryは、対象クエリオブジェクトに対してクエリ可能アダプタを通じて転送可能か否かを確認するクエリオブジェクトである。

説明専用の式 FWD-ENV

説明用のクエリ可能オブジェクトenvクエリオブジェクトq、パック式asに対して、式FWD-ENV(env)は下記の通り定義される。

  • forwarding_query(q) == falseならば、式FWD-ENV(env).query(q, as...)不適格となる。
  • そうでなければ、式FWD-ENV(env)は式env.query(q, as...)と等価であり、その型はqueryableを満たす。

効果

説明用の式qQ型のクエリオブジェクトとしたとき、呼び出し式forwarding_query(q)は下記と等価であり、bool型の値となる。

  • q.query(forwarding_query)適格であれば、同式のbool値。
    • qがコア定数式ならば、q.query(forwarding_query)もコア定数式となる。
  • そうではなく、derived_from<Q, forwarding_query_t> == trueならばtrue
  • そうでなければ、false

カスタマイゼーションポイント

クエリ可能オブジェクトqに対して式q.query(forwarding_query)が呼び出される。 このときnoexcept(q.query(forwarding_query)) == trueであること。

備考

下記クエリオブジェクトに対する問い合わせは、FWD-ENV経由で転送される。

下記クエリオブジェクトに対する問い合わせは、FWD-ENV経由で転送されない。

バージョン

言語

  • C++26

処理系

関連項目

参照