#define SWR_INVALID(...) \
_SWR_INVALID_CONCAT(_SWR_INVALID_, _SWR_INVALID_VARGS(_SWR_INVALID_VARGS_0 __VA_ARGS__())) \
(__VA_ARGS__)
-#endif
+
+#define SWR_STATIC_ASSERT(expression, ...) \
+ static_assert((expression), "Failed:\n " #expression "\n " __VA_ARGS__);
+
+#endif // SWR_ENABLE_REL_ASSERTS
#endif // C++
#define SWR_REL_TRACE(_fmtstr, ...) \
_SWR_MACRO_START(void)(0); \
_SWR_MACRO_END
+#define SWR_STATIC_ASSERT(e, ...) \
+ _SWR_MACRO_START(void) sizeof(SwrSizeofWorkaround(e)); \
+ _SWR_MACRO_END
#endif
#if defined(_MSC_VER)