名稱空間
變體
操作

std::experimental::reflect::get_source_line

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件2 (併發TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
反射擴充套件
概念
元物件操作
變數
函式引數
可呼叫
VariableCallable
NamespaceCallable
帶括號表示式
函式呼叫表示式
FunctionalConversion
VariableFunction
 
定義於標頭檔案 <experimental/reflect>
template< Object T >
struct get_source_line;
(反射 TS)

提供成員常量 value,等於由 T 反射的實體或 typedef 名稱宣告的推定行號

目錄

[編輯] 輔助變數模板

template< class T >
constexpr auto get_source_line_v = get_source_line<T>::value;
(反射 TS)

繼承自 std::integral_constant

成員常量

value
[靜態]
T 反射的實體或 typedef 名稱宣告的推定行號
(public static 成員常量)

成員函式

operator std::uint_least32_t
將物件轉換為 std::uint_least32_t,返回 value
(公開成員函式)
operator()
(C++14)
返回 value
(公開成員函式)

成員型別

型別 定義
value_type std::uint_least32_t
型別 std::integral_constant<std::uint_least32_t, value>

[編輯] 示例

以下程式碼顯示了物件或類的原始碼行。

#include<experimental/reflect>
#include<iostream>
 
using refl = std::experimental::reflect;
 
float f;
struct P{};
 
int main()
{
    std::cout << refl::get_source_line_v<reflexpr(f)> << '\n';
    std::cout << refl::get_source_line_v<reflexpr(P)> << '\n';
}

輸出

6
7

[編輯] 參閱

返回此物件表示的行號
(std::source_location 的公共成員函式) [編輯]
獲取與 stacktrace_entry 表示的求值在詞法上相關的行號
(std::stacktrace_entry 的公共成員函式) [編輯]