概要
関数型fnが、tuple-like型tupleの各要素型を引数として呼び出し可能かを判定する。
std::apply()で関数を呼び出せるかどうかの判定に対応する。
戻り値
fnがtupleの各要素型を順に引数として渡したときに呼び出し可能な場合にtrueを返す。
例外
fnまたはtupleが型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
#include <tuple>
void f(int, double);
int main() {
// (int, double)の引数で呼び出し可能
static_assert(std::meta::is_applicable_type(
^^decltype(f), ^^std::tuple<int, double>));
// (int)では呼び出し不可
static_assert(!std::meta::is_applicable_type(
^^decltype(f), ^^std::tuple<int>));
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ❌ - Visual C++: ??