- meta[meta header]
- std::meta[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
namespace std::meta {
consteval info tuple_element(size_t index, info type);
}- info[link info.md]
std::tupleやstd::pairなどのtuple-like型の指定位置の要素型を取得する。std::tuple_elementに対応する。
typeが表す型のindex番目の要素型のリフレクションを返す。
typeが型を表さない場合、std::meta::exception例外を送出する。
#include <meta>
#include <tuple>
int main() {
using T = std::tuple<int, double, char>;
static_assert(std::meta::tuple_element(0, ^^T) == ^^int);
static_assert(std::meta::tuple_element(1, ^^T) == ^^double);
static_assert(std::meta::tuple_element(2, ^^T) == ^^char);
}- std::meta::tuple_element[color ff0000]
- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??