49#ifndef MICRO_TEST_PLUS_FUNCTION_COMPARATORS_INLINES_H_
50#define MICRO_TEST_PLUS_FUNCTION_COMPARATORS_INLINES_H_
63#pragma GCC diagnostic push
64#pragma GCC diagnostic ignored "-Waggregate-return"
66#pragma clang diagnostic ignored "-Wc++98-compat"
67#pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
83 template <
class Lhs_T,
class Rhs_T>
84 [[nodiscard]]
constexpr auto
85 eq (
const Lhs_T& lhs,
const Rhs_T& rhs)
98 template <
class Lhs_T,
class Rhs_T>
99 [[nodiscard]]
constexpr auto
100 eq (Lhs_T* lhs, Rhs_T* rhs)
113 template <
class Lhs_T,
class Rhs_T>
114 [[nodiscard]]
constexpr auto
115 ne (
const Lhs_T& lhs,
const Rhs_T& rhs)
128 template <
class Lhs_T,
class Rhs_T>
129 [[nodiscard]]
constexpr auto
130 ne (Lhs_T* lhs, Rhs_T* rhs)
143 template <
class Lhs_T,
class Rhs_T>
144 [[nodiscard]]
constexpr auto
145 gt (
const Lhs_T& lhs,
const Rhs_T& rhs)
158 template <
class Lhs_T,
class Rhs_T>
159 [[nodiscard]]
constexpr auto
160 gt (Lhs_T* lhs, Rhs_T* rhs)
173 template <
class Lhs_T,
class Rhs_T>
174 [[nodiscard]]
constexpr auto
175 ge (
const Lhs_T& lhs,
const Rhs_T& rhs)
189 template <
class Lhs_T,
class Rhs_T>
190 [[nodiscard]]
constexpr auto
191 ge (Lhs_T* lhs, Rhs_T* rhs)
204 template <
class Lhs_T,
class Rhs_T>
205 [[nodiscard]]
constexpr auto
206 lt (
const Lhs_T& lhs,
const Rhs_T& rhs)
219 template <
class Lhs_T,
class Rhs_T>
220 [[nodiscard]]
constexpr auto
221 lt (Lhs_T* lhs, Rhs_T* rhs)
234 template <
class Lhs_T,
class Rhs_T>
235 [[nodiscard]]
constexpr auto
236 le (
const Lhs_T& lhs,
const Rhs_T& rhs)
250 template <
class Lhs_T,
class Rhs_T>
251 [[nodiscard]]
constexpr auto
252 le (Lhs_T* lhs, Rhs_T* rhs)
268 template <
class Expr_T>
269 [[nodiscard]]
constexpr auto
286 template <
class Lhs_T,
class Rhs_T>
287 [[nodiscard]]
constexpr auto
288 _and (
const Lhs_T& lhs,
const Rhs_T& rhs)
304 template <
class Lhs_T,
class Rhs_T>
305 [[nodiscard]]
constexpr auto
306 _or (
const Lhs_T& lhs,
const Rhs_T& rhs)
320 [[nodiscard]]
constexpr auto
321 mut (
const T& t)
noexcept -> T&
323 return const_cast<T&
> (t);
330#pragma GCC diagnostic pop
constexpr auto le(const Lhs_T &lhs, const Rhs_T &rhs)
Generic less than or equal comparator.
constexpr auto ge(const Lhs_T &lhs, const Rhs_T &rhs)
Generic greater than or equal comparator.
constexpr auto ne(const Lhs_T &lhs, const Rhs_T &rhs)
Generic non-equality comparator.
constexpr auto lt(const Lhs_T &lhs, const Rhs_T &rhs)
Generic less than comparator.
constexpr auto gt(const Lhs_T &lhs, const Rhs_T &rhs)
Generic greater than comparator.
constexpr auto eq(const Lhs_T &lhs, const Rhs_T &rhs)
Generic equality comparator for non-pointer types.
constexpr auto _and(const Lhs_T &lhs, const Rhs_T &rhs)
Generic logical and operation.
constexpr auto _or(const Lhs_T &lhs, const Rhs_T &rhs)
Generic logical or operation.
constexpr auto _not(const Expr_T &expr)
Generic logical not operation.
constexpr auto mut(const T &t) noexcept -> T &
Generic mutator to remove const qualification from any type.
Primary namespace for the µTest++ testing framework.
Logical AND comparator struct template.
Equality comparator struct template.
Greater than or equal comparator struct template.
Greater than comparator struct template.
Less than or equal comparator struct template.
Less than comparator struct template.
Non-equality comparator struct template.
Logical NOT comparator struct template.
Logical OR comparator struct template.