Template Struct IntrusiveList::BaseIterator

Nested Relationships

This struct is a nested type of Template Class IntrusiveList.

Template Parameter Order

  1. typename It

  2. typename NodeType

Struct Documentation

template<typename It, typename NodeType>
struct BaseIterator

Iterator for IntrusiveList.

Template Parameters:
  • T – Type of the object that the list has to link

  • T::*Member – Member pointer to the node object in T

  • It – Base return type for derefence operator and arrow operator (T or const T)

  • NodeType – Type for storing the Node<T> object (Node<T> or const Node<T>)

Public Functions

inline BaseIterator(NodeType *node_ptr)

Construct a new Iterator object.

Parameters:

node_ptr – Pointer to the node in owner object

inline It &operator*() const

Dereference operator.

Returns:

T& Reference to owner of the node in the iterator

inline It *operator->() const

Arrow operator.

Returns:

T* Pointer to owner of the node in the iterator

inline It &front() const

Front.

Returns:

NodeType& Reference to first element in iterator

inline BaseIterator &operator++()

Prefix increment.

Returns:

Iterator& Reference to the current iterator

inline BaseIterator operator++(int)

Postfix increment.

Returns:

Iterator New iterator with previous value

Friends

inline friend bool operator==(const BaseIterator &a, const BaseIterator &b)
inline friend bool operator!=(const BaseIterator &a, const BaseIterator &b)