RingBuffer#
Source file#
Interface#
-
template<ContainerElement T, SequenceContainer Container>
class RingBuffer# A fix sized circular buffer.
The term circular buffer (also called a ring or cyclic buffer) refers to an area in memory which is used to store incoming data. When the buffer is filled, new data is written starting at the beginning of the buffer and overwriting the old.
Underlying container must support operations
begin(),end(),size(),resize(),front(),back(). In particular, Vector can be used. Array is not supported now (not supportresize()).q- 模板参数
T – Type of element. Required to be a complete type.
Container – Type of the underlying container to use to store the elements.
Public Types
-
using const_reverse_iterator = std::reverse_iterator<const_iterator>#
Public Functions
-
constexpr RingBuffer(const RingBuffer &other) noexcept#
-
constexpr RingBuffer(RingBuffer &&other) noexcept#
-
~RingBuffer() = default#
-
constexpr RingBuffer &operator=(const RingBuffer &other) noexcept#
-
constexpr RingBuffer &operator=(RingBuffer &&other) noexcept#
-
constexpr RingBuffer &operator=(std::initializer_list<T> ilist) noexcept#
-
constexpr const_iterator begin() const noexcept#
-
constexpr const_iterator end() const noexcept#
-
constexpr const_iterator cbegin() const noexcept#
-
constexpr const_iterator cend() const noexcept#
-
constexpr reverse_iterator rbegin() noexcept#
-
constexpr reverse_iterator rend() noexcept#
-
constexpr const_reverse_iterator rbegin() const noexcept#
-
constexpr const_reverse_iterator rend() const noexcept#
-
constexpr const_reverse_iterator crbegin() const noexcept#
-
constexpr const_reverse_iterator crend() const noexcept#
-
constexpr bool empty() const noexcept#
-
constexpr bool full() const noexcept#
-
constexpr const_reference operator[](size_type pos) const#
-
constexpr const_reference front() const#
-
constexpr const_reference back() const#
-
constexpr void push_back(const value_type &value = value_type())#
-
constexpr void push_front(const value_type &value = value_type())#
-
constexpr void pop_back()#
-
constexpr void pop_front()#
-
constexpr iterator insert(const_iterator pos, const value_type &value)#
-
constexpr iterator insert(const_iterator pos, size_type count, const value_type &value)#
-
constexpr iterator insert(const_iterator pos, std::initializer_list<T> ilist)#
-
template<std::input_iterator InputIt>
constexpr iterator insert(const_iterator pos, InputIt first, InputIt last)#
-
constexpr iterator erase(const_iterator pos)#
-
constexpr iterator erase(const_iterator first, const_iterator last)#
-
constexpr void swap(RingBuffer &other)#
-
constexpr void clear() noexcept#