Namespaces
Variants

std::experimental::reflect:: get_source_line

From cppreference.net
Extensions for reflection
Concepts
Meta-object operations
Variable
FunctionParameter
Callable
Variable and Callable
Namespace and Callable
ParenthesizedExpression
FunctionCallExpression
FunctionalConversion
Variable and Function
Défini dans l'en-tête <experimental/reflect>
template < Object T >
struct get_source_line ;
(reflection TS)

Fournit la constante membre value égale au numéro de ligne présumé de la déclaration de l'entité ou du typedef-name reflété par T .

Table des matières

Modèle de variable d'assistance

template < class T >
constexpr auto get_source_line_v = get_source_line < T > :: value ;
(spécification technique de réflexion)

Hérité de std:: integral_constant

Constantes membres

value
[static]
le numéro de ligne présumé de la déclaration de l'entité ou du typedef-name reflété par T
(constante membre publique statique)

Fonctions membres

operator std::uint_least32_t
convertit l'objet en std:: uint_least32_t , retourne value
(fonction membre publique)
operator()
(C++14)
retourne value
(fonction membre publique)

Types membres

Type Définition
value_type std:: uint_least32_t
type std:: integral_constant < std:: uint_least32_t , value >

Exemple

Le code suivant affiche la ligne de code source d'un objet ou d'une classe.

#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';
}

Sortie :

6
7

Voir aussi

retourne le numéro de ligne représenté par cet objet
(fonction membre publique de std::source_location )
obtient le numéro de ligne qui relie lexicalement l'évaluation représentée par le stacktrace_entry
(fonction membre publique de std::stacktrace_entry )