The deferred_reporter
Class Template Reference
Deferred reporter class template for a specific expression. More...
Declaration
template <class Expr_T>
class micro_os_plus::micro_test_plus::detail::deferred_reporter<Expr_T>
Included Headers
#include <micro-os-plus/micro-test-plus.h>
Base class
class | deferred_reporter_base |
Base class for a deferred reporter that collects messages into a string. More... | |
Public Constructors Index
template <class Expr_T> | |
constexpr | deferred_reporter (const Expr_T &expr, bool abort, const reflection::source_location &location) |
Constructs a deferred reporter for a specific expression. More... | |
Public Destructor Index
template <class Expr_T> | |
~deferred_reporter () | |
Destructor for the deferred reporter. More... | |
Public Operators Index
template <class T> | |
auto & | operator<< (const T &msg) |
Appends a message to the reporter. More... | |
Public Member Functions Index
template <class Expr_T> | |
constexpr bool | value () const |
Retrieves the result value. More... | |
Protected Member Attributes Index
template <class Expr_T> | |
bool | abort_ = false |
Indicates whether the reporting should abort further processing. More... | |
template <class Expr_T> | |
const Expr_T | expr_ {} |
Stores the expression under evaluation. More... | |
template <class Expr_T> | |
const reflection::source_location | location_ {} |
Stores the source location associated with the report. More... | |
template <class Expr_T> | |
std::string | message_ {} |
String to collect the expectation message passed via | |
template <class Expr_T> | |
bool | value_ {} |
Stores the result value of the report. More... | |
Description
Deferred reporter class template for a specific expression.
- Template Parameters
Expr_T The type of the expression being reported.
The deferred_reporter
class template extends deferred_reporter_base
to provide deferred reporting functionality for a specific test expression within the framework.
This class template is responsible for capturing the expression under evaluation, the abort status, and the source location. It is intended exclusively for internal use and is implemented in the include/micro-os-plus/micro-test-plus
folder to ensure a structured and modular codebase.
Definition at line 1836 of file detail.h.
Public Constructors
deferred_reporter()
| explicitconstexpr |
Constructs a deferred reporter for a specific expression.
- Parameters
expr The expression under evaluation. abort Indicates whether reporting should abort further processing. location The source location relevant to the report.
Initialises the reporter with the given expression, abort status, and source location.
This constructor initialises a deferred reporter for a specific expression, capturing the evaluation result, abort status, and source location.
The expression is evaluated and its boolean result is passed to the base class. The abort flag determines whether further test execution should be halted if the expectation fails. The source location provides contextual information for reporting purposes.
Declaration at line 1851 of file detail.h, definition at line 117 of file details-inlines.h.
Public Destructor
~deferred_reporter()
|
Destructor for the deferred reporter.
The destructor finalises the deferred reporting process for a test expression. If the evaluated expression is true, the reporter records a successful outcome along with any accumulated message. If the expression is false, the reporter records a failure, including the abort status, message, and source location for comprehensive reporting.
This mechanism ensures that all relevant information about the test outcome is captured and reported accurately when the deferred reporter goes out of scope.
Declaration at line 1858 of file detail.h, definition at line 142 of file details-inlines.h.
Public Operators
operator<<()
|
Appends a message to the reporter.
- Template Parameters
T The type of the message to append.
- Parameters
msg The message to append.
- Returns
Reference to the current reporter instance.
This operator overload enables the deferred reporter to accumulate expectation messages by appending the provided value to the internal message string.
If the argument is of an arithmetic type, it is first converted to a string using std::to_string
before being appended. For all other types, the value is appended directly. This ensures that both numeric and string-like messages are handled appropriately and consistently.
Declaration at line 1770 of file detail.h, definition at line 90 of file details-inlines.h.
Public Member Functions
value()
| inlinenodiscardconstexpr |
Protected Member Attributes
abort_
| protected |
expr_
| protected |
location_
| protected |
message_
| protected |
value_
The documentation for this class was generated from the following files:
Generated via docusaurus-plugin-doxygen by Doxygen 1.14.0.