14#ifndef IOX2_BB_DETAIL_SOURCE_LOCATION_HPP
15#define IOX2_BB_DETAIL_SOURCE_LOCATION_HPP
24 const char* m_file {
nullptr };
25 const char* m_function {
nullptr };
26 uint32_t m_line { 0 };
29 static constexpr auto current(
const char* file = __builtin_FILE(),
30 const uint32_t
line = __builtin_LINE(),
31 const char* function = __builtin_FUNCTION()) noexcept ->
SourceLocation {
35 constexpr auto file_name() const noexcept -> const
char* {
38 constexpr auto line() const noexcept -> uint32_t {
46 constexpr SourceLocation(
const char* file, uint32_t
line,
const char* function) noexcept
48 , m_function(function)
static constexpr auto current(const char *file=__builtin_FILE(), const uint32_t line=__builtin_LINE(), const char *function=__builtin_FUNCTION()) noexcept -> SourceLocation
constexpr auto file_name() const noexcept -> const char *
constexpr auto function_name() const noexcept -> const char *
constexpr auto line() const noexcept -> uint32_t