micro-test-plus 6.0.0
µTest++ Testing Framework
Loading...
Searching...
No Matches
deprecated.h File Reference

C++ header file with declarations for the deprecated µTest++ definitions. More...

#include "counters.h"
#include "extension.h"
#include "function-comparators.h"
#include "math.h"
#include "reflection.h"
#include "runner.h"
#include "stopwatch.h"
#include "test.h"
#include <array>
#include <concepts>
#include <cstdint>
#include <ctime>
#include <limits>
#include <string_view>
#include <type_traits>
#include "inlines/deprecated-inlines.h"

Go to the source code of this file.

Classes

struct  micro_os_plus::micro_test_plus::detail::floating_point_constant< T, N, D, Size, P >
 Struct template representing a generic floating-point constant with custom size and precision. More...
struct  micro_os_plus::micro_test_plus::type_traits::floating_point_constant< T, N, D, Size, P >
 Struct template representing a generic floating-point constant with custom size and precision. More...
struct  micro_os_plus::micro_test_plus::type_traits::function_traits< T >
 Deprecated traits of the callable objects. More...
struct  micro_os_plus::micro_test_plus::type_traits::function_traits< R(*)(Args_T...)>
 Deprecated traits of the function pointers. More...
struct  micro_os_plus::micro_test_plus::type_traits::function_traits< R(Args_T...)>
 Deprecated traits of the function types. More...
struct  micro_os_plus::micro_test_plus::type_traits::function_traits< R(T::*)(Args_T...) const >
 Deprecated traits of the pointers to const member functions. More...
struct  micro_os_plus::micro_test_plus::type_traits::function_traits< R(T::*)(Args_T...)>
 Deprecated traits of the pointers to member functions. More...
struct  micro_os_plus::micro_test_plus::type_traits::identity< T, Extra >
 Deprecated identity type. More...
struct  micro_os_plus::micro_test_plus::detail::math::integer_literal
 The result of parsing the characters of an integer literal. More...
struct  micro_os_plus::micro_test_plus::detail::integral_constant< N >
 Struct template representing a generic integral constant. More...
struct  micro_os_plus::micro_test_plus::type_traits::integral_constant< N >
 Struct template representing a generic integral constant. More...
struct  micro_os_plus::micro_test_plus::detail::integral_min_magnitude< T >
 Struct template representing the absolute value of the minimum of a signed integral type, as written in a literal. More...
struct  micro_os_plus::micro_test_plus::type_traits::list< Types >
 Deprecated empty type list. More...
struct  micro_os_plus::micro_test_plus::detail::named_bool
 Struct representing a named boolean constant, created by the _b literal. More...
struct  micro_os_plus::micro_test_plus::type_traits::op
 Empty base struct for the framework expression types. More...
class  micro_os_plus::micro_test_plus::detail::timestamp
 Deprecated clock reading. More...
struct  micro_os_plus::micro_test_plus::to_t< T >
 Deprecated generic strongly-typed wrapper for explicit type conversion. More...
struct  micro_os_plus::micro_test_plus::detail::value< T >
 Struct template representing a generic value, accessible via a getter. More...
struct  micro_os_plus::micro_test_plus::type_traits::value< T >
 Struct template representing a generic value, accessible via a getter. More...
struct  micro_os_plus::micro_test_plus::detail::value< T >
 Struct template representing a floating-point value with precision control. More...
struct  micro_os_plus::micro_test_plus::detail::value_base< T >
 Base struct template providing common storage and accessors for run-time value-wrapper types. More...

Namespaces

namespace  micro_os_plus
 The primary namespace for the µOS++ framework.
namespace  micro_os_plus::micro_test_plus
 Primary namespace for the µTest++ testing framework.
namespace  micro_os_plus::micro_test_plus::detail
 Internal implementation details for the µTest++ framework.
namespace  micro_os_plus::micro_test_plus::detail::math
 Internal mathematical utilities for the µTest++ testing framework.
namespace  micro_os_plus::micro_test_plus::literals
 Deprecated user-defined literals of the test checks.
namespace  micro_os_plus::micro_test_plus::operators
 Deprecated comparison and logical operators of the test checks.
namespace  micro_os_plus::micro_test_plus::reflection
 Reflection utilities for the µTest++ testing framework.
namespace  micro_os_plus::micro_test_plus::type_traits
 Deprecated v5.0.1 namespace of the concepts and of the value wrapper templates.

Concepts

concept  micro_os_plus::micro_test_plus::type_traits::has_npos
 Deprecated concept satisfied when T provides a npos member.
concept  micro_os_plus::micro_test_plus::type_traits::has_value
 Deprecated concept satisfied when T has a member named value.
concept  micro_os_plus::micro_test_plus::type_traits::is_floating_point
 Deprecated concept satisfied when T is a floating-point type.

Typedefs

template<class T>
using micro_os_plus::micro_test_plus::type_traits::genuine_integral_value = detail::value<T>
 Deprecated integral value wrapper.
using micro_os_plus::micro_test_plus::detail::runner_totals = counters
 Deprecated name of counters.
using micro_os_plus::micro_test_plus::static_runner = runner
 Deprecated name of runner.
using micro_os_plus::micro_test_plus::subtest = test_case
 Deprecated name of test_case.
using micro_os_plus::micro_test_plus::detail::timestamps = stopwatch
 Deprecated name of stopwatch.
template<class T>
using micro_os_plus::micro_test_plus::type_traits::value_base_ = detail::value_base<T>
 Deprecated name of detail::value_base.
Value Wrappers

Strongly-typed wrappers for converting dynamic values and expressions to specific types recognised by µTest++ comparators.

These type aliases provide a type-safe mechanism for explicitly converting values to the required types for µTest++ test expressions and comparators. Each alias is a wrapper around detail::value<T>, ensuring that the value is treated as the specified type within the framework.

The to_* forms replaced the older _i, _u8, etc. aliases, which were deprecated in version 3.2.0.

Deprecated
Pass the plain values to the function comparators eq(), ne(), gt(), ge(), lt(), and le() instead; they report the operands in the same way. For the floating-point values compared with a tolerance, use approx() (since 6.0.0).
Example
int x = 42;
// Explicitly treat x as an int for test comparison.
auto wrapped = mt::to_i{x};
Primary namespace for the µTest++ testing framework.
Since
3.2.0
using micro_os_plus::micro_test_plus::to_b = detail::value<bool>
 Deprecated strongly-typed wrapper for bool values.
using micro_os_plus::micro_test_plus::to_c = detail::value<char>
 Deprecated strongly-typed wrapper for char values.
using micro_os_plus::micro_test_plus::to_d = detail::value<double>
 Deprecated strongly-typed wrapper for double values.
using micro_os_plus::micro_test_plus::to_f = detail::value<float>
 Deprecated strongly-typed wrapper for float values.
using micro_os_plus::micro_test_plus::to_i = detail::value<int>
 Deprecated strongly-typed wrapper for int values.
using micro_os_plus::micro_test_plus::to_i16 = detail::value<std::int16_t>
 Deprecated strongly-typed wrapper for std::int16_t values.
using micro_os_plus::micro_test_plus::to_i32 = detail::value<std::int32_t>
 Deprecated strongly-typed wrapper for std::int32_t values.
using micro_os_plus::micro_test_plus::to_i64 = detail::value<std::int64_t>
 Deprecated strongly-typed wrapper for std::int64_t values.
using micro_os_plus::micro_test_plus::to_i8 = detail::value<std::int8_t>
 Deprecated strongly-typed wrapper for std::int8_t values.
using micro_os_plus::micro_test_plus::to_l = detail::value<long>
 Deprecated strongly-typed wrapper for long values.
using micro_os_plus::micro_test_plus::to_ld = detail::value<long double>
 Deprecated strongly-typed wrapper for long double values.
using micro_os_plus::micro_test_plus::to_ll = detail::value<long long>
 Deprecated strongly-typed wrapper for long long values.
using micro_os_plus::micro_test_plus::to_s = detail::value<short>
 Deprecated strongly-typed wrapper for short values.
using micro_os_plus::micro_test_plus::to_sc = detail::value<signed char>
 Deprecated strongly-typed wrapper for signed char values.
using micro_os_plus::micro_test_plus::to_u = detail::value<unsigned>
 Deprecated strongly-typed wrapper for unsigned values.
using micro_os_plus::micro_test_plus::to_u16 = detail::value<std::uint16_t>
 Deprecated strongly-typed wrapper for std::uint16_t values.
using micro_os_plus::micro_test_plus::to_u32 = detail::value<std::uint32_t>
 Deprecated strongly-typed wrapper for std::uint32_t values.
using micro_os_plus::micro_test_plus::to_u64 = detail::value<std::uint64_t>
 Deprecated strongly-typed wrapper for std::uint64_t values.
using micro_os_plus::micro_test_plus::to_u8 = detail::value<std::uint8_t>
 Deprecated strongly-typed wrapper for std::uint8_t values.
using micro_os_plus::micro_test_plus::to_uc = detail::value<unsigned char>
 Deprecated strongly-typed wrapper for unsigned char values.
using micro_os_plus::micro_test_plus::to_ul = detail::value<unsigned long>
 Deprecated strongly-typed wrapper for unsigned long values.
using micro_os_plus::micro_test_plus::to_ull = detail::value<unsigned long long>
 Deprecated strongly-typed wrapper for unsigned long long values.
using micro_os_plus::micro_test_plus::to_us = detail::value<unsigned short>
 Deprecated strongly-typed wrapper for unsigned short values.
Deprecated Value Wrappers

The v5.0.1 names of the to_* value wrappers.

The Boost UT style names, with a leading underscore, kept for compatibility with the existing applications. Each one is an alias of the corresponding to_* wrapper, so the wrapped values are compared and reported in the same way. They do not conflict with the literal operators with the same suffixes (42_i), which are in the literals namespace.

GCC reports the deprecation only when the alias names the type of a declaration, not when it is used in an expression, as in _i (expr); Clang reports it in both cases.

Deprecated
Pass the plain values to the function comparators eq(), ne(), gt(), ge(), lt(), and le() instead; the to_* value wrappers that replaced these aliases (since 3.2.0) are deprecated too (since 6.0.0).
using micro_os_plus::micro_test_plus::_b = to_b
 Deprecated strongly-typed wrapper for bool values, the v5.0.1 name of to_b.
using micro_os_plus::micro_test_plus::_c = to_c
 Deprecated strongly-typed wrapper for char values, the v5.0.1 name of to_c.
using micro_os_plus::micro_test_plus::_d = to_d
 Deprecated strongly-typed wrapper for double values, the v5.0.1 name of to_d.
using micro_os_plus::micro_test_plus::_f = to_f
 Deprecated strongly-typed wrapper for float values, the v5.0.1 name of to_f.
using micro_os_plus::micro_test_plus::_i = to_i
 Deprecated strongly-typed wrapper for int values, the v5.0.1 name of to_i.
using micro_os_plus::micro_test_plus::_i16 = to_i16
 Deprecated strongly-typed wrapper for std::int16_t values, the v5.0.1 name of to_i16.
using micro_os_plus::micro_test_plus::_i32 = to_i32
 Deprecated strongly-typed wrapper for std::int32_t values, the v5.0.1 name of to_i32.
using micro_os_plus::micro_test_plus::_i64 = to_i64
 Deprecated strongly-typed wrapper for std::int64_t values, the v5.0.1 name of to_i64.
using micro_os_plus::micro_test_plus::_i8 = to_i8
 Deprecated strongly-typed wrapper for std::int8_t values, the v5.0.1 name of to_i8.
using micro_os_plus::micro_test_plus::_l = to_l
 Deprecated strongly-typed wrapper for long values, the v5.0.1 name of to_l.
using micro_os_plus::micro_test_plus::_ld = to_ld
 Deprecated strongly-typed wrapper for long double values, the v5.0.1 name of to_ld.
using micro_os_plus::micro_test_plus::_ll = to_ll
 Deprecated strongly-typed wrapper for long long values, the v5.0.1 name of to_ll.
using micro_os_plus::micro_test_plus::_s = to_s
 Deprecated strongly-typed wrapper for short values, the v5.0.1 name of to_s.
using micro_os_plus::micro_test_plus::_sc = to_sc
 Deprecated strongly-typed wrapper for signed char values, the v5.0.1 name of to_sc.
template<class T>
using micro_os_plus::micro_test_plus::_t = to_t<T>
 Deprecated generic strongly-typed wrapper, the v5.0.1 name of to_t.
using micro_os_plus::micro_test_plus::_u = to_u
 Deprecated strongly-typed wrapper for unsigned values, the v5.0.1 name of to_u.
using micro_os_plus::micro_test_plus::_u16 = to_u16
 Deprecated strongly-typed wrapper for std::uint16_t values, the v5.0.1 name of to_u16.
using micro_os_plus::micro_test_plus::_u32 = to_u32
 Deprecated strongly-typed wrapper for std::uint32_t values, the v5.0.1 name of to_u32.
using micro_os_plus::micro_test_plus::_u64 = to_u64
 Deprecated strongly-typed wrapper for std::uint64_t values, the v5.0.1 name of to_u64.
using micro_os_plus::micro_test_plus::_u8 = to_u8
 Deprecated strongly-typed wrapper for std::uint8_t values, the v5.0.1 name of to_u8.
using micro_os_plus::micro_test_plus::_uc = to_uc
 Deprecated strongly-typed wrapper for unsigned char values, the v5.0.1 name of to_uc.
using micro_os_plus::micro_test_plus::_ul = to_ul
 Deprecated strongly-typed wrapper for unsigned long values, the v5.0.1 name of to_ul.
using micro_os_plus::micro_test_plus::_ull = to_ull
 Deprecated strongly-typed wrapper for unsigned long long values, the v5.0.1 name of to_ull.
using micro_os_plus::micro_test_plus::_us = to_us
 Deprecated strongly-typed wrapper for unsigned short values, the v5.0.1 name of to_us.

Functions

template<class T, class Value_T>
constexpr auto micro_os_plus::micro_test_plus::detail::math::count_decimals (Value_T value) -> T
 Computes the number of decimal places of a value, with a precision of about seven digits.
template<bool Fraction, char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::count_literal_digits (void) -> std::size_t
 Counts the decimal digits of a floating-point literal, before or after the decimal point.
template<class Value_T>
constexpr auto micro_os_plus::micro_test_plus::detail::math::decimal_epsilon (Value_T value) -> Value_T
 Computes the default comparison tolerance of a floating-point value, one unit of its last decimal.
template<class T, char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::den (void) -> T
 Computes the decimal part of a number represented as an array of characters.
template<class T, char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::den_size (void) -> T
 Counts the decimal places of a number represented as an array of characters.
template<class T, char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::integer_magnitude (void) -> unsigned long long
 Computes the value of an integer literal of type T, before any negation.
template<class T, char... Cs>
constexpr auto micro_os_plus::micro_test_plus::detail::integral_literal (void)
 Creates the compile-time constant of an integer literal.
template<class T, char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::num (void) -> T
 Computes the integral part of a decimal floating-point number represented as an array of characters.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator and (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated logical && (and) operator.
template<class T>
requires extension::is_op<std::remove_cvref_t<T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator not (T &&t)
 Deprecated logical ! (not) operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator or (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated logical || (or) operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator!= (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated non-equality operator.
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_b (const char *name, decltype(sizeof("")) size)
 Deprecated user-defined literal operator to create a named boolean constant.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_c ()
 Deprecated user-defined literal operator to convert to char.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_d ()
 Deprecated user-defined literal operator to convert to double.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_f ()
 Deprecated user-defined literal operator to convert to float.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_i ()
 Deprecated user-defined literal operator to convert to int.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_i16 ()
 Deprecated user-defined literal operator to convert to int16_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_i32 ()
 Deprecated user-defined literal operator to convert to int32_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_i64 ()
 Deprecated user-defined literal operator to convert to int64_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_i8 ()
 Deprecated user-defined literal operator to convert to int8_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_l ()
 Deprecated user-defined literal operator to convert to long.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_ld ()
 Deprecated user-defined literal operator to convert to long double.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_ll ()
 Deprecated user-defined literal operator to convert to long long.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_s ()
 Deprecated user-defined literal operator to convert to short.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_sc ()
 Deprecated user-defined literal operator to convert to signed char.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_u ()
 Deprecated user-defined literal operator to convert to unsigned.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_u16 ()
 Deprecated user-defined literal operator to convert to uint16_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_u32 ()
 Deprecated user-defined literal operator to convert to uint32_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_u64 ()
 Deprecated user-defined literal operator to convert to uint64_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_u8 ()
 Deprecated user-defined literal operator to convert to uint8_t.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_uc ()
 Deprecated user-defined literal operator to convert to unsigned char.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_ul ()
 Deprecated user-defined literal operator to convert to unsigned long.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_ull ()
 Deprecated user-defined literal operator to convert to unsigned long long.
template<char... Cs>
constexpr auto micro_os_plus::micro_test_plus::literals::operator""_us ()
 Deprecated user-defined literal operator to convert to unsigned short.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator< (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated less than operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator<= (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated less than or equal operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator== (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated equality operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator> (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated greater than operator.
template<class Lhs_T, class Rhs_T>
requires extension::any_op<std::remove_cvref_t<Lhs_T>, std::remove_cvref_t<Rhs_T>>
constexpr auto micro_os_plus::micro_test_plus::operators::operator>= (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated greater than or equal operator.
template<char... Cs>
consteval auto micro_os_plus::micro_test_plus::detail::math::parse_integer_literal (void) -> integer_literal
 Parses the characters of an integer literal.
template<class T, class Exp_T>
constexpr auto micro_os_plus::micro_test_plus::detail::math::pow (const T base, const Exp_T exp) noexcept -> T
 Generic exponentiation function to compute the power of a base raised to an exponent.
const char * micro_os_plus::micro_test_plus::reflection::short_name (const char *name) noexcept
 Deprecated extraction of the file name from a path.
Deprecated Functions
template<class Lhs_T, class Rhs_T>
constexpr auto micro_os_plus::micro_test_plus::_and (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated generic logical and operation, the v5.0.1 name of all_of().
template<class Expr_T>
constexpr auto micro_os_plus::micro_test_plus::_not (Expr_T &&expr)
 Deprecated generic logical not operation, the v5.0.1 name of negate().
template<class Lhs_T, class Rhs_T>
constexpr auto micro_os_plus::micro_test_plus::_or (Lhs_T &&lhs, Rhs_T &&rhs)
 Deprecated generic logical (inclusive) or operation, the v5.0.1 name of any_of().
template<class T>
requires std::is_floating_point_v<T>
constexpr auto micro_os_plus::micro_test_plus::approx (T value, std::type_identity_t< T > epsilon) noexcept -> detail::value< T >
 Deprecated wrapping of a floating-point value with an explicit comparison tolerance.
template<class T>
constexpr auto micro_os_plus::micro_test_plus::mut (const T &t) noexcept -> T &
 Deprecated generic mutator to remove const qualification from a reference.

Detailed Description

This header groups the deprecated definitions that are not members of the framework classes, kept for compatibility with the applications written for the previous versions:

  • the v5.0.1 names of the logical functions (_not, _and, and _or);
  • the mut() helper, not used by the framework;
  • the overloaded operators of the operators namespace, the user-defined literals of the literals namespace, the to_* type wrappers, to_t<T>, and approx (value, epsilon), deprecated since 6.0.0 in favour of the function comparators;
  • the v5.0.1 names of the value wrappers (_i, _u8, etc.);
  • the v5.0.1 names of the classes (subtest, static_runner, detail::runner_totals, and detail::timestamps);
  • the detail::timestamp class;
  • the reflection::short_name() function;
  • the v5.0.1 type_traits namespace.

The deprecated member functions and data members remain in the declarations of their classes, since C++ does not allow them to be declared elsewhere.

All the deprecated definitions, in this header and in the classes, are available only when MICRO_OS_PLUS_MICRO_TEST_PLUS_DEPRECATED_ENABLED is defined; without it, the applications that still use them fail to compile.

Keeping the deprecated definitions separate makes them easy to identify and, in a future major release, to remove.

All definitions reside within the micro_os_plus::micro_test_plus namespace.

This file is included by micro-os-plus/micro-test-plus.h, which is the header that the applications include.

Definition in file deprecated.h.