46#ifndef MICRO_TEST_PLUS_OPERATORS_H_
47#define MICRO_TEST_PLUS_OPERATORS_H_
62#pragma GCC diagnostic push
63#pragma GCC diagnostic ignored "-Wpadded"
64#pragma GCC diagnostic ignored "-Waggregate-return"
66#pragma clang diagnostic ignored "-Wc++98-compat"
119 [[nodiscard]]
constexpr auto
120 operator== (std::string_view lhs, std::string_view rhs);
131 [[nodiscard]]
constexpr auto
132 operator!= (std::string_view lhs, std::string_view rhs);
148 template <
class Lhs_T,
class Rhs_T>
149 requires (type_traits::container_like<Lhs_T>
150 and type_traits::container_like<Rhs_T>)
151 [[nodiscard]]
constexpr auto
152 operator== (
const Lhs_T& lhs,
const Rhs_T& rhs);
168 template <
class Lhs_T,
class Rhs_T>
169 requires (type_traits::container_like<Lhs_T>
170 and type_traits::container_like<Rhs_T>)
171 [[nodiscard]]
constexpr auto
172 operator!= (
const Lhs_T& lhs,
const Rhs_T& rhs);
187 template <
class Lhs_T,
class Rhs_T>
188 requires type_traits::any_op<Lhs_T, Rhs_T>
189 [[nodiscard]]
constexpr auto
190 operator== (
const Lhs_T& lhs,
const Rhs_T& rhs);
205 template <
class Lhs_T,
class Rhs_T>
206 requires type_traits::any_op<Lhs_T, Rhs_T>
207 [[nodiscard]]
constexpr auto
208 operator!= (
const Lhs_T& lhs,
const Rhs_T& rhs);
223 template <
class Lhs_T,
class Rhs_T>
224 requires type_traits::any_op<Lhs_T, Rhs_T>
225 [[nodiscard]]
constexpr auto
226 operator> (
const Lhs_T& lhs,
const Rhs_T& rhs);
241 template <
class Lhs_T,
class Rhs_T>
242 requires type_traits::any_op<Lhs_T, Rhs_T>
243 [[nodiscard]]
constexpr auto
244 operator>= (
const Lhs_T& lhs,
const Rhs_T& rhs);
259 template <
class Lhs_T,
class Rhs_T>
260 requires type_traits::any_op<Lhs_T, Rhs_T>
261 [[nodiscard]]
constexpr auto
262 operator< (
const Lhs_T& lhs,
const Rhs_T& rhs);
277 template <
class Lhs_T,
class Rhs_T>
278 requires type_traits::any_op<Lhs_T, Rhs_T>
279 [[nodiscard]]
constexpr auto
280 operator<= (
const Lhs_T& lhs,
const Rhs_T& rhs);
295 template <
class Lhs_T,
class Rhs_T>
296 requires type_traits::any_op<Lhs_T, Rhs_T>
297 [[nodiscard]]
constexpr auto
298 operator and (
const Lhs_T& lhs,
const Rhs_T& rhs);
313 template <
class Lhs_T,
class Rhs_T>
314 requires type_traits::any_op<Lhs_T, Rhs_T>
315 [[nodiscard]]
constexpr auto
316 operator or (
const Lhs_T& lhs,
const Rhs_T& rhs);
331 requires type_traits::is_op<T>
332 [[nodiscard]]
constexpr auto
333 operator not(
const T& t);
342#pragma GCC diagnostic pop
constexpr auto operator<=(const Lhs_T &lhs, const Rhs_T &rhs)
Less than or equal operator. Matches only if at least one operand is of local type (derived from loca...
constexpr auto operator<(const Lhs_T &lhs, const Rhs_T &rhs)
Less than operator. Matches only if at least one operand is of local type (derived from local op).
constexpr auto operator>=(const Lhs_T &lhs, const Rhs_T &rhs)
Greater than or equal operator. Matches only if at least one operand is of local type (derived from l...
constexpr auto operator>(const Lhs_T &lhs, const Rhs_T &rhs)
Greater than operator. Matches only if at least one operand is of local type (derived from local op).
constexpr auto operator!=(std::string_view lhs, std::string_view rhs)
Non-equality operator for string_view objects.
constexpr auto operator==(std::string_view lhs, std::string_view rhs)
Equality operator for string_view objects.
Custom operator overloads for expressive and type-safe test assertions.
Primary namespace for the µTest++ testing framework.
C++ header file with inline implementations for the µTest++ operator overloads.
C++ header file with declarations for the µTest++ type trait utilities and metaprogramming support.