Plasma Engine  2.0
Loading...
Searching...
No Matches
AllocatorWithPolicy.h
1#pragma once
2
3#include <Foundation/Math/Math.h>
4#include <Foundation/Memory/Allocator.h>
5#include <Foundation/Memory/MemoryTracker.h>
6#include <Foundation/Threading/ThreadUtils.h>
7
8PL_MAKE_MEMBERFUNCTION_CHECKER(Reallocate, plHasReallocate);
9
10#include <Foundation/Memory/Implementation/AllocatorMixin_inl.h>
11
16template <typename AllocationPolicy, plAllocatorTrackingMode TrackingMode = plAllocatorTrackingMode::Default>
17class plAllocatorWithPolicy : public plInternal::plAllocatorMixinReallocate<AllocationPolicy, TrackingMode,
18 plHasReallocate<AllocationPolicy, void* (AllocationPolicy::*)(void*, size_t, size_t, size_t)>::value>
19{
20public:
21 plAllocatorWithPolicy(plStringView sName, plAllocator* pParent = nullptr)
22 : plInternal::plAllocatorMixinReallocate<AllocationPolicy, TrackingMode,
23 plHasReallocate<AllocationPolicy, void* (AllocationPolicy::*)(void*, size_t, size_t, size_t)>::value>(sName, pParent)
24 {
25 }
26};
Base class for all memory allocators.
Definition Allocator.h:23
Policy based allocator implementation of the plAllocator interface.
Definition AllocatorWithPolicy.h:19
Definition AllocatorMixin_inl.h:28
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34