Skip to main content

The intrusive_list_iterator Class Template Reference

A class template for the intrusive list iterator. More...

Fully Qualified Name

micro_os_plus::utils::intrusive_list_iterator< T, N, MP, 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 intrusive node. More...

Member Functions

constexpr
constexpr
intrusive_list_iterator (iterator_pointer const node)
constexpr
intrusive_list_iterator (reference element)
get_pointer (void) const

Get the object node from the intrusive node. More...

bool
operator!= (const intrusive_list_iterator &other) const
operator* () const
operator-> () const
bool
operator== (const intrusive_list_iterator &other) const

Description

The class template declaration is:

template < class T, class N, N T::* MP, class U = T >
class micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >;
Template Parameters
TType of object that includes the intrusive node.
NType of intrusive node. Must have the public members previous & next.
MPName of the intrusive node member in object T.
UType stored in the list, derived from T.

This class provides an interface similar to std::list::iterator, except that it keeps track of the offset where the intrusive list element is located in the parent object.

Definition at line 709 of file lists.h.

Member Typedefs

difference_type

template <class T, class N, N T::* MP, class U>
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::difference_type = ptrdiff_t

Type of pointer difference.

Definition at line 735 of file lists.h.

iterator_category

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

Category of iterator.

Definition at line 740 of file lists.h.

iterator_pointer

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

Type of reference to the iterator internal pointer.

Definition at line 730 of file lists.h.

pointer

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

Type of pointer to object pointed to by the iterator.

Definition at line 720 of file lists.h.

reference

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

Type of reference to object pointed to by the iterator.

Definition at line 725 of file lists.h.

value_type

template <class T, class N, N T::* MP, class U>
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::value_type = U

Type of value pointed to by the iterator.

Definition at line 715 of file lists.h.

Protected Member Attributes

node_

template <class T, class N, N T::* MP, class U>
iterator_pointer micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::node_
protected

Pointer to intrusive node.

Definition at line 790 of file lists.h.

Constructors

intrusive_list_iterator()

template <class T, class N, N T::* MP, class U>
micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::intrusive_list_iterator ()
constexpr

Definition at line 743 of file lists.h.

intrusive_list_iterator()

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

Definition at line 745 of file lists.h.

intrusive_list_iterator()

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

Definition at line 747 of file lists.h.

Member Functions

get_iterator_pointer()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U >::iterator_pointer micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::get_iterator_pointer () const
inline

Definition at line 784 of file lists.h.

get_pointer()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U >::pointer micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::get_pointer (void) const
inline

Get the object node from the intrusive node.

Returns

Pointer to object node.

Definition at line 781 of file lists.h.

operator!=()

template <class T, class N, N T::* MP, class U>
bool micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator!= (const intrusive_list_iterator & other) const
inline

Definition at line 774 of file lists.h.

operator*()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U >::reference micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator* () const
inline

Definition at line 756 of file lists.h.

operator++()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U > & micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator++ ()
inline

Definition at line 759 of file lists.h.

operator++()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U > micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator++ (int)
inline

Definition at line 762 of file lists.h.

operator--()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U > & micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator-- ()
inline

Definition at line 765 of file lists.h.

operator--()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U > micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator-- (int)

Definition at line 768 of file lists.h.

operator->()

template <class T, class N, N T::* MP, class U>
intrusive_list_iterator< T, N, MP, U >::pointer micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator-> () const
inline

Definition at line 753 of file lists.h.

operator==()

template <class T, class N, N T::* MP, class U>
bool micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator== (const intrusive_list_iterator & other) const
inline

Definition at line 771 of file lists.h.


Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2