template<typename T>
fun::detail::RobinIterator struct

Template parameters
T

The code snippet defines a struct template called RobinIterator. This struct is used in the implementation of the Robin class in the fun namespace.

Public functions

auto operator!=(const RobinIterator& other) const -> bool -> auto
auto operator==(const RobinIterator& other) const -> bool -> auto
auto operator++() -> RobinIterator & -> auto
auto operator*() const -> const T & -> auto

Public variables

const RobinSlNode<T>* cur

Function documentation

template<typename T>
auto fun::detail::RobinIterator<T>::operator!=(const RobinIterator& other) const -> bool

Parameters
other in The parameter "other" is of type RobinIterator, which is the type of the object being compared to the current object.
Returns The operator is returning a boolean value. If the current iterator is not equal to the other iterator, it will return true. Otherwise, it will return false.

The function checks if the current iterator is not equal to another iterator.

template<typename T>
auto fun::detail::RobinIterator<T>::operator==(const RobinIterator& other) const -> bool

Parameters
other in The parameter "other" is of type RobinIterator, which is the type of the object being compared to the current object.
Returns The operator is returning a boolean value.

The function checks if the current iterator is equal to another iterator.

template<typename T>
auto fun::detail::RobinIterator<T>::operator++() -> RobinIterator &

Returns The operator++ function is returning a reference to a RobinIterator object.

The function increments the iterator to the next element and returns a reference to the updated iterator.

template<typename T>
auto fun::detail::RobinIterator<T>::operator*() const -> const T &

Returns The code is returning a reference to a constant object of type T.

The above function is an overloaded operator* that returns a const reference to the key of the current node.