|
DSA - Data Structures and Algorithms
|
Implements ForwardListIterator. More...
#include <forward_list.h>
Public Types | |
| using | iterator_type = std::conditional_t<IF_CONST, const T, T> |
| Alias for iterator type. | |
| using | iterator_category = std::forward_iterator_tag |
| Alias for forward iterator tag, define iterator direction. | |
| using | difference_type = std::ptrdiff_t |
| Alias for pointer difference type. | |
| using | value_type = T |
| Alias for data type used by iterator. | |
| using | size_type = std::size_t |
| Alias for size type used in class. | |
| using | pointer = iterator_type* |
| Alias for pointer to data type used by iterator. | |
| using | reference = iterator_type& |
| Alias for reference to type used by iterator. | |
Public Member Functions | |
| ForwardListIterator () noexcept=default | |
| Construct a new ForwardListIterator object. | |
| ForwardListIterator (NodeBase *node) noexcept | |
| Construct a new ForwardListIterator object. | |
| auto | operator= (NodeBase *node) -> ForwardListIterator & |
Overload operator= to assign node to currently pointed ForwardListIterator. | |
| auto | operator++ () -> ForwardListIterator & |
| Overload pre-increment operator++ to point ForwardListIterator at next Node. | |
| auto | operator++ (int) -> ForwardListIterator |
| Overload post-increment operator++ to point ForwardListIterator at next Node. | |
| auto | operator== (const ForwardListIterator< IF_CONST > &other) const -> bool |
| Overload operator!= for ForwardListIterator objects comparison. | |
| auto | operator!= (const ForwardListIterator< IF_CONST > &other) const -> bool |
| Overload operator!= for ForwardListIterator objects comparison. | |
| auto | operator* () const -> reference |
| Overload operator* to dereference Node value / data. | |
| auto | operator-> () -> pointer |
| Overload operator-> to get pointer to Node value / data. | |
| operator ForwardListIterator< true > () | |
| convert ForwardListIterator to Basic_Const_Iterator | |
Friends | |
| class | ForwardList |
| Forward friend declaration of ForwardList. | |
Implements ForwardListIterator.
Class is used to generate iterator and const_iterator types. Template variable IF_CONST control whether reference or const reference is returned to underlying data type
| IF_CONST | if true generate iterator with const reference to underlying data type |
Definition at line 167 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::difference_type = std::ptrdiff_t |
Alias for pointer difference type.
Used by STL to define distance between two pointers
Definition at line 192 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::iterator_category = std::forward_iterator_tag |
Alias for forward iterator tag, define iterator direction.
Used by STL to define iterator features. Forward iterator allows iteration only in forward direction.
Definition at line 185 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::iterator_type = std::conditional_t<IF_CONST, const T, T> |
Alias for iterator type.
| IF_CONST | if true generate iterator with const reference to underlying data type |
| T | data type |
Definition at line 177 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::pointer = iterator_type* |
Alias for pointer to data type used by iterator.
| T* | pointer to data type |
Definition at line 213 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::reference = iterator_type& |
Alias for reference to type used by iterator.
Definition at line 218 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::size_type = std::size_t |
Alias for size type used in class.
| T | size type |
Definition at line 206 of file forward_list.h.
| using dsa::ForwardList< T >::ForwardListIterator< IF_CONST >::value_type = T |
Alias for data type used by iterator.
| T | iterated element type |
Definition at line 199 of file forward_list.h.
|
inlinenoexcept |
Construct a new ForwardListIterator object.
| [in] | node | input Node |
Definition at line 230 of file forward_list.h.
|
inline |
convert ForwardListIterator to Basic_Const_Iterator
Definition at line 330 of file forward_list.h.
|
inline |
Overload operator!= for ForwardListIterator objects comparison.
| [in] | other | input ForwardListIterator of other object |
| true | if ForwardListIterator objects are different |
| false | if ForwardListIterator objects are the same |
Definition at line 294 of file forward_list.h.
|
inline |
Overload operator* to dereference Node value / data.
Definition at line 304 of file forward_list.h.
|
inline |
Overload pre-increment operator++ to point ForwardListIterator at next Node.
Definition at line 251 of file forward_list.h.
|
inline |
Overload post-increment operator++ to point ForwardListIterator at next Node.
Definition at line 266 of file forward_list.h.
|
inline |
Overload operator-> to get pointer to Node value / data.
Definition at line 318 of file forward_list.h.
|
inline |
Overload operator= to assign node to currently pointed ForwardListIterator.
| [in] | node | input Node |
Definition at line 240 of file forward_list.h.
|
inline |
Overload operator!= for ForwardListIterator objects comparison.
| [in] | other | input ForwardListIterator of other object |
| true | if ForwardListIterator objects are the same |
| false | if ForwardListIterator objects are different |
Definition at line 281 of file forward_list.h.
Forward friend declaration of ForwardList.
Definition at line 340 of file forward_list.h.