forked from OctaForge/libostd
implement stack pool's interface on regular stack allocators
This commit is contained in:
parent
1826511187
commit
f93b08a924
|
@ -49,6 +49,7 @@ namespace detail {
|
||||||
template<typename TR, bool Protected>
|
template<typename TR, bool Protected>
|
||||||
struct basic_fixedsize_stack {
|
struct basic_fixedsize_stack {
|
||||||
using traits_type = TR;
|
using traits_type = TR;
|
||||||
|
using allocator_type = basic_fixedsize_stack;
|
||||||
|
|
||||||
basic_fixedsize_stack(size_t ss = TR::default_size()) noexcept:
|
basic_fixedsize_stack(size_t ss = TR::default_size()) noexcept:
|
||||||
p_size(
|
p_size(
|
||||||
|
@ -89,6 +90,12 @@ struct basic_fixedsize_stack {
|
||||||
st.ptr = nullptr;
|
st.ptr = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void reserve(size_t) {}
|
||||||
|
|
||||||
|
basic_fixedsize_stack get_allocator() noexcept {
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t p_size;
|
size_t p_size;
|
||||||
};
|
};
|
||||||
|
@ -118,6 +125,7 @@ private:
|
||||||
public:
|
public:
|
||||||
static constexpr size_t DEFAULT_CHUNK_SIZE = 32;
|
static constexpr size_t DEFAULT_CHUNK_SIZE = 32;
|
||||||
|
|
||||||
|
using traits_type = TR;
|
||||||
using allocator_type = allocator;
|
using allocator_type = allocator;
|
||||||
|
|
||||||
basic_stack_pool(
|
basic_stack_pool(
|
||||||
|
|
Loading…
Reference in a new issue