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
#include <micro-os-plus/utils/lists.h>
Member Typedefs
using | difference_type = ptrdiff_t |
Type of pointer difference. More... | |
using | iterator_category = std::forward_iterator_tag |
Category of iterator. More... | |
using | iterator_pointer = N * |
Type of reference to the iterator internal pointer. More... | |
using | pointer = value_type * |
Type of pointer to object pointed to by the iterator. More... | |
using | reference = value_type & |
Type of reference to object pointed to by the iterator. More... | |
using | value_type = U |
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_iterator_pointer () const | |
get_pointer (void) const | |
Get the object node from the intrusive node. More... | |
bool | operator!= (const intrusive_list_iterator &other) const |
operator* () const | |
operator++ () | |
operator++ (int) | |
operator-- () | |
operator-- (int) | |
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
T Type of object that includes the intrusive node. N Type of intrusive node. Must have the public members previous & next. MP Name of the intrusive node member in object T. U Type 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>
|
iterator_category
template <class T, class N, N T::* MP, class U>
|
iterator_pointer
template <class T, class N, N T::* MP, class U>
|
pointer
template <class T, class N, N T::* MP, class U>
|
reference
template <class T, class N, N T::* MP, class U>
|
value_type
Constructors
intrusive_list_iterator()
template <class T, class N, N T::* MP, class U>
| constexpr |
intrusive_list_iterator()
template <class T, class N, N T::* MP, class U>
| explicitconstexpr |
intrusive_list_iterator()
template <class T, class N, N T::* MP, class U>
| explicitconstexpr |
Member Functions
get_iterator_pointer()
template <class T, class N, N T::* MP, class U>
| inline |
get_pointer()
template <class T, class N, N T::* MP, class U>
| inline |
operator!=()
template <class T, class N, N T::* MP, class U>
| inline |
operator*()
template <class T, class N, N T::* MP, class U>
| inline |
operator++()
template <class T, class N, N T::* MP, class U>
| inline |
operator++()
template <class T, class N, N T::* MP, class U>
| inline |
operator--()
template <class T, class N, N T::* MP, class U>
| inline |
operator--()
template <class T, class N, N T::* MP, class U>
|
operator->()
template <class T, class N, N T::* MP, class U>
| inline |
operator==()
template <class T, class N, N T::* MP, class U>
| inline |
Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2