diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-01-12 20:54:09 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-01-12 20:54:09 +0100 |
| commit | ef7f9bead82e73ff3efd4577a20e5170b017a859 (patch) | |
| tree | e54802488350234b4ac8a5a98d573096a21ce83c /include/LibNectar/base_alloc.h | |
| parent | ff7ee3e3e070a2abee70fd93062065060118cf9e (diff) | |
chore: Nectar Generics Library improvements.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'include/LibNectar/base_alloc.h')
| -rw-r--r-- | include/LibNectar/base_alloc.h | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/include/LibNectar/base_alloc.h b/include/LibNectar/base_alloc.h deleted file mode 100644 index 81a3299..0000000 --- a/include/LibNectar/base_alloc.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) -// Licensed under the Apache License, Version 2.0 (See accompanying -// file LICENSE or copy at http://www.apache.org/licenses/LICENSE-2.0) -// Official repository: https://github.com/nekernel-org/nectar - -#ifndef NECTAR_LIBNECTAR_BASE_ALLOC_H -#define NECTAR_LIBNECTAR_BASE_ALLOC_H - -#include <LibNectar/defines.h> - -/// @brief allocate a new class. -/// @tparam KindClass the class type to allocate. -template <class 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 <class 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 <class 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 <class KindClass> -inline void release_nothrow(KindClass ptr) noexcept { - release(ptr); -} - -#endif // NECTAR_LIBNECTAR_BASE_ALLOC_H |
