Skip to main content

The detail Namespace Reference

Internal implementation details for the µTest++ framework. More...

Definition

namespace micro_os_plus::micro_test_plus::detail

Classes Index

structand_<Lhs_T, Rhs_T>

Logical AND comparator struct template. More...

structassertion<Expr_T>

Assertion struct template for parameter passing to the evaluator. More...

classdeferred_reporter<Expr_T>

Deferred reporter class template for a specific expression. More...

classdeferred_reporter_base

Base class for a deferred reporter that collects messages into a string. More...

structeq_<Lhs_T, Rhs_T>

Equality comparator struct template. More...

structge_<Lhs_T, Rhs_T>

Greater than or equal comparator struct template. More...

structgt_<Lhs_T, Rhs_T>

Greater than comparator struct template. More...

structle_<Lhs_T, Rhs_T>

Less than or equal comparator struct template. More...

structlt_<Lhs_T, Rhs_T>

Less than comparator struct template. More...

structne_<Lhs_T, Rhs_T>

Non-equality comparator struct template. More...

structnot_<T>

Logical NOT comparator struct template. More...

structnothrow_<Callable_T>

Operator struct template to check if an expression does not throw any exception. More...

structor_<Lhs_T, Rhs_T>

Logical OR comparator struct template. More...

structthrows_<Callable_T, Exception_T>

Operator struct template to check if an expression throws a specific exception. More...

structthrows_<Callable_T, void>

Operator struct template to check if an expression throws any exception. More...

Functions Index

 and_ (const Lhs_T &, const Rhs_T &) -> and_< Lhs_T, Rhs_T >
 eq_ (const Lhs_T &, const Rhs_T &) -> eq_< Lhs_T, Rhs_T >
 ge_ (const Lhs_T &, const Rhs_T &) -> ge_< Lhs_T, Rhs_T >
constexpr autoget (const T &t)

Generic getter function template for value retrieval. More...

constexpr auto get_impl (const T &t, int) -> decltype(t.get())

Generic getter function template for value retrieval. More...

constexpr auto get_impl (const T &t,...) -> decltype(auto)

Fallback variadic getter function template. More...

 gt_ (const Lhs_T &, const Rhs_T &) -> gt_< Lhs_T, Rhs_T >
 le_ (const Lhs_T &, const Rhs_T &) -> le_< Lhs_T, Rhs_T >
 lt_ (const Lhs_T &, const Rhs_T &) -> lt_< Lhs_T, Rhs_T >
 ne_ (const Lhs_T &, const Rhs_T &) -> ne_< Lhs_T, Rhs_T >
 not_ (const T &) -> not_< T >
 or_ (const Lhs_T &, const Rhs_T &) -> or_< Lhs_T, Rhs_T >

Description

Internal implementation details for the µTest++ framework.

The detail namespace encapsulates the internal mechanisms, helper structures, and implementation utilities employed by the µTest++ testing framework. These components do not form part of the public API and may be modified without prior notice.

Within this namespace, one will find assertion handling, generic getter utilities, comparator structures for logical and relational operations, mechanisms for exception checking, and base classes for deferred reporting of test results.

All definitions within detail are intended exclusively for internal use, ensuring a clear distinction between user-facing and internal components. This approach enhances maintainability, mitigates the risk of naming conflicts, and keeps the public API succinct.

The relevant header files are organised within the include/micro-os-plus folder to maintain a structured and modular codebase.

Functions

and_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::and_ (const Lhs_T &, const Rhs_T &)

Definition at line 1267 of file detail.h.

eq_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::eq_ (const Lhs_T &, const Rhs_T &)

Definition at line 399 of file detail.h.

ge_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::ge_ (const Lhs_T &, const Rhs_T &)

Definition at line 854 of file detail.h.

get()

template <class T>
auto micro_os_plus::micro_test_plus::detail::get (const T & t)
nodiscardconstexpr

Generic getter function template for value retrieval.

Template Parameters
TThe type from which the value is to be retrieved.
Parameters
tThe object or value to be accessed.
Returns

The value obtained via the relevant getter implementation.

The get function template invokes the appropriate getter implementation to retrieve the value from the provided object or type. This function ensures consistent access to values for both custom and standard types within the framework.

The primary implementation attempts to invoke a get() method if it exists, which is recommended for user-defined types to ensure consistent value access. If the type does not provide a get() method, the fallback variadic implementation simply returns the original argument.

The get function template delegates to these implementations, enabling seamless support for a wide range of types in test expressions and comparators.

All definitions are intended for internal use within the framework and are implemented in the include/micro-os-plus/micro-test-plus folder to maintain a structured and modular codebase.

Definition at line 223 of file detail.h.

get_impl()

template <class T>
decltype(t.get()) micro_os_plus::micro_test_plus::detail::get_impl (const T & t, int)
nodiscardconstexpr

Generic getter function template for value retrieval.

Template Parameters
TThe type from which the value is to be retrieved.
Parameters
tThe object or value to be accessed.
Returns

The value obtained via the relevant getter implementation.

The get function template invokes the appropriate getter implementation to retrieve the value from the provided object or type. This function ensures consistent access to values for both custom and standard types within the framework.

The primary implementation attempts to invoke a get() method if it exists, which is recommended for user-defined types to ensure consistent value access. If the type does not provide a get() method, the fallback variadic implementation simply returns the original argument.

The get function template delegates to these implementations, enabling seamless support for a wide range of types in test expressions and comparators.

All definitions are intended for internal use within the framework and are implemented in the include/micro-os-plus/micro-test-plus folder to maintain a structured and modular codebase.

Definition at line 160 of file detail.h.

get_impl()

template <class T>
decltype(auto) micro_os_plus::micro_test_plus::detail::get_impl (const T & t, ...)
nodiscardconstexpr

Fallback variadic getter function template.

Template Parameters
TThe type from which the value is to be retrieved.
Parameters
tThe object or value to be accessed.
Returns

The original argument t.

The get_impl function template serves as a fallback mechanism for value retrieval when the provided type does not implement a get() member function. It simply returns the first argument, discarding any additional parameters.

This approach ensures that both custom types (with a get() method) and standard types (without a get() method) are supported seamlessly within the framework's generic getter utilities.

All definitions are intended for internal use within the framework and are implemented in the include/micro-os-plus/micro-test-plus folder to maintain a structured and modular codebase.

Definition at line 189 of file detail.h.

gt_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::gt_ (const Lhs_T &, const Rhs_T &)

Definition at line 707 of file detail.h.

le_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::le_ (const Lhs_T &, const Rhs_T &)

Definition at line 1148 of file detail.h.

lt_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::lt_ (const Lhs_T &, const Rhs_T &)

Definition at line 1000 of file detail.h.

ne_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::ne_ (const Lhs_T &, const Rhs_T &)

Definition at line 562 of file detail.h.

not_()

template <typename T>
micro_os_plus::micro_test_plus::detail::not_ (const T &)

Definition at line 1478 of file detail.h.

or_()

template <typename Lhs_T, typename Rhs_T>
micro_os_plus::micro_test_plus::detail::or_ (const Lhs_T &, const Rhs_T &)

Definition at line 1386 of file detail.h.


The documentation for this namespace was generated from the following file:


Generated via docusaurus-plugin-doxygen by Doxygen 1.14.0.