37 lines
921 B
C++
37 lines
921 B
C++
#ifndef CORE_HPP
|
|
#define CORE_HPP
|
|
|
|
#include <memory>
|
|
#ifdef __linux__
|
|
#ifdef OE_EXPORT
|
|
#define OE_API __attribute__((visibility("default")))
|
|
#else
|
|
#define OE_API
|
|
#endif
|
|
#elif defined(_WIN32) || defined(WIN32)
|
|
#error Windows is not yet supported
|
|
#endif
|
|
|
|
#ifdef OE_ENABLE_ASSERTS
|
|
#include <signal.h>
|
|
#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)
|
|
|
|
namespace OpenEngine {
|
|
template<typename T>
|
|
using Scope = std::unique_ptr<T>;
|
|
|
|
template<typename T>
|
|
using Ref = std::shared_ptr<T>;
|
|
}
|
|
|
|
#endif // CORE_HPP
|