value Struct Template
Struct template representing a floating-point value with precision control. More...
Declaration
struct micro_os_plus::micro_test_plus::detail::value<T> { ... }
Included Headers
Base struct
| struct | value_base<T> |
|
Base struct template providing common storage and accessors for run-time value-wrapper types. More... | |
Derived Structs
| struct | to_t<T> |
|
Deprecated generic strongly-typed wrapper for explicit type conversion. More... | |
Public Member Typedefs Index
template <class T> | |
| using | op_type = op |
|
Marker identifying the framework expression types. More... | |
template <class T> | |
| using | op_type = op |
|
Marker identifying the framework expression types. More... | |
template <class T> | |
| using | op_type = op |
|
Marker identifying the framework expression types. More... | |
template <class T> | |
| using | value_type = T |
|
The type of the stored value. More... | |
template <class T> | |
| using | value_type = T |
|
The type of the stored value. More... | |
template <class T> | |
| using | value_type = T |
|
The type of the stored value. More... | |
Public Constructors Index
template <class T> | |
| constexpr | value (const T &_value) noexcept |
|
Constructs a value object with the specified value. More... | |
template <class T> | |
| constexpr | value (const T &_value, const T precision) noexcept |
|
Constructs a floating-point value with a specified precision. More... | |
template <class T> | |
| constexpr | value (const T &val) |
|
Constructs a floating-point value with default precision. More... | |
Public Operators Index
template <class T> | |
| constexpr | operator T () const noexcept |
|
Explicit conversion operator to the underlying value type. More... | |
template <class T> | |
| constexpr | operator T () const noexcept |
|
Explicit conversion operator to the underlying value type. More... | |
template <class T> | |
| constexpr | operator 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... | |
template <class T> | |
| constexpr const T & | get (void) const noexcept |
|
Getter for the stored value. More... | |
template <class T> | |
| constexpr const T & | get (void) const noexcept |
|
Getter for the stored value. More... | |
Public Member Attributes Index
template <class T> | |
| T | epsilon = T{} |
|
The epsilon value used for floating-point comparisons. More... | |
Private Member Attributes Index
template <class T> | |
| T | value_ |
|
The stored value. More... | |
template <class T> | |
| T | value_ |
|
The stored value. More... | |
template <class T> | |
| T | value_ {} |
|
The stored value. More... | |
Description
Struct template representing a floating-point value with precision control.
- Template Parameters
-
T The floating-point type to be encapsulated.
The value struct template specialisation for floating-point types encapsulates a value of type T and provides an associated epsilon for precision control during comparisons. The stored value, explicit conversion operator, and getter are provided by the value_base base.
The epsilon member defines the precision used for floating-point comparisons and can be set explicitly (by approx()) or computed as a default based on the number of decimal digits in the value (by the to_f, to_d, and to_ld wrappers).
Definition at line 662 of file deprecated.h.
Public Member Typedefs
op_type
|
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.
op_type
|
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.
op_type
|
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.
value_type
|
The type of the stored value.
Exposed for use by generic code that inspects wrapper types.
Definition at line 368 of file deprecated.h.
value_type
|
The type of the stored value.
Exposed for use by generic code that inspects wrapper types.
Definition at line 368 of file deprecated.h.
value_type
|
The type of the stored value.
Exposed for use by generic code that inspects wrapper types.
Definition at line 368 of file deprecated.h.
Public Constructors
value()
| constexpr noexcept |
Constructs a value object with the specified value.
- Parameters
-
_value The value to be stored.
Delegates to value_base<T>{ _value } to initialise the base.
Definition at line 638 of file deprecated.h.
value()
| inline constexpr noexcept |
Constructs a floating-point value with a specified precision.
- Parameters
-
_value The floating-point value to be stored.
precision The epsilon value to be used for comparisons.
Delegates to value_base<T>{ _value } and stores the supplied precision in epsilon.
Definition at line 695 of file deprecated.h.
Reference micro_os_plus::micro_test_plus::detail::value_base< T >::value_base.
Referenced by micro_os_plus::micro_test_plus::to_t< T >::to_t and value.
value()
| inline constexpr noexcept |
Constructs a floating-point value with default precision.
- Parameters
-
val The floating-point value to be stored.
The epsilon is computed by math::decimal_epsilon() as 1 divided by 10 raised to the number of decimal digits in the value, with the leading zeros of a value below one counted (1e-12 for 1e-12); a zero value gets a zero epsilon, so that it is compared exactly.
Definition at line 712 of file deprecated.h.
Reference value.
Public Operators
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.
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.
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.
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()
| 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.
get()
| 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.
get()
| 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.
Reference micro_os_plus::micro_test_plus::detail::value_base< T >::value_.
Public Member Attributes
epsilon
|
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.
Private Member Attributes
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.
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.
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.
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.