mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-22 17:18:39 +00:00
Remove Queue class which uses std::list and use native std::queue
This commit is contained in:
parent
9e67579315
commit
b214cde5b4
11 changed files with 85 additions and 139 deletions
|
@ -183,67 +183,6 @@ private:
|
|||
std::map<T, u32> m_value_to_id;
|
||||
};
|
||||
|
||||
/*
|
||||
FIFO queue (well, actually a FILO also)
|
||||
*/
|
||||
template<typename T>
|
||||
class Queue
|
||||
{
|
||||
public:
|
||||
Queue():
|
||||
m_list_size(0)
|
||||
{}
|
||||
|
||||
void push_back(T t)
|
||||
{
|
||||
m_list.push_back(t);
|
||||
++m_list_size;
|
||||
}
|
||||
|
||||
void push_front(T t)
|
||||
{
|
||||
m_list.push_front(t);
|
||||
++m_list_size;
|
||||
}
|
||||
|
||||
T pop_front()
|
||||
{
|
||||
if(m_list.empty())
|
||||
throw ItemNotFoundException("Queue: queue is empty");
|
||||
|
||||
typename std::list<T>::iterator begin = m_list.begin();
|
||||
T t = *begin;
|
||||
m_list.erase(begin);
|
||||
--m_list_size;
|
||||
return t;
|
||||
}
|
||||
T pop_back()
|
||||
{
|
||||
if(m_list.empty())
|
||||
throw ItemNotFoundException("Queue: queue is empty");
|
||||
|
||||
typename std::list<T>::iterator last = m_list.back();
|
||||
T t = *last;
|
||||
m_list.erase(last);
|
||||
--m_list_size;
|
||||
return t;
|
||||
}
|
||||
|
||||
u32 size()
|
||||
{
|
||||
return m_list_size;
|
||||
}
|
||||
|
||||
bool empty()
|
||||
{
|
||||
return m_list.empty();
|
||||
}
|
||||
|
||||
protected:
|
||||
std::list<T> m_list;
|
||||
u32 m_list_size;
|
||||
};
|
||||
|
||||
/*
|
||||
Thread-safe FIFO queue (well, actually a FILO also)
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue