mirror of
https://github.com/hyprwm/aquamarine.git
synced 2024-11-17 07:15:59 +01:00
20 lines
No EOL
1.4 KiB
C++
20 lines
No EOL
1.4 KiB
C++
#pragma once
|
|
|
|
#include <iostream>
|
|
#include <format>
|
|
#include <signal.h>
|
|
|
|
namespace Aquamarine {
|
|
bool envEnabled(const std::string& env);
|
|
};
|
|
|
|
#define RASSERT(expr, reason, ...) \
|
|
if (!(expr)) { \
|
|
std::cout << std::format("\n==========================================================================================\nASSERTION FAILED! \n\n{}\n\nat: line {} in {}", \
|
|
std::format(reason, ##__VA_ARGS__), __LINE__, \
|
|
([]() constexpr -> std::string { return std::string(__FILE__).substr(std::string(__FILE__).find_last_of('/') + 1); })()); \
|
|
std::cout << "[Aquamarine] Assertion failed!"; \
|
|
raise(SIGABRT); \
|
|
}
|
|
|
|
#define ASSERT(expr) RASSERT(expr, "?") |