Files
Nuake-custom/Nuake/src/Core/Core.h
2023-07-07 17:21:57 -04:00

29 lines
586 B
C++

#pragma once
#include <memory>
#include <map>
#include <string>
#include <vector>
#define ASSERT(x) if (!(x)) assert(false)
template<typename T>
using Ref = std::shared_ptr<T>;
template<typename T>
using Scope = std::unique_ptr<T>;
template<typename T>
using Weak = std::weak_ptr<T>;
template<typename T, typename ... Args>
constexpr Ref<T> CreateRef(Args&& ... args)
{
return std::make_shared<T>(std::forward<Args>(args)...);
}
template<typename T, typename ... Args>
constexpr Scope<T> CreateScope(Args&& ... args)
{
return std::make_unique<T>(std::forward<Args>(args)...);
}