Skip to main content

to_t Struct Template

Deprecated generic strongly-typed wrapper for explicit type conversion. More...

Declaration​

template <class T>
struct micro_os_plus::micro_test_plus::to_t<T> { ... }

Included Headers​

Base struct​

structvalue<T>

Struct template representing a floating-point value with precision control. More...

Public Member Typedefs Index​

template <class T>
usingop_type = op

Marker identifying the framework expression types. More...

template <class T>
usingvalue_type = T

The type of the stored value. More...

Public Constructors Index​

template <class T>
constexprto_t (const T &t)

Constructor for the strongly-typed wrapper. More...

Public Operators Index​

template <class T>
constexproperator T () const noexcept

Explicit conversion operator to the underlying value type. More...

Public Member Functions Index​

template <class T>
constexpr const T &get (void) const noexcept

Getter for the stored value. More...

Public Member Attributes Index​

template <class T>
Tepsilon = T{}

The epsilon value used for floating-point comparisons. More...

Private Member Attributes Index​

template <class T>
Tvalue_ {}

The stored value. More...

Description​

Deprecated generic strongly-typed wrapper for explicit type conversion.

Since

3.2.0

The to_t template provides a public, strongly-typed wrapper for any type T, enabling explicit conversion of dynamic values and expressions to a type recognised by the µTest++ comparators and reporting mechanisms.

This wrapper inherits from detail::value<T>, ensuring that the encapsulated value is treated as the specified type within the framework, for the types without a to_* alias, including the application types; with the operators of the operators namespace, the comparisons are then reported with their operands.

Example
 namespace mt = micro_os_plus::micro_test_plus;
 
 MyType obj;
 // Explicitly treat obj as MyType for test comparison.
 auto wrapped = mt::to_t<MyType>{obj};
Replacement

Pass the plain value to the function comparators eq(), ne(), gt(), ge(), lt(), and le() instead; the application types are reported with the operator<< of expression_formatter.

Deprecated

pass plain values to eq() and the other comparators (since 6.0.0)

Definition at line 1871 of file deprecated.h.

Public Member Typedefs​

op_type​

template <class T>
using micro_os_plus::micro_test_plus::detail::value_base< T >::op_type = op

Marker identifying the framework expression types.

Declared directly rather than inherited from op, to avoid the empty base; detected by the extension::is_op concept.

Definition at line 360 of file deprecated.h.

360 using op_type = op;

value_type​

template <class T>
using micro_os_plus::micro_test_plus::detail::value_base< T >::value_type = T

The type of the stored value.

Exposed for use by generic code that inspects wrapper types.

Definition at line 368 of file deprecated.h.

368 using value_type = T;

Public Constructors​

to_t()​

template <class T>
micro_os_plus::micro_test_plus::to_t< T >::to_t (const T & t)
explicit constexpr

Constructor for the strongly-typed wrapper.

Parameters
t

The value to be wrapped and explicitly converted.

Constructs a to_t instance by forwarding the provided value to the base detail::value<T> wrapper.

Declaration at line 1880 of file deprecated.h, definition at line 1260 of file deprecated-inlines.h.

1260 constexpr to_t<T>::to_t (const T& t) : detail::value<T>{ t }
1261 {
1262 }

Reference micro_os_plus::micro_test_plus::detail::value< T >::value.

Public Operators​

operator T()​

template <class T>
micro_os_plus::micro_test_plus::detail::value_base< T >::operator T ()
explicit nodiscard constexpr noexcept

Explicit conversion operator to the underlying value type.

Returns

The stored value as type T.

Allows explicit conversion to the encapsulated value.

Declaration at line 383 of file deprecated.h, definition at line 492 of file deprecated-inlines.h.

492 operator T () const noexcept
493 {
494 return value_;
495 }

References micro_os_plus::micro_test_plus::detail::value_base< T >::value_base and micro_os_plus::micro_test_plus::detail::value_base< T >::value_.

Public Member Functions​

get()​

template <class T>
const T & micro_os_plus::micro_test_plus::detail::value_base< T >::get (void)
nodiscard constexpr noexcept

Getter for the stored value.

Returns a reference, so that a wrapped object (for example a to_t<std::string>) is not copied each time it is compared or formatted.

Parameters

None.

Returns

A reference to the stored value.

Returns a const reference to the stored value, valid as long as the wrapper.

Declaration at line 398 of file deprecated.h, definition at line 504 of file deprecated-inlines.h.

504 value_base<T>::get (void) const noexcept
505 {
506 return value_;
507 }

Reference micro_os_plus::micro_test_plus::detail::value_base< T >::value_.

Public Member Attributes​

epsilon​

template <class T>
T micro_os_plus::micro_test_plus::detail::value< T >::epsilon = T{}

The epsilon value used for floating-point comparisons.

This instance member defines the precision for comparisons. It is set via the constructor, either explicitly or computed as a default based on the number of decimal digits in the value. Each instance carries its own epsilon, so two value<T> objects with different precisions do not interfere with each other.

Definition at line 674 of file deprecated.h.

674 T epsilon = T{};

Private Member Attributes​

value_​

template <class T>
T micro_os_plus::micro_test_plus::detail::value_base< T >::value_ {}

The stored value.

Set by the constructor. Derived wrappers and comparators access it via get() or the explicit conversion operator.

Definition at line 408 of file deprecated.h.

408 T value_{};

Referenced by micro_os_plus::micro_test_plus::detail::value_base< T >::value_base, micro_os_plus::micro_test_plus::detail::value_base< T >::get and micro_os_plus::micro_test_plus::detail::value_base< T >::operator T.


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


Generated via doxygen2docusaurus 2.2.8 by Doxygen 1.18.0.