Add shared_ptr / unique_ptr alias

This commit is contained in:
scorpioblood 2024-05-23 21:35:43 +02:00
parent 16f30449a9
commit 88c0301166

View File

@ -1,4 +1,5 @@
#pragma once #pragma once
// TODO: Refactor documentation
#ifdef P_WIN_BUILD #ifdef P_WIN_BUILD
@ -43,15 +44,27 @@
namespace Phanes namespace Phanes
{ {
// Alias for shared_ptr
template<typename T> template<typename T>
using Ref = std::shared_ptr<T>; using Ref = std::shared_ptr<T>;
// Alias for make_shared
template<typename T, typename ...Args> template<typename T, typename ...Args>
constexpr Ref<T> MakeRef(Args&& ...args) constexpr Ref<T> MakeRef(Args&& ...args)
{ {
return std::make_shared<T>(std::forward<Args>(args)...); return std::make_shared<T>(std::forward<Args>(args)...);
} }
// Alias for unique ptr
template<typename T>
using Scope = std::unique_ptr<T>;
// Alias for make_unique
template<typename T, typename ...Args>
constexpr Scope<T> MakeScope(Args&& ...args)
{
return std::make_unique<T>(std::forward<Args>(args)...);
}
} }