Skip to main content

source_location Class

Local implementation of source location information for diagnostics. More...

Declaration

class micro_os_plus::micro_test_plus::reflection::source_location { ... }

Included Headers

Public Member Functions Index

constexpr autofile_name (void) const noexcept

Retrieve the file name associated with this source location. More...

constexpr autoline (void) const noexcept

Retrieve the line number associated with this source location. More...

Private Member Attributes Index

const char *file_ { "unknown" }

The file name where the source location was captured. More...

unsigned intline_ {}

The line number where the source location was captured. More...

Public Static Functions Index

static constexpr source_locationcurrent (const char *file="unknown", unsigned int line={}) noexcept

Obtain the current source location. More...

Description

Local implementation of source location information for diagnostics.

This class provides a lightweight, constexpr-compatible alternative to std::source_location for environments lacking C++20 standard support.

It enables retrieval of the file name and line number at the point of invocation, supporting enhanced diagnostics and reporting within the µTest++ framework.

The static current() method captures the current source location, using compiler built-ins where available, or defaulting to "unknown" and zero otherwise.

Since

3.0.0

Definition at line 137 of file reflection.h.

Public Member Functions

file_name()

auto micro_os_plus::micro_test_plus::reflection::source_location::file_name (void)
nodiscard constexpr noexcept

Retrieve the file name associated with this source location.

Parameters

None.

Returns

The file name as a constant character pointer.

Returns the file name captured at the time this source_location instance was created.

Declaration at line 165 of file reflection.h, definition at line 105 of file reflection-inlines.h.

105 source_location::file_name (void) const noexcept
106 {
107 return file_;
108 }

Reference file_.

Referenced by micro_os_plus::micro_test_plus::runner::abort, micro_os_plus::micro_test_plus::reporter_human::output_fail_prefix_ and micro_os_plus::micro_test_plus::reporter_tap::output_fail_suffix_.

line()

auto micro_os_plus::micro_test_plus::reflection::source_location::line (void)
nodiscard constexpr noexcept

Retrieve the line number associated with this source location.

Parameters

None.

Returns

The line number as an unsigned integer.

Returns the line number captured at the time this source_location instance was created.

Declaration at line 175 of file reflection.h, definition at line 116 of file reflection-inlines.h.

116 source_location::line (void) const noexcept
117 {
118 return line_;
119 }

Reference line_.

Referenced by micro_os_plus::micro_test_plus::runner::abort, current, micro_os_plus::micro_test_plus::reporter_human::output_fail_prefix_ and micro_os_plus::micro_test_plus::reporter_tap::output_fail_suffix_.

Private Member Attributes

file_

const char* micro_os_plus::micro_test_plus::reflection::source_location::file_ { "unknown" }

The file name where the source location was captured.

Definition at line 181 of file reflection.h.

181 const char* file_{ "unknown" };

Referenced by current and file_name.

line_

unsigned int micro_os_plus::micro_test_plus::reflection::source_location::line_ {}

The line number where the source location was captured.

Definition at line 186 of file reflection.h.

186 unsigned int line_{};

Referenced by current and line.

Public Static Functions

current()

source_location micro_os_plus::micro_test_plus::reflection::source_location::current (const char * file="unknown", unsigned int line={})
nodiscard constexpr noexcept static

Obtain the current source location.

Parameters
file

The file name (automatically provided by the compiler).

line

The line number (automatically provided by the compiler).

Returns

A source_location instance with the captured information.

Returns a source_location instance representing the file name and line number at the point of invocation.

If supported by the compiler, uses built-in macros to capture this information; otherwise, defaults to "unknown" and zero.

Declaration at line 148 of file reflection.h, definition at line 91 of file reflection-inlines.h.

91 source_location::current (const char* file, unsigned int line) noexcept
92 {
94 sl.file_ = file;
95 sl.line_ = line;
96 return sl;
97 }

References file_, line and line_.

Referenced by micro_os_plus::micro_test_plus::runner::operator= and micro_os_plus::micro_test_plus::subtest::operator=.


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus 2.2.0 by Doxygen 1.17.0.