Arduino DLNA Server
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tiny_dlna::ListLockFree< T, Alloc >::Iterator Class Reference

Bidirectional iterator for ListLockFree. More...

#include <ListLockFree.h>

Public Member Functions

 Iterator (Node *node, ListLockFree *owner_ptr=nullptr)
 
Iterator operator++ ()
 
Iterator operator++ (int)
 
Iterator operator-- ()
 
Iterator operator-- (int)
 
Iterator operator+ (int offset)
 
Iterator operator- (int offset)
 
bool operator== (const Iterator &it) const
 
bool operator!= (const Iterator &it) const
 
T & operator* ()
 
T * operator-> ()
 
Nodeget_node ()
 
 operator bool () const
 
void set_owner (ListLockFree *owner_ptr)
 

Protected Member Functions

Iterator getIteratorAtOffset (int offset)
 

Protected Attributes

Nodenode = nullptr
 
bool is_eof = false
 
ListLockFreeowner = nullptr
 

Detailed Description

template<class T, class Alloc = DLNA_ALLOCATOR<T>>
class tiny_dlna::ListLockFree< T, Alloc >::Iterator

Bidirectional iterator for ListLockFree.

Note
Iterator stores a pointer to the owning list for boundary checks.
Iterators are invalidated if the list is modified.

Constructor & Destructor Documentation

◆ Iterator()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
tiny_dlna::ListLockFree< T, Alloc >::Iterator::Iterator ( Node node,
ListLockFree owner_ptr = nullptr 
)
inline

Member Function Documentation

◆ get_node()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Node * tiny_dlna::ListLockFree< T, Alloc >::Iterator::get_node ( )
inline

◆ getIteratorAtOffset()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::getIteratorAtOffset ( int  offset)
inlineprotected

◆ operator bool()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator bool ( ) const
inline

◆ operator!=()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
bool tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator!= ( const Iterator it) const
inline

◆ operator*()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
T & tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator* ( )
inline

◆ operator+()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator+ ( int  offset)
inline

◆ operator++() [1/2]

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator++ ( )
inline

◆ operator++() [2/2]

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator++ ( int  )
inline

◆ operator-()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator- ( int  offset)
inline

◆ operator--() [1/2]

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator-- ( )
inline

◆ operator--() [2/2]

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Iterator tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator-- ( int  )
inline

◆ operator->()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
T * tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator-> ( )
inline

◆ operator==()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
bool tiny_dlna::ListLockFree< T, Alloc >::Iterator::operator== ( const Iterator it) const
inline

◆ set_owner()

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
void tiny_dlna::ListLockFree< T, Alloc >::Iterator::set_owner ( ListLockFree owner_ptr)
inline

Member Data Documentation

◆ is_eof

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
bool tiny_dlna::ListLockFree< T, Alloc >::Iterator::is_eof = false
protected

◆ node

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
Node* tiny_dlna::ListLockFree< T, Alloc >::Iterator::node = nullptr
protected

◆ owner

template<class T , class Alloc = DLNA_ALLOCATOR<T>>
ListLockFree* tiny_dlna::ListLockFree< T, Alloc >::Iterator::owner = nullptr
protected

The documentation for this class was generated from the following file: