60#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_DEPRECATED_H_
61#define MICRO_OS_PLUS_MICRO_TEST_PLUS_DEPRECATED_H_
65#if defined(__cplusplus)
69#if __has_include("micro-os-plus/project-config.h")
70#include "micro-os-plus/project-config.h"
73#if __has_include("micro-os-plus/micro-test-plus-defines.h")
74#include "micro-os-plus/micro-test-plus-defines.h"
96#if defined(MICRO_OS_PLUS_MICRO_TEST_PLUS_DEPRECATED_ENABLED)
99#pragma GCC diagnostic push
101#pragma GCC diagnostic ignored "-Waggregate-return"
102#pragma GCC diagnostic ignored "-Wconversion"
103#pragma GCC diagnostic ignored "-Wpadded"
104#if defined(__clang__)
105#pragma clang diagnostic ignored "-Wc++98-compat"
106#pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
107#pragma clang diagnostic ignored "-Wc++20-compat"
108#pragma clang diagnostic ignored "-Wdocumentation"
109#pragma clang diagnostic ignored "-Wpre-c++17-compat"
137 template <
class T,
class Exp_T>
138 [[nodiscard]]
constexpr auto
139 pow (
const T base,
const Exp_T exp)
noexcept -> T;
156 template <
bool Fraction,
char... Cs>
157 [[nodiscard]]
consteval auto
176 template <
class T,
char... Cs>
177 [[nodiscard]]
consteval auto
194 template <
class T,
char... Cs>
195 [[nodiscard]]
consteval auto
211 template <
class T,
char... Cs>
212 [[nodiscard]]
consteval auto
229 template <
class T,
class Value_T>
230 [[nodiscard]]
constexpr auto
246 template <
class Value_T>
247 [[nodiscard]]
constexpr auto
296 template <
char... Cs>
297 [[nodiscard]]
consteval auto
313 template <
class T,
char... Cs>
314 [[nodiscard]]
consteval auto
375 constexpr explicit value_base (
const T& v)
noexcept;
382 [[nodiscard]]
constexpr explicit
383 operator T () const noexcept;
397 [[nodiscard]] constexpr const T&
398 get (
void) const noexcept;
461 [[nodiscard]]
constexpr auto
493 [[nodiscard]]
constexpr auto
513 template <
class T,
char... Cs>
514 [[nodiscard]]
constexpr auto
554 template <
class T, auto N, auto D, auto Size, auto P = 1>
557 static_assert (P == 1 || P == -1,
558 "floating_point_constant: P must be +1 or -1");
585 = T (P) * (T (N) + (T (D) /
math::pow (T (10), Size)));
592 [[nodiscard]]
constexpr explicit
593 operator T () const noexcept;
602 [[nodiscard]] constexpr T
603 get (
void) const noexcept;
610 [[nodiscard]] constexpr auto
611 operator- () const noexcept;
638 constexpr value (
const T& _value)
noexcept;
661 requires std::floating_point<T>
695 constexpr value (
const T& _value,
const T precision) noexcept
713 :
value{ val,
math::decimal_epsilon (val) }
767 [[nodiscard]]
constexpr
777 [[nodiscard]] constexpr std::string_view
778 name (
void) const noexcept;
816 template <class Expr_T>
817 [[deprecated (
"use negate() (since 6.0.0)"), nodiscard]] constexpr auto
818 _not (Expr_T&& expr);
837 template <class Lhs_T, class Rhs_T>
838 [[deprecated (
"use all_of() (since 6.0.0)"), nodiscard]] constexpr auto
839 _and (Lhs_T&& lhs, Rhs_T&& rhs);
858 template <class Lhs_T, class Rhs_T>
859 [[deprecated (
"use any_of() (since 6.0.0)"), nodiscard]] constexpr auto
860 _or (Lhs_T&& lhs, Rhs_T&& rhs);
883 [[deprecated (
"use const_cast<T&> (since 6.0.0)"), nodiscard]] constexpr auto
884 mut (const T& t) noexcept -> T&;
953 template <
class Lhs_T,
class Rhs_T>
955 std::remove_cvref_t<Rhs_T>>
956 [[deprecated (
"use eq() (since 6.0.0)"), nodiscard]]
constexpr auto
957 operator== (Lhs_T&& lhs, Rhs_T&& rhs);
971 template <
class Lhs_T,
class Rhs_T>
973 std::remove_cvref_t<Rhs_T>>
974 [[deprecated (
"use ne() (since 6.0.0)"), nodiscard]]
constexpr auto
975 operator!= (Lhs_T&& lhs, Rhs_T&& rhs);
989 template <
class Lhs_T,
class Rhs_T>
991 std::remove_cvref_t<Rhs_T>>
992 [[deprecated (
"use gt() (since 6.0.0)"), nodiscard]]
constexpr auto
993 operator> (Lhs_T&& lhs, Rhs_T&& rhs);
1007 template <
class Lhs_T,
class Rhs_T>
1009 std::remove_cvref_t<Rhs_T>>
1010 [[deprecated (
"use ge() (since 6.0.0)"), nodiscard]]
constexpr auto
1011 operator>= (Lhs_T&& lhs, Rhs_T&& rhs);
1025 template <
class Lhs_T,
class Rhs_T>
1027 std::remove_cvref_t<Rhs_T>>
1028 [[deprecated (
"use lt() (since 6.0.0)"), nodiscard]]
constexpr auto
1029 operator< (Lhs_T&& lhs, Rhs_T&& rhs);
1043 template <
class Lhs_T,
class Rhs_T>
1045 std::remove_cvref_t<Rhs_T>>
1046 [[deprecated (
"use le() (since 6.0.0)"), nodiscard]]
constexpr auto
1047 operator<= (Lhs_T&& lhs, Rhs_T&& rhs);
1061 template <
class Lhs_T,
class Rhs_T>
1063 std::remove_cvref_t<Rhs_T>>
1064 [[deprecated (
"use all_of() (since 6.0.0)"), nodiscard]]
constexpr auto
1065 operator and (Lhs_T&& lhs, Rhs_T&& rhs);
1079 template <
class Lhs_T,
class Rhs_T>
1081 std::remove_cvref_t<Rhs_T>>
1082 [[deprecated (
"use any_of() (since 6.0.0)"), nodiscard]]
constexpr auto
1083 operator or (Lhs_T&& lhs, Rhs_T&& rhs);
1098 [[deprecated (
"use negate() (since 6.0.0)"), nodiscard]]
constexpr auto
1099 operator not(T&& t);
1144 template <
char... Cs>
1146 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1147 nodiscard]]
constexpr auto
1160 template <
char... Cs>
1162 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1163 nodiscard]]
constexpr auto
1176 template <
char... Cs>
1178 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1179 nodiscard]]
constexpr auto
1193 template <
char... Cs>
1195 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1196 nodiscard]]
constexpr auto
1209 template <
char... Cs>
1211 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1212 nodiscard]]
constexpr auto
1226 template <
char... Cs>
1228 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1229 nodiscard]]
constexpr auto
1243 template <
char... Cs>
1245 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1246 nodiscard]]
constexpr auto
1260 template <
char... Cs>
1262 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1263 nodiscard]]
constexpr auto
1277 template <
char... Cs>
1279 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1280 nodiscard]]
constexpr auto
1294 template <
char... Cs>
1296 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1297 nodiscard]]
constexpr auto
1311 template <
char... Cs>
1313 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1314 nodiscard]]
constexpr auto
1327 template <
char... Cs>
1329 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1330 nodiscard]]
constexpr auto
1343 template <
char... Cs>
1345 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1346 nodiscard]]
constexpr auto
1359 template <
char... Cs>
1361 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1362 nodiscard]]
constexpr auto
1375 template <
char... Cs>
1377 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1378 nodiscard]]
constexpr auto
1391 template <
char... Cs>
1393 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1394 nodiscard]]
constexpr auto
1408 template <
char... Cs>
1410 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1411 nodiscard]]
constexpr auto
1425 template <
char... Cs>
1427 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1428 nodiscard]]
constexpr auto
1442 template <
char... Cs>
1444 "pass plain values to eq() and the other comparators (since 6.0.0)"),
1445 nodiscard]]
constexpr auto
1458 template <
char... Cs>
1459 [[deprecated (
"use approx() for tolerances (since 6.0.0)"),
1460 nodiscard]]
constexpr auto
1473 template <
char... Cs>
1474 [[deprecated (
"use approx() for tolerances (since 6.0.0)"),
1475 nodiscard]]
constexpr auto
1489 template <
char... Cs>
1490 [[deprecated (
"use approx() for tolerances (since 6.0.0)"),
1491 nodiscard]]
constexpr auto
1504 [[deprecated (
"use a plain bool and a check message (since 6.0.0)"),
1505 nodiscard]]
constexpr auto
1506 operator""_b (
const char* name,
decltype (
sizeof (
"")) size);
1564 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1576 using to_c [[deprecated (
1577 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1589 using to_sc [[deprecated (
1590 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1602 using to_s [[deprecated (
1603 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1615 using to_i [[deprecated (
1616 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1628 using to_l [[deprecated (
1629 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1641 using to_ll [[deprecated (
1642 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1654 using to_u [[deprecated (
1655 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1667 using to_uc [[deprecated (
1668 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1680 using to_us [[deprecated (
1681 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1693 using to_ul [[deprecated (
1694 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1706 using to_ull [[deprecated (
1707 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1720 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1732 using to_i16 [[deprecated (
1733 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1745 using to_i32 [[deprecated (
1746 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1758 using to_i64 [[deprecated (
1759 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1771 using to_u8 [[deprecated (
1772 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1784 using to_u16 [[deprecated (
1785 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1797 using to_u32 [[deprecated (
1798 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1810 using to_u64 [[deprecated (
1811 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1823 using to_f [[deprecated (
"use approx() for tolerances (since 6.0.0)")]]
1835 using to_d [[deprecated (
"use approx() for tolerances (since 6.0.0)")]]
1847 using to_ld [[deprecated (
"use approx() for tolerances (since 6.0.0)")]]
1894 struct [[deprecated (
1895 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
1903 constexpr explicit to_t (
const T& t);
1946 requires std::is_floating_point_v<T>
1947 [[deprecated (
"use approx (lhs, rhs, epsilon) (since 6.0.0)"),
1948 nodiscard]]
constexpr auto
1949 approx (T
value, std::type_identity_t<T> epsilon)
noexcept
1956#if defined(__GNUC__)
1957#pragma GCC diagnostic push
1959#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1999 using _b [[deprecated (
2000 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2010 using _c [[deprecated (
2011 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2021 using _sc [[deprecated (
2022 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2032 using _s [[deprecated (
2033 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2043 using _i [[deprecated (
2044 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2054 using _l [[deprecated (
2055 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2065 using _ll [[deprecated (
2066 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2077 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2087 using _uc [[deprecated (
2088 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2098 using _us [[deprecated (
2099 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2109 using _ul [[deprecated (
2110 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2120 using _ull [[deprecated (
2121 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2131 using _i8 [[deprecated (
2132 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2142 using _i16 [[deprecated (
2143 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2153 using _i32 [[deprecated (
2154 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2164 using _i64 [[deprecated (
2165 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2175 using _u8 [[deprecated (
2176 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2186 using _u16 [[deprecated (
2187 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2197 using _u32 [[deprecated (
2198 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2208 using _u64 [[deprecated (
2209 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2219 using _f [[deprecated (
"use approx() for tolerances (since 6.0.0)")]] =
to_f;
2228 using _d [[deprecated (
"use approx() for tolerances (since 6.0.0)")]] =
to_d;
2237 using _ld [[deprecated (
"use approx() for tolerances (since 6.0.0)")]]
2253 using _t [[deprecated (
2254 "pass plain values to eq() and the other comparators (since 6.0.0)")]]
2265#if defined(__GNUC__)
2266#pragma GCC diagnostic pop
2318 [[deprecated (
"use utility::extract_file_name() (since 6.0.0)"),
2319 nodiscard]]
const char*
2320 short_name (
const char* name)
noexcept;
2340 using runner_totals [[deprecated (
"use counters (since 6.0.0)")]]
2358 using timestamps [[deprecated (
"the timings are internal (since 6.0.0)")]]
2382 class [[deprecated (
"the timings are internal (since 6.0.0)")]]
timestamp
2403 timestamp (
const timespec& ts)
noexcept;
2466 has_clock (
void)
const noexcept;
2475 [[nodiscard]] timespec&
2476 value (
void)
noexcept;
2485 [[nodiscard]]
const timespec&
2486 value (
void)
const noexcept;
2542#if defined(__GNUC__)
2545#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
2551 [[deprecated (
"use the extension namespace (since 6.0.0)")]]
type_traits
2582 concept has_npos =
requires { T::npos; };
2603 concept has_value =
requires (
const T& t) { t.value; };
2636 template <
class... Types>
2654 template <
class T,
class... Extra>
2683#if !defined(__DOXYGEN__)
2704 template <
class R,
class... Args_T>
2737 template <
class R,
class... Args_T>
2772 template <
class R,
class T,
class... Args_T>
2808 template <
class R,
class T,
class... Args_T>
2817 using result_type = R;
2826 using args =
list<Args_T...>;
2876#if defined(__GNUC__)
2877#pragma GCC diagnostic pop
Aggregated check and test case counters for a node in the test tree.
Measures the elapsed time of an operation.
timestamp(void) noexcept
Constructs a timestamp with the current time.
The test runner for the µTest++ framework.
A named, runnable test case that lives inside a suite.
Concept satisfied when T provides both begin() and end() member functions returning an iterator and i...
Concept satisfied when at least one of two types is a framework expression type.
Concept satisfied when a type can be used as a test expression in expect() or require().
Deprecated concept satisfied when T is a framework floating-point wrapper with a tolerance.
Concept satisfied when a type is a framework expression type.
Concept satisfied when a type can be appended to the message of a check result via operator<<.
Deprecated concept satisfied when T provides a npos member.
Deprecated concept satisfied when T has a member named value.
Deprecated concept satisfied when T is a floating-point type.
C++ header file with declarations for the µTest++ counters.
C++ header file with inline implementations for the deprecated µTest++ definitions.
C++ header file with declarations for the µTest++ extension concepts.
C++ header file with declarations for the µTest++ function comparators.
detail::value< long > to_l
Deprecated strongly-typed wrapper for long values.
to_sc _sc
Deprecated strongly-typed wrapper for signed char values, the v5.0.1 name of to_sc.
detail::value< long long > to_ll
Deprecated strongly-typed wrapper for long long values.
to_u64 _u64
Deprecated strongly-typed wrapper for std::uint64_t values, the v5.0.1 name of to_u64.
to_t< T > _t
Deprecated generic strongly-typed wrapper, the v5.0.1 name of to_t.
detail::value< std::int32_t > to_i32
Deprecated strongly-typed wrapper for std::int32_t values.
to_f _f
Deprecated strongly-typed wrapper for float values, the v5.0.1 name of to_f.
to_i8 _i8
Deprecated strongly-typed wrapper for std::int8_t values, the v5.0.1 name of to_i8.
to_i64 _i64
Deprecated strongly-typed wrapper for std::int64_t values, the v5.0.1 name of to_i64.
to_ul _ul
Deprecated strongly-typed wrapper for unsigned long values, the v5.0.1 name of to_ul.
to_l _l
Deprecated strongly-typed wrapper for long values, the v5.0.1 name of to_l.
to_s _s
Deprecated strongly-typed wrapper for short values, the v5.0.1 name of to_s.
to_u32 _u32
Deprecated strongly-typed wrapper for std::uint32_t values, the v5.0.1 name of to_u32.
detail::value< std::int8_t > to_i8
Deprecated strongly-typed wrapper for std::int8_t values.
detail::value< float > to_f
Deprecated strongly-typed wrapper for float values.
detail::value< bool > to_b
Deprecated strongly-typed wrapper for bool values.
detail::value< std::int16_t > to_i16
Deprecated strongly-typed wrapper for std::int16_t values.
detail::value< unsigned long > to_ul
Deprecated strongly-typed wrapper for unsigned long values.
to_us _us
Deprecated strongly-typed wrapper for unsigned short values, the v5.0.1 name of to_us.
detail::value< char > to_c
Deprecated strongly-typed wrapper for char values.
to_d _d
Deprecated strongly-typed wrapper for double values, the v5.0.1 name of to_d.
to_i _i
Deprecated strongly-typed wrapper for int values, the v5.0.1 name of to_i.
detail::value< std::uint16_t > to_u16
Deprecated strongly-typed wrapper for std::uint16_t values.
detail::value< unsigned short > to_us
Deprecated strongly-typed wrapper for unsigned short values.
to_i32 _i32
Deprecated strongly-typed wrapper for std::int32_t values, the v5.0.1 name of to_i32.
detail::value< double > to_d
Deprecated strongly-typed wrapper for double values.
to_u16 _u16
Deprecated strongly-typed wrapper for std::uint16_t values, the v5.0.1 name of to_u16.
to_ll _ll
Deprecated strongly-typed wrapper for long long values, the v5.0.1 name of to_ll.
detail::value< unsigned > to_u
Deprecated strongly-typed wrapper for unsigned values.
to_uc _uc
Deprecated strongly-typed wrapper for unsigned char values, the v5.0.1 name of to_uc.
to_u _u
Deprecated strongly-typed wrapper for unsigned values, the v5.0.1 name of to_u.
detail::value< short > to_s
Deprecated strongly-typed wrapper for short values.
detail::value< std::uint8_t > to_u8
Deprecated strongly-typed wrapper for std::uint8_t values.
to_ld _ld
Deprecated strongly-typed wrapper for long double values, the v5.0.1 name of to_ld.
to_i16 _i16
Deprecated strongly-typed wrapper for std::int16_t values, the v5.0.1 name of to_i16.
to_b _b
Deprecated strongly-typed wrapper for bool values, the v5.0.1 name of to_b.
to_ull _ull
Deprecated strongly-typed wrapper for unsigned long long values, the v5.0.1 name of to_ull.
detail::value< unsigned char > to_uc
Deprecated strongly-typed wrapper for unsigned char values.
detail::value< unsigned long long > to_ull
Deprecated strongly-typed wrapper for unsigned long long values.
detail::value< signed char > to_sc
Deprecated strongly-typed wrapper for signed char values.
detail::value< std::int64_t > to_i64
Deprecated strongly-typed wrapper for std::int64_t values.
detail::value< long double > to_ld
Deprecated strongly-typed wrapper for long double values.
to_u8 _u8
Deprecated strongly-typed wrapper for std::uint8_t values, the v5.0.1 name of to_u8.
detail::value< int > to_i
Deprecated strongly-typed wrapper for int values.
detail::value< std::uint64_t > to_u64
Deprecated strongly-typed wrapper for std::uint64_t values.
to_c _c
Deprecated strongly-typed wrapper for char values, the v5.0.1 name of to_c.
detail::value< std::uint32_t > to_u32
Deprecated strongly-typed wrapper for std::uint32_t values.
constexpr auto mut(const T &t) noexcept -> T &
Deprecated generic mutator to remove const qualification from a reference.
constexpr auto _or(Lhs_T &&lhs, Rhs_T &&rhs)
Deprecated generic logical (inclusive) or operation, the v5.0.1 name of any_of().
constexpr auto _and(Lhs_T &&lhs, Rhs_T &&rhs)
Deprecated generic logical and operation, the v5.0.1 name of all_of().
constexpr auto _not(Expr_T &&expr)
Deprecated generic logical not operation, the v5.0.1 name of negate().
constexpr auto 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.
test_case subtest
Deprecated name of test_case.
runner static_runner
Deprecated name of runner.
stopwatch timestamps
Deprecated name of stopwatch.
counters runner_totals
Deprecated name of counters.
C++ header file with declarations for the µTest++ mathematical utilities.
Internal mathematical utilities for the µTest++ testing framework.
constexpr auto pow(const T base, const Exp_T exp) noexcept -> T
Generic exponentiation function to compute the power of a base raised to an exponent.
consteval auto den(void) -> T
Computes the decimal part of a number represented as an array of characters.
consteval auto den_size(void) -> T
Counts the decimal places of a number represented as an array of characters.
consteval auto integer_magnitude(void) -> unsigned long long
Computes the value of an integer literal of type T, before any negation.
consteval auto num(void) -> T
Computes the integral part of a decimal floating-point number represented as an array of characters.
consteval auto parse_integer_literal(void) -> integer_literal
Parses the characters of an integer literal.
constexpr auto count_decimals(Value_T value) -> T
Computes the number of decimal places of a value, with a precision of about seven digits.
constexpr auto decimal_epsilon(Value_T value) -> Value_T
Computes the default comparison tolerance of a floating-point value, one unit of its last decimal.
consteval auto count_literal_digits(void) -> std::size_t
Counts the decimal digits of a floating-point literal, before or after the decimal point.
Internal implementation details for the µTest++ framework.
constexpr auto integral_literal(void)
Creates the compile-time constant of an integer literal.
Deprecated user-defined literals of the test checks.
Deprecated comparison and logical operators of the test checks.
Reflection utilities for the µTest++ testing framework.
Deprecated v5.0.1 namespace of the concepts and of the value wrapper templates.
Primary namespace for the µTest++ testing framework.
C++ header file with declarations for the µTest++ reflection utilities.
C++ header file with declarations for the µTest++ test runner.
C++ header file with declarations for the µTest++ stopwatch.
Struct template representing a generic floating-point constant with custom size and precision.
constexpr T get(void) const noexcept
Getter for the compile-time constant value.
static constexpr auto value
The compile-time constant value.
static constexpr auto epsilon
The epsilon value used for floating-point comparisons.
T value_type
The type of the stored value.
Struct template representing a generic integral constant.
constexpr integral_constant(void) noexcept
Default constructor.
static constexpr auto value
The compile-time constant value.
constexpr auto operator-() const noexcept
Unary minus operator.
Struct template representing the absolute value of the minimum of a signed integral type,...
The result of parsing the characters of an integer literal.
unsigned long long value
The value of the literal.
bool is_too_large
Whether the value exceeds unsigned long long.
bool is_integer
Whether the characters form an integer literal.
constexpr std::string_view name(void) const noexcept
Returns the name of the constant.
std::string_view name_
The name of the constant.
bool value_type
The type of the value.
constexpr named_bool(std::string_view name) noexcept
Constructs a named boolean constant with the given name.
Empty base struct for the framework expression types.
constexpr value(const T &_value, const T precision) noexcept
Constructs a floating-point value with a specified precision.
constexpr value(const T &val)
Constructs a floating-point value with default precision.
T epsilon
The epsilon value used for floating-point comparisons.
Base struct template providing common storage and accessors for run-time value-wrapper types.
op op_type
Marker identifying the framework expression types.
T value_
The stored value.
constexpr const T & get(void) const noexcept
Getter for the stored value.
T value_type
The type of the stored value.
constexpr value_base(const T &v) noexcept
Constructs a value_base with the given value.
Struct template representing a generic value, accessible via a getter.
constexpr value(const T &_value) noexcept
Constructs a value object with the specified value.
Deprecated generic strongly-typed wrapper for explicit type conversion.
constexpr to_t(const T &t)
Constructor for the strongly-typed wrapper.
static constexpr auto epsilon
The epsilon value used for floating-point comparisons.
R result_type
The return type.
list< Args_T... > args
The parameter types, as a list.
R result_type
The return type.
list< Args_T... > args
The parameter types, as a list.
R result_type
The return type.
list< Args_T... > args
The parameter types, as a list.
Deprecated traits of the callable objects.
Deprecated identity type.
constexpr integral_constant(void) noexcept
Default constructor.
Deprecated empty type list.
Struct template representing a generic value, accessible via a getter.
constexpr value(const T &_value) noexcept
Constructs a value object with the specified value.
C++ header file with declarations for the µTest++ test hierarchy.