50#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_INLINES_LITERALS_INLINES_H_
51#define MICRO_OS_PLUS_MICRO_TEST_PLUS_INLINES_LITERALS_INLINES_H_
55#if defined(__cplusplus)
64#pragma GCC diagnostic push
66#pragma GCC diagnostic ignored "-Waggregate-return"
68#pragma clang diagnostic ignored "-Wc++98-compat"
69#pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
111 template <
char... Cs>
129 template <
char... Cs>
147 template <
char... Cs>
166 template <
char... Cs>
184 template <
char... Cs>
202 template <
char... Cs>
220 template <
char... Cs>
239 template <
char... Cs>
258 template <
char... Cs>
277 template <
char... Cs>
282 math::num<
unsigned long long, Cs...> ()>{};
296 template <
char... Cs>
315 template <
char... Cs>
334 template <
char... Cs>
353 template <
char... Cs>
372 template <
char... Cs>
391 template <
char... Cs>
410 template <
char... Cs>
429 template <
char... Cs>
448 template <
char... Cs>
453 float,
math::num<
unsigned long, Cs...> (),
469 template <
char... Cs>
474 double,
math::num<
unsigned long, Cs...> (),
490 template <
char... Cs>
495 long double,
math::num<
unsigned long long, Cs...> (),
517 operator""_b (
const char* name,
decltype (
sizeof (
"")) size)
533 using value_type = bool;
545 operator value_type ()
const
560 operator== (
const named&)
const
575 operator== (
const bool other)
const
581 return named{ { name, size }, {} };
613#pragma GCC diagnostic pop
type_traits::value< std::uint16_t > _u16
Strongly-typed wrapper for std::uint16_t values.
type_traits::value< unsigned long long > _ull
Strongly-typed wrapper for unsigned long long values.
type_traits::value< short > _s
Strongly-typed wrapper for short values.
type_traits::value< int > _i
Strongly-typed wrapper for int values.
type_traits::value< unsigned char > _uc
Strongly-typed wrapper for unsigned char values.
type_traits::value< std::uint8_t > _u8
Strongly-typed wrapper for std::uint8_t values.
type_traits::value< std::int8_t > _i8
Strongly-typed wrapper for std::int8_t values.
type_traits::value< std::int32_t > _i32
Strongly-typed wrapper for std::int32_t values.
constexpr _t(const T &t)
Constructor for the deprecated strongly-typed wrapper.
type_traits::value< unsigned short > _us
Strongly-typed wrapper for unsigned short values.
type_traits::value< double > _d
Strongly-typed wrapper for double values.
type_traits::value< long long > _ll
Strongly-typed wrapper for long long values.
type_traits::value< unsigned > _u
Strongly-typed wrapper for unsigned values.
type_traits::value< bool > _b
Strongly-typed wrapper for bool values.
type_traits::value< long double > _ld
Strongly-typed wrapper for long double values.
type_traits::value< unsigned long > _ul
Strongly-typed wrapper for unsigned long values.
constexpr to_t(const T &t)
Constructor for the strongly-typed wrapper.
type_traits::value< long > _l
Strongly-typed wrapper for long values.
type_traits::value< char > _c
Strongly-typed wrapper for char values.
type_traits::value< std::uint64_t > _u64
Strongly-typed wrapper for std::uint64_t values.
type_traits::value< signed char > _sc
Strongly-typed wrapper for signed char values.
type_traits::value< float > _f
Strongly-typed wrapper for float values.
type_traits::value< std::int64_t > _i64
Strongly-typed wrapper for std::int64_t values.
type_traits::value< std::int16_t > _i16
Strongly-typed wrapper for std::int16_t values.
type_traits::value< std::uint32_t > _u32
Strongly-typed wrapper for std::uint32_t values.
User-defined literals and type wrappers for the µTest++ testing framework.
consteval auto den(void) -> T
Computes the decimal part of a number represented as an array of characters.
consteval auto den_size(void) -> T
Computes the number of decimal places in a number represented as an array of characters.
consteval auto num(void) -> T
Computes the integral value of a number represented as an array of characters.
Type trait utilities and metaprogramming support for the µTest++ testing framework.
Primary namespace for the µTest++ testing framework.
Struct template representing a generic floating point constant with custom size and precision.
Struct template representing a generic integral constant.
Empty base struct for all operator types.
constexpr value(const T &_value, const T precision) noexcept
Constructs a floating-point value with a specified precision.