Struct timeout_queue_t::iterator

Nested Relationships

This struct is a nested type of Template Class timeout_queue_t.

Struct Documentation

struct iterator

Filtered iterator (yields only non-expired type)

Iterator that yields only non-expired elements in the queue.

Public Types

using base_iter = typename base_t::iterator
using iterator_category = std::forward_iterator_tag
using value_type = type
using difference_type = typename std::iterator_traits<base_iter>::difference_type
using reference = type&
using pointer = type*

Public Functions

iterator() = default

Default constructor.

inline iterator(timeout_queue_t *o_, base_iter i_, base_iter e_)

Construct an iterator.

Parameters:
  • o_ – Queue instance that owns this iterator.

  • i_ – Current list iterator position.

  • e_ – Sentinel iterator marking the end position.

inline reference operator*() const

Dereferences the iterator.

inline pointer operator->() const

Accesses the current element pointer.

inline iterator &operator++()

Pre-increment operator.

inline iterator operator++(int int_)

Post-increment operator.

Parameters:

int_ – Dummy integer used to select postfix increment syntax.

Returns:

Iterator snapshot before incrementing.

Public Members

timeout_queue_t *owner = nullptr

Pointer to the owning queue.

base_iter it = {}
base_iter end = {}

Underlying iterators.

Private Functions

inline void __skip_expired()

Skip expired elements and collect them in timedOutItems.

Friends

inline friend bool operator==(const iterator &a_, const iterator &b_)

Equality comparison.

Parameters:
  • a_ – Left iterator in the comparison.

  • b_ – Right iterator in the comparison.

Returns:

true when both iterators point to the same list position.

inline friend bool operator!=(const iterator &a_, const iterator &b_)

Inequality comparison.

Parameters:
  • a_ – Left iterator in the comparison.

  • b_ – Right iterator in the comparison.

Returns:

true when iterators point to different list positions.