Template Class bidirectional_iterator¶
Defined in File bidirectional_iterator.hpp
Class Documentation¶
-
template<typename
ElementType
, typenameImplementationType
, typenameFriend
>
classrmf_traffic::detail
::
bidirectional_iterator
¶ This class is used so we can provide iterators for various container classes without exposing any implementation details about what kind of STL container we are using inside of our container class. This allows us to guarantee ABI stability, even if we decide to change what STL container we use inside of our implementation.
This class is designed to offer only the most basic features of a bidirectional iterator.
Public Functions
-
bidirectional_iterator &
operator++
()¶ Pre-increment operator: ++it
- Note
This is more efficient than the post-increment operator.
- Return
a reference to the iterator that was operated on
-
bidirectional_iterator &
operator--
()¶ Pre-decrement operator: it
- Note
This is more efficient than the post-decrement operator
- Return
a reference to the iterator that was operated on
-
bidirectional_iterator
operator++
(int)¶ Post-increment operator: it++
- Return
a copy of the iterator before it was incremented
-
bidirectional_iterator
operator--
(int)¶ Post-decrement operator: it
- Return
a copy of the iterator before it was decremented
-
bool
operator==
(const bidirectional_iterator &other) const¶ Equality comparison operator.
-
bool
operator!=
(const bidirectional_iterator &other) const¶ Inequality comparison operator.
-
operator bidirectional_iterator<const Element, Implementation, Friend>
() const¶
-
bidirectional_iterator
(const bidirectional_iterator&) = default¶
-
bidirectional_iterator
(bidirectional_iterator&&) = default¶
-
bidirectional_iterator &
operator=
(const bidirectional_iterator&) = default¶
-
bidirectional_iterator &
operator=
(bidirectional_iterator&&) = default¶
-
bidirectional_iterator
()¶
-
bidirectional_iterator &