# std::experimental::reflect::get_source_line

< cpp‎ | experimental‎ | reflect

定义于头文件 `<experimental/reflect>` |  |
template< Object T > struct get_source_line; |  | (反射 TS)

提供等于 `T` 所反射的实体或 typedef 名的声明的预设行号的成员常量 `value` 。

### 辅助变量模板

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

## 继承自 std::integral_constant

### 成员常量

value [静态] | `T` 所反射的实体或 typedef 名的声明的预设行号 (公开静态成员常量)

### 成员函数

operator std::uint_least32_t | 转换对象为 std::uint_least32_t ，返回 `value` (公开成员函数)
operator() (C++14) | 返回 `value` (公开成员函数)

### 成员类型

类型 | 定义
`value_type` | `std::uint_least32_t`
`type` | 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

### 参阅

line | 返回此对象所表示的行号 (`std::source_location` 的公开成员函数)
source_line (C++23) | 获取词法上与该 `stacktrace_entry` 所表示的求值相关的行号 (`std::stacktrace_entry` 的公开成员函数)