utils-lists 4.0.0
µOS++ C++ intrusive lists utilities
|
A class template for an intrusive list iterator. More...
#include <micro-os-plus/utils/lists.h>
Public Types | |
using | difference_type = ptrdiff_t |
Type of pointer difference. | |
using | iterator_category = std::forward_iterator_tag |
Category of iterator. | |
using | iterator_pointer = N* |
Type of reference to the iterator internal pointer. | |
using | pointer = value_type* |
Type of pointer to object "pointed to" by the iterator. | |
using | reference = value_type& |
Type of reference to object "pointed to" by the iterator. | |
using | value_type = U |
Type of value "pointed to" by the iterator. | |
Public Member Functions | |
constexpr | intrusive_list_iterator () |
constexpr | intrusive_list_iterator (iterator_pointer const node) |
constexpr | intrusive_list_iterator (reference element) |
iterator_pointer | get_iterator_pointer () const |
pointer | get_pointer (void) const |
Get the object node from the intrusive node. | |
bool | operator!= (const intrusive_list_iterator &other) const |
reference | operator* () const |
intrusive_list_iterator & | operator++ () |
intrusive_list_iterator | operator++ (int) |
intrusive_list_iterator & | operator-- () |
intrusive_list_iterator | operator-- (int) |
pointer | operator-> () const |
bool | operator== (const intrusive_list_iterator &other) const |
Protected Attributes | |
iterator_pointer | node_ |
Pointer to intrusive node. | |
A class template for an intrusive list iterator.
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.
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::difference_type = ptrdiff_t |
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::iterator_category = std::forward_iterator_tag |
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::iterator_pointer = N* |
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::pointer = value_type* |
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::reference = value_type& |
using micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::value_type = U |
|
constexpr |
|
explicitconstexpr |
|
explicitconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
intrusive_list_iterator< T, N, MP, U > micro_os_plus::utils::intrusive_list_iterator< T, N, MP, U >::operator-- | ( | int | ) |
|
inline |
|
inline |
|
protected |