46#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_OPERATORS_H_
47#define MICRO_OS_PLUS_MICRO_TEST_PLUS_OPERATORS_H_
51#if defined(__cplusplus)
55#if __has_include("micro-os-plus/project-config.h")
56#include "micro-os-plus/project-config.h"
59#if __has_include("micro-os-plus/micro-test-plus-defines.h")
60#include "micro-os-plus/micro-test-plus-defines.h"
70#pragma GCC diagnostic push
72#pragma GCC diagnostic ignored "-Wpadded"
73#pragma GCC diagnostic ignored "-Waggregate-return"
75#pragma clang diagnostic ignored "-Wc++98-compat"
128 [[nodiscard]]
constexpr auto
129 operator== (std::string_view lhs, std::string_view rhs);
140 [[nodiscard]]
constexpr auto
141 operator!= (std::string_view lhs, std::string_view rhs);
157 template <
class Lhs_T,
class Rhs_T>
158 requires (type_traits::container_like<Lhs_T>
159 and type_traits::container_like<Rhs_T>)
160 [[nodiscard]]
constexpr auto
161 operator== (
const Lhs_T& lhs,
const Rhs_T& rhs);
177 template <
class Lhs_T,
class Rhs_T>
178 requires (type_traits::container_like<Lhs_T>
179 and type_traits::container_like<Rhs_T>)
180 [[nodiscard]]
constexpr auto
181 operator!= (
const Lhs_T& lhs,
const Rhs_T& rhs);
196 template <
class Lhs_T,
class Rhs_T>
197 requires type_traits::any_op<Lhs_T, Rhs_T>
198 [[nodiscard]]
constexpr auto
199 operator== (
const Lhs_T& lhs,
const Rhs_T& rhs);
214 template <
class Lhs_T,
class Rhs_T>
215 requires type_traits::any_op<Lhs_T, Rhs_T>
216 [[nodiscard]]
constexpr auto
217 operator!= (
const Lhs_T& lhs,
const Rhs_T& rhs);
232 template <
class Lhs_T,
class Rhs_T>
233 requires type_traits::any_op<Lhs_T, Rhs_T>
234 [[nodiscard]]
constexpr auto
235 operator> (
const Lhs_T& lhs,
const Rhs_T& rhs);
250 template <
class Lhs_T,
class Rhs_T>
251 requires type_traits::any_op<Lhs_T, Rhs_T>
252 [[nodiscard]]
constexpr auto
253 operator>= (
const Lhs_T& lhs,
const Rhs_T& rhs);
268 template <
class Lhs_T,
class Rhs_T>
269 requires type_traits::any_op<Lhs_T, Rhs_T>
270 [[nodiscard]]
constexpr auto
271 operator< (
const Lhs_T& lhs,
const Rhs_T& rhs);
286 template <
class Lhs_T,
class Rhs_T>
287 requires type_traits::any_op<Lhs_T, Rhs_T>
288 [[nodiscard]]
constexpr auto
289 operator<= (
const Lhs_T& lhs,
const Rhs_T& rhs);
304 template <
class Lhs_T,
class Rhs_T>
305 requires type_traits::any_op<Lhs_T, Rhs_T>
306 [[nodiscard]]
constexpr auto
307 operator and (
const Lhs_T& lhs,
const Rhs_T& rhs);
322 template <
class Lhs_T,
class Rhs_T>
323 requires type_traits::any_op<Lhs_T, Rhs_T>
324 [[nodiscard]]
constexpr auto
325 operator or (
const Lhs_T& lhs,
const Rhs_T& rhs);
340 requires type_traits::is_op<T>
341 [[nodiscard]]
constexpr auto
342 operator not(
const T& t);
351#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.