31 lines
576 B
C++
31 lines
576 B
C++
//
|
|
// Created by Patrick Maschek on 22.01.2024.
|
|
//
|
|
|
|
#ifndef UDIFF_ALLOCATOR_H_
|
|
#define UDIFF_ALLOCATOR_H_
|
|
|
|
#include <exception>
|
|
#include <cstddef>
|
|
|
|
namespace cc {
|
|
|
|
template<typename T>
|
|
class allocator_base {
|
|
public:
|
|
using value_type = T;
|
|
using size_type = std::size_t;
|
|
using difference_type = std::ptrdiff_t;
|
|
|
|
[[nodiscard]] virtual constexpr T* allocate(size_type size) = 0;
|
|
|
|
virtual constexpr void deallocate(T*, size_type) = 0;
|
|
|
|
[[nodiscard]] size_type max_size() = 0;
|
|
};
|
|
|
|
using statically_allocated = void;
|
|
}
|
|
|
|
#endif //UDIFF_ALLOCATOR_H_
|