summaryrefslogtreecommitdiffhomepage
path: root/dev/LibC++/base_alloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'dev/LibC++/base_alloc.h')
-rw-r--r--dev/LibC++/base_alloc.h74
1 files changed, 34 insertions, 40 deletions
diff --git a/dev/LibC++/base_alloc.h b/dev/LibC++/base_alloc.h
index b12fd0a..af5693b 100644
--- a/dev/LibC++/base_alloc.h
+++ b/dev/LibC++/base_alloc.h
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025 Amlal El Mahrouss, all rights reserved.
------------------------------------------- */
@@ -8,42 +8,36 @@
#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
+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