template<typename T, int DefaultCapacity = 100, typename Alloc = std::allocator<T>>
werkzeugkiste::container::circular_buffer class

STL-like circular buffer.

Public types

using self_type = circular_buffer<T, DefaultCapacity, Alloc>
using allocator_type = Alloc
using value_type = Alloc::value_type
using pointer = Alloc::pointer
using const_pointer = Alloc::const_pointer
using reference = Alloc::reference
using const_reference = Alloc::const_reference
using size_type = Alloc::size_type
using difference_type = Alloc::difference_type
using iterator = circular_buffer_iterator<self_type, self_type>
using const_iterator = circular_buffer_iterator<const self_type, self_type, const value_type>

Constructors, destructors, conversion operators

circular_buffer(size_type capacity = DefaultCapacity) explicit
circular_buffer(const circular_buffer& other)
template<class InputIterator>
circular_buffer(InputIterator from, InputIterator to)
~circular_buffer()

Public functions

auto operator=(const self_type& other) -> circular_buffer&
void swap(circular_buffer& other)
auto get_allocator() const -> allocator_type
auto begin() -> iterator
auto end() -> iterator
auto begin() const -> const_iterator
auto cbegin() const -> const_iterator
auto end() const -> const_iterator
auto cend() const -> const_iterator
auto size() const -> size_type
auto capacity() const -> size_type
auto empty() const -> bool
auto max_size() const -> size_type
void reserve(size_type new_size)
auto front() -> reference
auto back() -> reference
auto front() const -> const_reference
auto back() const -> const_reference
void push_back(const value_type& item)
void pop_front()
void pop_back()
void clear()
auto operator[](size_type n) -> reference
auto operator[](size_type n) const -> const_reference
auto at(size_type n) -> reference
auto at(size_type n) const -> const_reference