diff options
Diffstat (limited to 'src/memory.hpp')
-rw-r--r-- | src/memory.hpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/memory.hpp b/src/memory.hpp new file mode 100644 index 0000000..0467bf6 --- /dev/null +++ b/src/memory.hpp @@ -0,0 +1,38 @@ +#ifndef MEMORY_HPP +#define MEMORY_HPP + +#include <cstddef> +#include <type_traits> + +template<typename T> +struct kallocator +{ + using value_type = T; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using propagate_on_container_move_assignment = std::true_type; + using is_always_equal = std::true_type; + + template<class U> + struct rebind { + typedef kallocator<U> other; + }; + + kallocator() = default; + + template<typename U> + kallocator(const kallocator<U>&) noexcept {} + + T* allocate(std::size_t n) { + return new T[n]; + } + + void deallocate([[maybe_unused]] T* p, [[maybe_unused]] std::size_t n) { + + } +}; + +void memory_initialize(); + +#endif // MEMORY_HPP + |