namespace std::meta {
consteval std::source_location source_location_of(info r);
}
概要
リフレクションのソース位置を取得する。
任意のリフレクションを受け取れる。
戻り値
rが表すエンティティが宣言されたソース位置をstd::source_locationとして返す。
ただし、以下のリフレクションに対してはデフォルト構築されたsource_location(ソース位置情報なし)を返す:
- 値
- クラス型・列挙型以外の型
- グローバル名前空間
- データメンバ仕様
例
#include <meta>
#include <print>
struct MyClass {};
int main() {
constexpr auto loc = std::meta::source_location_of(^^MyClass);
std::println("{}:{}", loc.file_name(), loc.line());
}
出力例
main.cpp:38
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??