Template Class buffer_iterator

Class Documentation

template<bool IsConst, class T, std::size_t N, class Allocator>
class util::detail::buffer_iterator

An iterator class that holds a pointer to a buffer element.

Public Types

using iterator_category = std::forward_iterator_tag
using difference_type = std::ptrdiff_t
using value_type = T
using reference = typename std::conditional<IsConst, const value_type&, value_type&>::type
using pointer = typename std::conditional<IsConst, const value_type*, value_type*>::type
using buffer_type = util::buffer<T, N, Allocator>
using buffer_pointer = typename std::conditional<IsConst, const buffer_type*, buffer_type*>::type
using size_type = typename buffer_type::size_type

Public Functions

inline explicit buffer_iterator(size_type pos, const buffer_pointer &buffer_ptr) noexcept
inline auto operator*() const -> reference
inline auto operator->() -> pointer
inline auto operator++() -> buffer_iterator&

Prefix increment of this iterator.

Returns

a reference to this iterator after incrementing

inline auto operator++(int) -> buffer_iterator

Postfix increment of this iterator.

Returns

a copy to this iterator before incrementing

Friends

inline friend friend auto operator== (const buffer_iterator &lhs, const buffer_iterator &rhs) -> bool
inline friend friend auto operator!= (const buffer_iterator &lhs, const buffer_iterator &rhs) -> bool