Loading...
Searching...
No Matches
4# define RSTD_OS_WINDOWS 1
8# define RSTD_OS_LINUX 1
12# define RSTD_OS_APPLE 1
15#if defined(__unix__) || defined(__APPLE__)
16# define RSTD_OS_UNIX 1
19#define USE_TRAIT(Class) \
21 template<typename, typename> \
22 friend struct rstd::Impl; \
23 template<typename _USE_TRAIT_T> \
24 requires rstd::Impled<Self, rstd::cmp::PartialEq<_USE_TRAIT_T>> \
25 friend bool operator==(const Self& a, const _USE_TRAIT_T& b) noexcept { \
26 return as<rstd::cmp::PartialEq<_USE_TRAIT_T>>(a).eq(b); \
30# define debug_assert(...) ((void)0)
31# define debug_assert_eq(...) ((void)0)
33# define debug_assert(EXP, ...) \
34 if (! (EXP)) rstd::assert_fmt(#EXP __VA_OPT__(, ) __VA_ARGS__)
35# define debug_assert_eq(A, B) \
36 if ((A) != (B)) rstd::assert_fmt("(" #A " == " #B ")")
39#define assert(EXP, ...) \
40 if (! (EXP)) rstd::assert_fmt(#EXP __VA_OPT__(, ) __VA_ARGS__)
41#define assert_eq(A, B) \
42 if ((A) != (B)) rstd::assert_fmt("(" #A " == " #B ")")