xrpld
Loading...
Searching...
No Matches
beast::detail::ListIterator< N > Class Template Reference

#include <List.h>

Public Types

using iterator_category = std::bidirectional_iterator_tag
using value_type = beast::detail::CopyConst<N, typename N::value_type>::type
using difference_type = std::ptrdiff_t
using pointer = value_type*
using reference = value_type&
using size_type = std::size_t

Public Member Functions

 ListIterator (N *node=nullptr) noexcept
template<typename M>
 ListIterator (ListIterator< M > const &other) noexcept
template<typename M>
bool operator== (ListIterator< M > const &other) const noexcept
template<typename M>
bool operator!= (ListIterator< M > const &other) const noexcept
reference operator* () const noexcept
pointer operator-> () const noexcept
ListIteratoroperator++ () noexcept
ListIterator operator++ (int) noexcept
ListIteratoroperator-- () noexcept
ListIterator operator-- (int) noexcept

Private Member Functions

reference dereference () const noexcept
void increment () noexcept
void decrement () noexcept

Private Attributes

N * node_

Detailed Description

template<typename N>
class beast::detail::ListIterator< N >

Definition at line 55 of file List.h.

Member Typedef Documentation

◆ iterator_category

template<typename N>
using beast::detail::ListIterator< N >::iterator_category = std::bidirectional_iterator_tag

Definition at line 58 of file List.h.

◆ value_type

template<typename N>
using beast::detail::ListIterator< N >::value_type = beast::detail::CopyConst<N, typename N::value_type>::type

Definition at line 59 of file List.h.

◆ difference_type

template<typename N>
using beast::detail::ListIterator< N >::difference_type = std::ptrdiff_t

Definition at line 60 of file List.h.

◆ pointer

template<typename N>
using beast::detail::ListIterator< N >::pointer = value_type*

Definition at line 61 of file List.h.

◆ reference

template<typename N>
using beast::detail::ListIterator< N >::reference = value_type&

Definition at line 62 of file List.h.

◆ size_type

template<typename N>
using beast::detail::ListIterator< N >::size_type = std::size_t

Definition at line 63 of file List.h.

Constructor & Destructor Documentation

◆ ListIterator() [1/2]

template<typename N>
beast::detail::ListIterator< N >::ListIterator ( N * node = nullptr)
noexcept

Definition at line 65 of file List.h.

◆ ListIterator() [2/2]

template<typename N>
template<typename M>
beast::detail::ListIterator< N >::ListIterator ( ListIterator< M > const & other)
noexcept

Definition at line 70 of file List.h.

Member Function Documentation

◆ operator==()

template<typename N>
template<typename M>
bool beast::detail::ListIterator< N >::operator== ( ListIterator< M > const & other) const
noexcept

Definition at line 76 of file List.h.

◆ operator!=()

template<typename N>
template<typename M>
bool beast::detail::ListIterator< N >::operator!= ( ListIterator< M > const & other) const
noexcept

Definition at line 83 of file List.h.

◆ operator*()

template<typename N>
reference beast::detail::ListIterator< N >::operator* ( ) const
noexcept

Definition at line 89 of file List.h.

◆ operator->()

template<typename N>
pointer beast::detail::ListIterator< N >::operator-> ( ) const
noexcept

Definition at line 95 of file List.h.

◆ operator++() [1/2]

template<typename N>
ListIterator & beast::detail::ListIterator< N >::operator++ ( )
noexcept

Definition at line 101 of file List.h.

◆ operator++() [2/2]

template<typename N>
ListIterator beast::detail::ListIterator< N >::operator++ ( int )
noexcept

Definition at line 108 of file List.h.

◆ operator--() [1/2]

template<typename N>
ListIterator & beast::detail::ListIterator< N >::operator-- ( )
noexcept

Definition at line 116 of file List.h.

◆ operator--() [2/2]

template<typename N>
ListIterator beast::detail::ListIterator< N >::operator-- ( int )
noexcept

Definition at line 123 of file List.h.

◆ dereference()

template<typename N>
reference beast::detail::ListIterator< N >::dereference ( ) const
nodiscardprivatenoexcept

Definition at line 132 of file List.h.

◆ increment()

template<typename N>
void beast::detail::ListIterator< N >::increment ( )
privatenoexcept

Definition at line 138 of file List.h.

◆ decrement()

template<typename N>
void beast::detail::ListIterator< N >::decrement ( )
privatenoexcept

Definition at line 144 of file List.h.

Member Data Documentation

◆ node_

template<typename N>
N* beast::detail::ListIterator< N >::node_
private

Definition at line 149 of file List.h.