Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 1.47 KB

File metadata and controls

60 lines (42 loc) · 1.47 KB

invoke_result

  • meta[meta header]
  • std::meta[meta namespace]
  • function template[meta id-type]
  • cpp26[meta cpp]
namespace std::meta {
  template <reflection_range R = std::initializer_list<info>>
  consteval info invoke_result(info type, R&& type_args);
}
  • info[link info.md]
  • reflection_range[link reflection_range.md]

概要

呼び出し可能な型の呼び出し結果型を求める。std::invoke_resultに対応する。

戻り値

typeが呼び出し可能型を表し、type_argsが引数型のリフレクションを表す場合、std::invoke_result相当の結果型のリフレクションを返す。

例外

typeまたはtype_argsの各要素が型を表さない場合、std::meta::exception例外を送出する。

#include <meta>
#include <functional>

int f(double);

int main() {
  static_assert(std::meta::invoke_result(^^decltype(f), {^^double}) == ^^int);
}

出力

バージョン

言語

  • C++26

処理系

関連項目

参照