Namespaces
Variants

std::meta::source_location_of

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Typeigenschaftsabfragen
 
Definiert in Header <meta>
consteval std::source_location source_location_of( std::meta::info r );
(seit C++26)

Wo möglich, wird eine Quellposition dessen zurückgegeben, was r darstellt.

Formell:

  • falls r einen (skalaren) Wert, einen anderen Typ als Klassen- oder Aufzählungstyp, den globalen Namensraum oder eine Datenmitgliedsbeschreibung darstellt, wird ein wertinitialisiertes std::source_location zurückgegeben.
  • Andernfalls wird ein implementationsdefinierter Wert zurückgegeben.

Wenn r eine Entität mit einer Definition darstellt, die aus dem Auswertungskontext erreichbar ist, wird die Implementierung ermutigt, einen einer Definition entsprechenden Wert zurückzugeben.

Parameter

r - ein Reflexionswert

Rückgabewert

Eine Quellposition dessen, was r darstellt, wie oben beschrieben.

Beispiel

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

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

Mögliche Ausgabe:

#5 int main()

Siehe auch

[statisch]
konstruiert ein neues source_location entsprechend der Position der Aufrufstelle
(öffentliche statische Mitgliedsfunktion von std::source_location)