#ifndef CORE_HPP #define CORE_HPP #include "open_engine/instrumentor.hpp" #ifdef OE_ENABLE_ASSERTS #include #define OE_ASSERT(x, ...) { if (!(x)) { OE_ERROR("Assertion Failed: {0}", __VA_ARGS__); raise(SIGTRAP); } } #define OE_CORE_ASSERT(x, ...) { if (!(x)) { OE_CORE_ERROR("Assertion Failed: {0}", __VA_ARGS__); raise(SIGTRAP); } } #else #define OE_ASSERT(x, ...) #define OE_CORE_ASSERT(x, ...) #endif #define BIT(x) (1 << x) //#define BIND_EVENT_FN(function) std::bind(&function, this, std::placeholders::_1) #define BIND_EVENT_FN(fn) [this](auto&&...args) -> decltype(auto) { return this->fn(std::forward(args)...); } #endif // CORE_HPP