Namespaces
Variants

std::meta::source_location_of

С ru.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()

Смотри также

[static]
создаёт новый source_location, соответствующий расположению места вызова
(открытая статическая функция-член std::source_location)