add crete to ring buffer

This commit is contained in:
2025-03-18 12:44:52 +03:00
parent 709d2ce3df
commit 8076ef608a
2 changed files with 14 additions and 5 deletions

View File

@@ -15,6 +15,7 @@ namespace hack::patterns
using MUTEX = std::lock_guard<std::recursive_mutex>;
public:
ring_buffer() = default;
explicit ring_buffer(int s)
{
m_size = s;
@@ -22,6 +23,13 @@ namespace hack::patterns
};
public:
void create(int s)
{
if (m_size > 0) return;
m_size = s;
m_data.resize(m_size);
}
void put(T item) noexcept
{
MUTEX lock(m_mutex);
@@ -135,10 +143,10 @@ namespace hack::patterns
}
private:
std::size_t m_head{ 0 };
std::size_t m_tail{ 0 };
std::size_t m_size;
bool m_full{ false };
std::size_t m_head = 0;
std::size_t m_tail = 0;
std::size_t m_size = 0;
bool m_full = false;
private:
mutable std::recursive_mutex m_mutex;