#pragma once #include #include template class Bucket { std::array buf; size_t sz; public: Bucket() { sz = 0; } void add(const T& item) { if (sz < N) { buf[sz++] = item; } } std::optional get(size_t idx) const { if (idx < sz) { return buf[idx]; } return std::nullopt; } size_t size() const { return sz; } bool isFull() const { return sz == N; } void clear() { sz = 0; } };