Skip to content

Commit

Permalink
feat: placement new
Browse files Browse the repository at this point in the history
Signed-off-by: Zone.N <[email protected]>
  • Loading branch information
MRNIU committed Jan 19, 2025
1 parent f1e9e2e commit 827899e
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions src/kernel/libcxx/include/sk_new
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@

#include <cstddef>

void* operator new(size_t) noexcept;
[[nodiscard]] void* operator new(size_t) noexcept;

void* operator new[](size_t) noexcept;
[[nodiscard]] void* operator new[](size_t) noexcept;

void* operator new(size_t, size_t) noexcept;
[[nodiscard]] void* operator new(size_t, size_t) noexcept;

void* operator new[](size_t, size_t) noexcept;
[[nodiscard]] void* operator new[](size_t, size_t) noexcept;

void operator delete(void*);

Expand All @@ -35,4 +35,18 @@ void operator delete[](void*);

void operator delete[](void*, size_t);

// Default placement versions of operator new.
[[nodiscard]] __always_inline void* operator new(std::size_t,
void* p) noexcept {
return p;
}
[[nodiscard]] __always_inline void* operator new[](std::size_t,
void* p) noexcept {
return p;
}

// Default placement versions of operator delete.
__always_inline void operator delete(void*, void*) noexcept {}
__always_inline void operator delete[](void*, void*) noexcept {}

#endif /* SIMPLEKERNEL_SRC_KERNEL_LIBCXX_INCLUDE_SK_NEW_ */

0 comments on commit 827899e

Please sign in to comment.