add crete to ring buffer
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user