BAN: Move RefPtr to its own file and create New.h

New.h contains definitions for placement new operators and
BAN::allocator and BAN::dealloctor
This commit is contained in:
Bananymous 2023-04-10 21:03:41 +03:00
parent 781cc78a1f
commit cfa025acae
14 changed files with 36 additions and 35 deletions

View File

@ -1,9 +0,0 @@
#include <BAN/Memory.h>
void* operator new(size_t size) { return BAN::allocator(size); }
void* operator new[](size_t size) { return BAN::allocator(size); }
void operator delete(void* addr) { BAN::deallocator(addr); }
void operator delete[](void* addr) { BAN::deallocator(addr); }
void operator delete(void* addr, size_t) { BAN::deallocator(addr); }
void operator delete[](void* addr, size_t) { BAN::deallocator(addr); }

9
BAN/BAN/New.cpp Normal file
View File

@ -0,0 +1,9 @@
#include <BAN/New.h>
void* operator new(size_t size) { return BAN::allocator(size); }
void* operator new[](size_t size) { return BAN::allocator(size); }
void operator delete(void* addr) { BAN::deallocator(addr); }
void operator delete[](void* addr) { BAN::deallocator(addr); }
void operator delete(void* addr, size_t) { BAN::deallocator(addr); }
void operator delete[](void* addr, size_t) { BAN::deallocator(addr); }

View File

@ -1,7 +1,7 @@
#include <BAN/Errors.h>
#include <BAN/Math.h>
#include <BAN/Memory.h>
#include <BAN/Move.h>
#include <BAN/New.h>
#include <BAN/String.h>
#include <BAN/StringView.h>

View File

@ -2,7 +2,7 @@
#include <BAN/Errors.h>
#include <BAN/Move.h>
#include <BAN/Memory.h>
#include <BAN/New.h>
namespace BAN
{

View File

@ -1,8 +1,8 @@
#pragma once
#include <BAN/Errors.h>
#include <BAN/Memory.h>
#include <BAN/Move.h>
#include <BAN/New.h>
namespace BAN
{

18
BAN/include/BAN/New.h Normal file
View File

@ -0,0 +1,18 @@
#pragma once
#if defined(__is_kernel)
#include <kernel/kmalloc.h>
#else
#include <stdlib.h>
#endif
namespace BAN
{
#if defined(__is_kernel)
static constexpr void*(&allocator)(size_t) = kmalloc;
static constexpr void(&deallocator)(void*) = kfree;
#else
static constexpr void*(&allocator)(size_t) = malloc;
static constexpr void(&deallocator)(void*) = free;
#endif
}

View File

@ -3,8 +3,8 @@
#include <BAN/Errors.h>
#include <BAN/Iterators.h>
#include <BAN/Math.h>
#include <BAN/Memory.h>
#include <BAN/Move.h>
#include <BAN/New.h>
namespace BAN
{

View File

@ -1,27 +1,12 @@
#pragma once
#include <BAN/Errors.h>
#include <BAN/Move.h>
#include <BAN/NoCopyMove.h>
#if defined(__is_kernel)
#include <kernel/kmalloc.h>
#else
#include <stdlib.h>
#endif
#include <stdint.h>
namespace BAN
{
#if defined(__is_kernel)
static constexpr void*(&allocator)(size_t) = kmalloc;
static constexpr void(&deallocator)(void*) = kfree;
#else
static constexpr void*(&allocator)(size_t) = malloc;
static constexpr void(&deallocator)(void*) = free;
#endif
template<typename T>
class RefCounted
@ -131,4 +116,4 @@ namespace BAN
T* m_pointer = nullptr;
};
}
}

View File

@ -3,8 +3,8 @@
#include <BAN/Errors.h>
#include <BAN/Iterators.h>
#include <BAN/Math.h>
#include <BAN/Memory.h>
#include <BAN/Move.h>
#include <BAN/New.h>
#include <BAN/Span.h>
namespace BAN

View File

@ -79,7 +79,7 @@ else()
endif()
set(BAN_SOURCES
../BAN/BAN/Memory.cpp
../BAN/BAN/New.cpp
../BAN/BAN/String.cpp
../BAN/BAN/StringView.cpp
../BAN/BAN/Time.cpp

View File

@ -1,6 +1,5 @@
#pragma once
#include <BAN/Memory.h>
#include <kernel/FS/Inode.h>
namespace Kernel

View File

@ -1,6 +1,6 @@
#pragma once
#include <BAN/Memory.h>
#include <BAN/RefPtr.h>
#include <BAN/String.h>
#include <BAN/StringView.h>
#include <BAN/Vector.h>

View File

@ -1,7 +1,6 @@
#pragma once
#include <BAN/LinkedList.h>
#include <BAN/Memory.h>
#include <kernel/Semaphore.h>
#include <kernel/Thread.h>

View File

@ -1,7 +1,7 @@
#pragma once
#include <BAN/Memory.h>
#include <BAN/NoCopyMove.h>
#include <BAN/RefPtr.h>
#include <sys/types.h>