- meta[meta header]
- std::meta[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
namespace std::meta {
consteval info template_of(info r);
}- info[link info.md]
テンプレートの特殊化からテンプレート自体のリフレクションを取得する。
rがテンプレートの特殊化を表す場合、そのテンプレートのリフレクションを返す。has_template_arguments(r)がtrueであることが事前条件となる。
has_template_arguments(r)がfalseの場合、std::meta::exception例外を送出する。
#include <meta>
#include <vector>
int main() {
static_assert(std::meta::template_of(^^std::vector<int>) == ^^std::vector);
}- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??