template<typename T, typename T_nonconst, typename elem_type = typename T::value_type>
werkzeugkiste::container::circular_buffer_iterator class

Templated STL compatible iterator for the circular_buffer.

Public types

using self_type = circular_buffer_iterator<T, T_nonconst, elem_type>
using cbuf_type = T
using iterator_category = std::random_access_iterator_tag
using value_type = cbuf_type::value_type
using size_type = cbuf_type::size_type
using pointer = cbuf_type::pointer
using const_pointer = cbuf_type::const_pointer
using reference = cbuf_type::reference
using const_reference = cbuf_type::const_reference
using difference_type = cbuf_type::difference_type

Constructors, destructors, conversion operators

circular_buffer_iterator(cbuf_type* buf, size_type pos)
circular_buffer_iterator(circular_buffer_iterator&&) defaulted
circular_buffer_iterator(const circular_buffer_iterator<T_nonconst, T_nonconst, typename T_nonconst::value_type>& other)

Public functions

auto operator=(const self_type&) -> self_type& defaulted
auto operator=(self_type&&) -> self_type& defaulted
auto operator*() -> elem_type&
auto operator->() -> elem_type*
auto operator++() -> self_type&
auto operator++(int) -> self_type
auto operator--() -> self_type&
auto operator--(int) -> self_type
auto operator+(difference_type n) const -> self_type
auto operator+=(difference_type n) -> self_type&
auto operator-(difference_type n) const -> self_type
auto operator-=(difference_type n) -> self_type&
auto operator-(const self_type& c) const -> difference_type
auto operator==(const self_type& other) const -> bool
auto operator!=(const self_type& other) const -> bool
auto operator>(const self_type& other) const -> bool
auto operator>=(const self_type& other) const -> bool
auto operator<(const self_type& other) const -> bool
auto operator<=(const self_type& other) const -> bool