hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/core/memory.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-14 00:42:05 +0200
committerhachem <im@hachem.wtf>2025-08-14 00:42:05 +0200
commit0d8b874c0048ca088bb9e353a5f7c62e1f8cd0e8 (patch)
tree2c0f3b13161489e4e91994882f8f2ed67a20bc0e /src/core/memory.h
parent9671d5e54484b8bce261207d08ff15053ae24e48 (diff)
feat: custom memory managers and fix includes
Diffstat (limited to 'src/core/memory.h')
-rw-r--r--src/core/memory.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/memory.h b/src/core/memory.h
new file mode 100644
index 0000000..cbfbe82
--- /dev/null
+++ b/src/core/memory.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <memory>
+
+namespace Donut
+{
+ template<typename T>
+ using Ref = std::shared_ptr<T>;
+
+ template<typename T>
+ using Scope = std::unique_ptr<T>;
+
+ template<typename T, typename ... Args>
+ constexpr Scope<T> create_scope(Args&& ... args)
+ {
+ return std::make_unique<T>(std::forward<Args>(args)...);
+ }
+
+ template<typename T, typename ... Args>
+ constexpr Ref<T> create_ref(Args&& ... args)
+ {
+ return std::make_shared<T>(std::forward<Args>(args)...);
+ }
+};