bn::ideque::iterator class
#include <bn_deque.h>

Non const iterator.

Public types

using value_type = ideque::value_type
Value type alias.
using size_type = ideque::size_type
Size type alias.
using difference_type = ideque::difference_type
Difference type alias.
using reference = ideque::reference
Reference alias.
using const_reference = ideque::const_reference
Const reference alias.
using pointer = ideque::pointer
Pointer alias.
using const_pointer = ideque::const_pointer
Const pointer alias.
using iterator_category = random_access_iterator_tag
Iterator category alias.

Public functions

auto operator++() -> iterator&
Increments the position.
auto operator+=(size_type value) -> iterator&
Increments the position the given number of times.
auto operator--() -> iterator&
Decrements the position.
auto operator-=(size_type value) -> iterator&
Decrements the position the given number of times.
auto operator*() const -> const_reference
Returns a const reference to the pointed value.
auto operator*() -> reference
Returns a reference to the pointed value.
auto operator->() const -> const_pointer
Returns a const pointer to the pointed value.
auto operator->() -> pointer
Returns a pointer to the pointed value.

Friends

auto operator+(const iterator& a, size_type b) -> iterator
Returns a incremented b times.
auto operator-(const iterator& a, size_type b) -> iterator
Returns a decremented b times.
auto operator+(const iterator& a, const iterator& b) -> size_type
Returns the sum of a and b.
auto operator-(const iterator& a, const iterator& b) -> size_type
Returns b subtracted from a.
auto operator==(const iterator& a, const iterator& b) -> bool
Equal operator.
auto operator!=(const iterator& a, const iterator& b) -> bool
Not equal operator.
auto operator<(const iterator& a, const iterator& b) -> bool
Less than operator.
auto operator>(const iterator& a, const iterator& b) -> bool
Greater than operator.
auto operator<=(const iterator& a, const iterator& b) -> bool
Less than or equal operator.
auto operator>=(const iterator& a, const iterator& b) -> bool
Greater than or equal operator.

Function documentation

iterator& bn::ideque::iterator::operator++()

Increments the position.

Returns Reference to this.

iterator& bn::ideque::iterator::operator+=(size_type value)

Increments the position the given number of times.

Parameters
value Number of positions to increment.
Returns Reference to this.

iterator& bn::ideque::iterator::operator--()

Decrements the position.

Returns Reference to this.

iterator& bn::ideque::iterator::operator-=(size_type value)

Decrements the position the given number of times.

Parameters
value Number of positions to decrement.
Returns Reference to this.

bool operator==(const iterator& a, const iterator& b)

Equal operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is equal to the second one, otherwise false.

bool operator!=(const iterator& a, const iterator& b)

Not equal operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is not equal to the second one, otherwise false.

bool operator<(const iterator& a, const iterator& b)

Less than operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is lexicographically less than the second one, otherwise false.

bool operator>(const iterator& a, const iterator& b)

Greater than operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is lexicographically greater than the second one, otherwise false.

bool operator<=(const iterator& a, const iterator& b)

Less than or equal operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is lexicographically less than or equal to the second one, otherwise false.

bool operator>=(const iterator& a, const iterator& b)

Greater than or equal operator.

Parameters
a First iterator to compare.
b Second iterator to compare.
Returns true if the first iterator is lexicographically greater than or equal to the second one, otherwise false.