diff options
Diffstat (limited to 'dev/LibC++/base_alloc.h')
| -rw-r--r-- | dev/LibC++/base_alloc.h | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/dev/LibC++/base_alloc.h b/dev/LibC++/base_alloc.h deleted file mode 100644 index ea5b5b2..0000000 --- a/dev/LibC++/base_alloc.h +++ /dev/null @@ -1,43 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license. - -======================================== */ - -#pragma once - -#include <LibC++/defines.h> - -namespace std::base_alloc { -/// @brief allocate a new class. -/// @tparam KindClass the class type to allocate. -template <typename KindClass, typename... Args> -inline KindClass* allocate(Args&&... args) { - return new KindClass(forward(args)...); -} - -/// @brief allocate a new class. -/// @note aborts on error. -/// @tparam KindClass the class type to allocate. -template <typename KindClass, typename... Args> -inline KindClass* allocate_nothrow(Args&&... args) noexcept { - return allocate(forward(args)...); -} - -/// @brief free a class. -/// @tparam KindClass the class type to allocate. -template <typename KindClass> -inline void release(KindClass ptr) { - if (!ptr) return; - - delete ptr; -} - -/// @brief destroy and free a class. -/// @note aborts on error. -/// @tparam KindClass the class type to allocate. -template <typename KindClass> -inline void release_nothrow(KindClass ptr) noexcept { - release(ptr); -} -} // namespace std::base_alloc |
