Simple macros. More...
Macros | |
#define | if_constexpr if constexpr |
Helper macro to fix indenting problems with editors which don't know the constexpr keyword... More... | |
#define | SYTEN_ASSERT(x) if (!(x)) { issue_error(#x, __FILE__, SYTEN_STRINGIFY(__LINE__)); } |
Throws a std::runtime_error if the first argument evaluates to false. More... | |
#define | SYTEN_ASSERT_DEBUG(x) |
Behaves like SYTEN_ASSERT for debug builds and expands to nothing otherwise. More... | |
#define | SYTEN_ASSERT_MSG(x, ...) if (!(x)) { issue_error(#x, __FILE__, SYTEN_STRINGIFY(__LINE__), __VA_ARGS__); } |
Throws a std::runtime_error if the first argument evaluates to false and prints all other arguments using logGE(). More... | |
#define | SYTEN_ASSERT_MSG_DEBUG(x, ...) |
Behaves like SYTEN_ASSERT_MSG for debug builds and expands to nothing otherwise. More... | |
#define | SYTEN_EXIT(code, ...) { issue_warning("[forced exit]", __FILE__, SYTEN_STRINGIFY(__LINE__), __VA_ARGS__); std::exit(code); } |
Prints the supplied message, generates a backtrace and exits using the first argument as error code. More... | |
#define | SYTEN_INFO_DEBUG_BUILD "no" |
"yes" if this is a debug build, "no" if it isn't More... | |
#define | SYTEN_INFO_DEBUG_LOG(...) |
#define | SYTEN_INFO_OPENMP "no" |
three comma-separated elements if OpenMP is enabled, "no" otherwise More... | |
#define | SYTEN_INFO_OPENMP_ENABLED "no" |
"yes" if OpenMP is enabled, "no" otherwise More... | |
#define | SYTEN_INFO_STENSOR "STensor enabled up to rank " SYTEN_STRINGIFY(SYTEN_STENSOR_MAX_RANK) "." |
Describes the STensor configuration. More... | |
#define | SYTEN_LAMBDA(x) [&]() { return x; } |
Constructs an all-capturing lambda which returns the argument on call. More... | |
#define | SYTEN_SINGLE_ARG(...) __VA_ARGS__ |
Singlifies arguments, useful if they contain commas. More... | |
#define | SYTEN_STRINGIFY(...) SYTEN_QUOTE(__VA_ARGS__) |
Stringifies the argument with macro expansion. More... | |
#define | SYTEN_WARN(x) if (!(x)) { issue_warning(#x, __FILE__, SYTEN_STRINGIFY(__LINE__)); } |
Prints a warning if the first argument evaluates to false. More... | |
#define | SYTEN_WARN_DEBUG(x) |
Behaves like SYTEN_WARN for debug builds and expands to nothing otherwise. More... | |
#define | SYTEN_WARN_MSG(x, ...) if (!(x)) { issue_warning(#x, __FILE__, SYTEN_STRINGIFY(__LINE__), __VA_ARGS__); } |
Prints a warning if the first argument evaluates to false and prints all other arguments using logGW(). More... | |
#define | SYTEN_WARN_MSG_DEBUG(x, ...) |
Behaves like SYTEN_WARN_MSG for debug builds and expands to nothing otherwise. More... | |
Simple macros.