- meta[meta header]
- std::meta[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
- u8display_string_of[meta alias]
namespace std::meta {
consteval string_view display_string_of(info r);
consteval u8string_view u8display_string_of(info r);
}- info[link info.md]
リフレクションの表示用文字列を取得する。
rの人間可読な表示文字列を返す。結果は実装定義である。
std::meta名前空間の関数のうち、戻り値の型がstring_viewまたはu8string_viewであるものは、NULL終端された静的記憶域上の文字列を返す、というルールがある。本関数もそれに該当する。
#include <meta>
#include <print>
#include <vector>
int main() {
std::println("{}", std::meta::display_string_of(^^int));
std::println("{}", std::meta::display_string_of(^^std::vector));
}int
template<class _Tp, class _Alloc> class std::vector
- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??
- P2996R13 Reflection for C++26
- LWG Issue 4556. Unclear properties of reflection strings
- C++26で、
string_view/u8string_viewを返すstd::metaの関数がNULL終端された静的記憶域上の文字列を返すことが明確化された
- C++26で、