Ring buffer: Use as backing for std::queue uses
This commit is contained in:
@@ -29,6 +29,7 @@ add_files(
|
||||
random_func.cpp
|
||||
random_func.hpp
|
||||
ring_buffer.hpp
|
||||
ring_buffer_queue.hpp
|
||||
serialisation.cpp
|
||||
serialisation.hpp
|
||||
smallstack_type.hpp
|
||||
|
@@ -192,6 +192,11 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
using difference_type = std::ptrdiff_t;
|
||||
using size_type = size_t;
|
||||
using value_type = T;
|
||||
using reference = T &;
|
||||
using const_reference = const T &;
|
||||
typedef ring_buffer_iterator<T, false> iterator;
|
||||
typedef ring_buffer_iterator<const T, false> const_iterator;
|
||||
typedef ring_buffer_iterator<T, true> reverse_iterator;
|
||||
|
20
src/core/ring_buffer_queue.hpp
Normal file
20
src/core/ring_buffer_queue.hpp
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** @file ring_buffer_queue.hpp std::queue backed by a ring buffer. */
|
||||
|
||||
#ifndef RING_BUFFER_QUEUE_HPP
|
||||
#define RING_BUFFER_QUEUE_HPP
|
||||
|
||||
#include "ring_buffer.hpp"
|
||||
|
||||
#include <queue>
|
||||
|
||||
template<class T>
|
||||
using ring_buffer_queue = std::queue<T, ring_buffer<T>>;
|
||||
|
||||
#endif /* RING_BUFFER_QUEUE_HPP */
|
Reference in New Issue
Block a user