Namespaces
Variants

std::meta::source_location_of

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクション型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダで定義 <meta>
consteval std::source_location source_location_of( std::meta::info r );
(C++26 以降)

可能な場合、r が表すもののソース位置を返します。

正式には:

  • もしも r が (スカラ) 値、クラス型または列挙型以外の型、グローバル名前空間、あるいは データメンバ記述 を表す場合、値初期化された std::source_location を返します。
  • そうでなければ、実装定義の値を返します。

もしも r が評価コンテキストから到達可能な定義を持つエンティティを表す場合、実装はその定義に対応する値を返すことが推奨されます。

引数

r - リフレクション値

戻り値

r が表すもののソース位置。上記の説明の通り。

例

#include <meta>
#include <iostream>
#include <source_location>

int main()
{
    std::cout << '#' << source_location_of(^^main).line()
              << ' ' << source_location_of(^^main).function_name()
              << '\n';
}

出力例:

#5 int main()

関連項目

[静的]
新しい source_location を構築します。呼び出し位置に対応します。
(パブリック静的メンバ関数 std::source_location)