W3cubDocs

/C++

std::source_location::line

constexpr std::uint_least32_t line() const noexcept;
(since C++20)

Returns the line number represented by this object.

Parameters

(none).

Return value

The line number represented by this object.

An implementation is encouraged to return 0 when the line number is unknown.

Example

#include <iostream>
#include <string_view>
#include <source_location>
 
inline void cur_line(
    const std::string_view message = "",
    const std::source_location& location = std::source_location::current())
{
    std::cout
        << location.line() // <- the line # of a call site
        << ") "
        << message; 
}
 
int main()
{
    cur_line("++\n");
    cur_line(); std::cout << "Hello,\n";
    cur_line(); std::cout << "C++20!\n";
    cur_line("--\n");
}

Output:

17) ++
18) Hello, 
19) C++20! 
20) --

See also

return the column number represented by this object
(public member function)
return the file name represented by this object
(public member function)
return the name of the function represented by this object, if any
(public member function)
(C++23)
gets the line number that lexically relates the evaluation represented by the stacktrace_entry
(public member function of std::stacktrace_entry)
Filename and line information

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/source_location/line