31#ifndef ETL_INTRUSIVE_QUEUE_INCLUDED
32#define ETL_INTRUSIVE_QUEUE_INCLUDED
90 template <
typename TLink>
96 typedef TLink link_type;
112 p_back->etl_next = &value;
127#if defined(ETL_CHECK_PUSH_POP)
133 link_type* p_next =
p_front->etl_next;
151 template <
typename TContainer>
220 template <
typename TValue,
typename TLink>
229 typedef TValue value_type;
230 typedef value_type* pointer;
231 typedef const value_type* const_pointer;
232 typedef value_type& reference;
233 typedef const value_type& const_reference;
234 typedef size_t size_type;
Definition intrusive_queue.h:62
Definition intrusive_queue.h:48
Definition intrusive_queue.h:76
Definition exception.h:47
void pop_into(TContainer &destination)
Definition intrusive_queue.h:152
const_reference front() const
Definition intrusive_queue.h:269
const_reference back() const
Definition intrusive_queue.h:279
reference back()
Definition intrusive_queue.h:259
size_t current_size
Counts the number of elements in the list.
Definition intrusive_queue.h:210
void pop()
Definition intrusive_queue.h:125
link_type terminator
This link terminates the queue and points to the front of the queue.
Definition intrusive_queue.h:208
bool empty() const
Checks if the queue is in the empty state.
Definition intrusive_queue.h:175
intrusive_queue()
Constructor.
Definition intrusive_queue.h:239
~intrusive_queue_base()
Destructor.
Definition intrusive_queue.h:203
void push(link_type &value)
Definition intrusive_queue.h:102
reference front()
Definition intrusive_queue.h:249
link_type * p_back
Pointer to the current back of the queue.
Definition intrusive_queue.h:207
void clear()
Clears the queue to the empty state.
Definition intrusive_queue.h:162
intrusive_queue_base()
Constructor.
Definition intrusive_queue.h:193
size_t size() const
Returns the number of elements.
Definition intrusive_queue.h:183
Definition intrusive_queue.h:222
Definition intrusive_queue.h:92
bitset_ext
Definition absolute.h:38
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:314