libbmb
Modern implementation of STL
Loading...
Searching...
No Matches
bmb::detail::LListIter< T, IsConst > Class Template Reference

Forward iterator for linked list. More...

#include <llist_iterator.h>

Public Types

using value_type = remove_const_t< T >
 
using reference = conditional_t< IsConst, const T, T > &
 
using pointer = conditional_t< IsConst, const T, T > *
 
using difference_type = ptrdiff_t
 
using iterator_category = forward_iter_tag
 

Public Member Functions

 LListIter () noexcept
 
 LListIter (BaseNode *node) noexcept
 
 operator LListIter< T, true > () const noexcept
 
pointer operator-> () const noexcept
 
reference operator* () const noexcept
 
Selfoperator++ () noexcept
 
Self operator++ (int) noexcept
 
bool operator== (const Self &) const =default
 

Friends

template<typename , bool , bool , typename >
class bmb::LinkedList
 

Detailed Description

template<typename T, bool IsConst>
class bmb::detail::LListIter< T, IsConst >

Forward iterator for linked list.

Template Parameters
Tvalue type that linked list node stores

Member Typedef Documentation

◆ difference_type

template<typename T , bool IsConst>
using bmb::detail::LListIter< T, IsConst >::difference_type = ptrdiff_t

◆ iterator_category

template<typename T , bool IsConst>
using bmb::detail::LListIter< T, IsConst >::iterator_category = forward_iter_tag

◆ pointer

template<typename T , bool IsConst>
using bmb::detail::LListIter< T, IsConst >::pointer = conditional_t<IsConst, const T, T>*

◆ reference

template<typename T , bool IsConst>
using bmb::detail::LListIter< T, IsConst >::reference = conditional_t<IsConst, const T, T>&

◆ value_type

template<typename T , bool IsConst>
using bmb::detail::LListIter< T, IsConst >::value_type = remove_const_t<T>

Constructor & Destructor Documentation

◆ LListIter() [1/2]

template<typename T , bool IsConst>
bmb::detail::LListIter< T, IsConst >::LListIter ( )
inlinenoexcept

◆ LListIter() [2/2]

template<typename T , bool IsConst>
bmb::detail::LListIter< T, IsConst >::LListIter ( BaseNode node)
inlineexplicitnoexcept

Member Function Documentation

◆ operator LListIter< T, true >()

template<typename T , bool IsConst>
bmb::detail::LListIter< T, IsConst >::operator LListIter< T, true > ( ) const
inlinenoexcept

◆ operator*()

template<typename T , bool IsConst>
reference bmb::detail::LListIter< T, IsConst >::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename T , bool IsConst>
Self & bmb::detail::LListIter< T, IsConst >::operator++ ( )
inlinenoexcept

◆ operator++() [2/2]

template<typename T , bool IsConst>
Self bmb::detail::LListIter< T, IsConst >::operator++ ( int  )
inlinenoexcept

◆ operator->()

template<typename T , bool IsConst>
pointer bmb::detail::LListIter< T, IsConst >::operator-> ( ) const
inlinenoexcept

◆ operator==()

template<typename T , bool IsConst>
bool bmb::detail::LListIter< T, IsConst >::operator== ( const Self ) const
default

Friends And Related Symbol Documentation

◆ bmb::LinkedList

template<typename T , bool IsConst>
template<typename , bool , bool , typename >
friend class bmb::LinkedList
friend

The documentation for this class was generated from the following file: