Skip to main content

The double_list_iterator Class Template Reference

A class template for a doubly linked list forward iterator. More...

Fully Qualified Name

micro_os_plus::utils::double_list_iterator< T, N, U >

Included Headers

Member Typedefs

using
difference_type = ptrdiff_t

Type of pointer difference. More...

using
iterator_category = std::forward_iterator_tag

Category of iterator. More...

using

Type of reference to the iterator internal pointer. More...

using

Type of pointer to object pointed to by the iterator. More...

using

Type of reference to object pointed to by the iterator. More...

using

Type of value pointed to by the iterator. More...

Protected Member Attributes

Pointer to the node. More...

Member Functions

constexpr
constexpr
double_list_iterator (iterator_pointer const node)
constexpr
double_list_iterator (reference element)
get_pointer () const
bool
operator!= (const double_list_iterator &other) const
operator* () const
operator-> () const
bool
operator== (const double_list_iterator &other) const

Description

The class template declaration is:

template < class T, class N = T, class U = T >
class micro_os_plus::utils::double_list_iterator< T, N, U >;
Template Parameters
TType of object returned by the iterator.
NType of intrusive node. Must have the public members previous & next.
UType stored in the list, derived from T.

This class provides an interface similar to std::list::iterator.

In a common doubly linked list, all types are double_list_links.

Definition at line 388 of file lists.h.

Member Typedefs

difference_type

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::difference_type = ptrdiff_t

Type of pointer difference.

Definition at line 414 of file lists.h.

iterator_category

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::iterator_category = std::forward_iterator_tag

Category of iterator.

Definition at line 419 of file lists.h.

iterator_pointer

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::iterator_pointer = N*

Type of reference to the iterator internal pointer.

Definition at line 409 of file lists.h.

pointer

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::pointer = value_type*

Type of pointer to object pointed to by the iterator.

Definition at line 399 of file lists.h.

reference

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::reference = value_type&

Type of reference to object pointed to by the iterator.

Definition at line 404 of file lists.h.

value_type

template <class T, class N, class U>
using micro_os_plus::utils::double_list_iterator< T, N, U >::value_type = U

Type of value pointed to by the iterator.

Definition at line 394 of file lists.h.

Protected Member Attributes

node_

template <class T, class N, class U>
iterator_pointer micro_os_plus::utils::double_list_iterator< T, N, U >::node_
protected

Pointer to the node.

Definition at line 465 of file lists.h.

Constructors

double_list_iterator()

template <class T, class N, class U>
micro_os_plus::utils::double_list_iterator< T, N, U >::double_list_iterator ()
constexpr

Definition at line 422 of file lists.h.

double_list_iterator()

template <class T, class N, class U>
micro_os_plus::utils::double_list_iterator< T, N, U >::double_list_iterator (iterator_pointer const node)
explicitconstexpr

Definition at line 424 of file lists.h.

double_list_iterator()

template <class T, class N, class U>
micro_os_plus::utils::double_list_iterator< T, N, U >::double_list_iterator (reference element)
explicitconstexpr

Definition at line 426 of file lists.h.

Member Functions

get_iterator_pointer()

template <class T, class N, class U>
double_list_iterator< T, N, U >::iterator_pointer micro_os_plus::utils::double_list_iterator< T, N, U >::get_iterator_pointer () const
constexpr

Definition at line 459 of file lists.h.

get_pointer()

template <class T, class N, class U>
pointer micro_os_plus::utils::double_list_iterator< T, N, U >::get_pointer () const
constexpr

Definition at line 456 of file lists.h.

operator!=()

template <class T, class N, class U>
bool micro_os_plus::utils::double_list_iterator< T, N, U >::operator!= (const double_list_iterator & other) const
constexpr

Definition at line 453 of file lists.h.

operator*()

template <class T, class N, class U>
double_list_iterator< T, N, U >::reference micro_os_plus::utils::double_list_iterator< T, N, U >::operator* () const
constexpr

Definition at line 435 of file lists.h.

operator++()

template <class T, class N, class U>
double_list_iterator< T, N, U > & micro_os_plus::utils::double_list_iterator< T, N, U >::operator++ ()
constexpr

Definition at line 438 of file lists.h.

operator++()

template <class T, class N, class U>
double_list_iterator< T, N, U > micro_os_plus::utils::double_list_iterator< T, N, U >::operator++ (int)
constexpr

Definition at line 441 of file lists.h.

operator--()

template <class T, class N, class U>
double_list_iterator< T, N, U > & micro_os_plus::utils::double_list_iterator< T, N, U >::operator-- ()
constexpr

Definition at line 444 of file lists.h.

operator--()

template <class T, class N, class U>
double_list_iterator< T, N, U > micro_os_plus::utils::double_list_iterator< T, N, U >::operator-- (int)
constexpr

Definition at line 447 of file lists.h.

operator->()

template <class T, class N, class U>
double_list_iterator< T, N, U >::pointer micro_os_plus::utils::double_list_iterator< T, N, U >::operator-> () const
constexpr

Definition at line 432 of file lists.h.

operator==()

template <class T, class N, class U>
bool micro_os_plus::utils::double_list_iterator< T, N, U >::operator== (const double_list_iterator & other) const
constexpr

Definition at line 450 of file lists.h.


Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2