const_container/include/allocator.h

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_