最終更新日時(UTC):
が更新

履歴 編集

function
<meta>

std::meta::source_location_of(C++26)

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

処理系

参照