namespace std {
template <class Context, class... Args>
basic_format_args(format_arg_store<Context, Args...>)
-> basic_format_args<Context>; // (1) C++23
}
概要
basic_format_argsクラステンプレートの型推論補助。
- (1) :
make_format_argsの戻り値(format_arg_store)から、テンプレートパラメータContextを推論する。
ただし、 format_arg_store はmake_format_argsの戻り値と同じ型であることを示す便宜上の名前であり、規格には含まれない。
備考
この推論補助はC++23に対する欠陥報告 (LWG 3810) として追加されたものであり、コンパイラは早期に対応している場合がある。そのため、C++20モードでも使用できる可能性がある。
例
#include <format>
int main()
{
// make_format_argsの戻り値から、basic_format_args<format_context>を推論する
std::basic_format_args args = std::make_format_args();
(void)args;
}
出力
バージョン
言語
- C++23
処理系
- Clang: 17 ✅
- GCC: 13.1 ✅
- Visual C++: 2022 ✅
関連項目
参照
- LWG Issue 3810. CTAD for
std::basic_format_args- C++23で、
make_format_argsの戻り値からContextを推論するための推論補助が追加された
- C++23で、