50#ifndef MICRO_TEST_PLUS_FUNCTION_COMPARATORS_H_
51#define MICRO_TEST_PLUS_FUNCTION_COMPARATORS_H_
60#pragma GCC diagnostic push
61#pragma GCC diagnostic ignored "-Wpadded"
62#pragma GCC diagnostic ignored "-Waggregate-return"
64#pragma clang diagnostic ignored "-Wc++98-compat"
65#pragma clang diagnostic ignored "-Wunknown-warning-option"
84 template <
class Lhs_T,
class Rhs_T>
85 [[nodiscard]]
constexpr auto
86 eq (
const Lhs_T& lhs,
const Rhs_T& rhs);
99 template <
class Lhs_T,
class Rhs_T>
100 [[nodiscard]]
constexpr auto
101 eq (Lhs_T* lhs, Rhs_T* rhs);
114 template <
class Lhs_T,
class Rhs_T>
115 [[nodiscard]]
constexpr auto
116 ne (
const Lhs_T& lhs,
const Rhs_T& rhs);
130 template <
class Lhs_T,
class Rhs_T>
131 [[nodiscard]]
constexpr auto
132 ne (Lhs_T* lhs, Rhs_T* rhs);
145 template <
class Lhs_T,
class Rhs_T>
146 [[nodiscard]]
constexpr auto
147 gt (
const Lhs_T& lhs,
const Rhs_T& rhs);
160 template <
class Lhs_T,
class Rhs_T>
161 [[nodiscard]]
constexpr auto
162 gt (Lhs_T* lhs, Rhs_T* rhs);
176 template <
class Lhs_T,
class Rhs_T>
177 [[nodiscard]]
constexpr auto
178 ge (
const Lhs_T& lhs,
const Rhs_T& rhs);
192 template <
class Lhs_T,
class Rhs_T>
193 [[nodiscard]]
constexpr auto
194 ge (Lhs_T* lhs, Rhs_T* rhs);
208 template <
class Lhs_T,
class Rhs_T>
209 [[nodiscard]]
constexpr auto
210 lt (
const Lhs_T& lhs,
const Rhs_T& rhs);
224 template <
class Lhs_T,
class Rhs_T>
225 [[nodiscard]]
constexpr auto
226 lt (Lhs_T* lhs, Rhs_T* rhs);
240 template <
class Lhs_T,
class Rhs_T>
241 [[nodiscard]]
constexpr auto
242 le (
const Lhs_T& lhs,
const Rhs_T& rhs);
256 template <
class Lhs_T,
class Rhs_T>
257 [[nodiscard]]
constexpr auto
258 le (Lhs_T* lhs, Rhs_T* rhs);
269 template <
class Expr_T>
270 [[nodiscard]]
constexpr auto
271 _not (
const Expr_T& expr);
285 template <
class Lhs_T,
class Rhs_T>
286 [[nodiscard]]
constexpr auto
287 _and (
const Lhs_T& lhs,
const Rhs_T& rhs);
301 template <
class Lhs_T,
class Rhs_T>
302 [[nodiscard]]
constexpr auto
303 _or (
const Lhs_T& lhs,
const Rhs_T& rhs);
315 [[nodiscard]]
constexpr auto
316 mut (
const T& t)
noexcept -> T&;
319#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.