#ifndef MEMORY_HPP #define MEMORY_HPP #include #include template 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 struct rebind { typedef kallocator other; }; kallocator() = default; template kallocator(const kallocator&) 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