11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CORE
19PROMEKI_NAMESPACE_BEGIN
70 BufferPool() =
default;
78 BufferPool(
size_t bufferSize,
size_t alignment = 0,
const MemSpace &ms = MemSpace::Default);
81 ~BufferPool() =
default;
83 BufferPool(
const BufferPool &) =
delete;
84 BufferPool &operator=(
const BufferPool &) =
delete;
85 BufferPool(BufferPool &&) noexcept = default;
86 BufferPool &operator=(BufferPool &&) noexcept = default;
89 size_t bufferSize()
const {
return _bufferSize; }
92 size_t alignment()
const {
return _alignment; }
95 size_t available()
const {
return _free.size(); }
103 void reserve(
size_t count);
127 void release(Buffer &&buf);
133 size_t _bufferSize = 0;
134 size_t _alignment = 0;