31 #ifndef ETL_INTRUSIVE_QUEUE_INCLUDED
32 #define ETL_INTRUSIVE_QUEUE_INCLUDED
55 :
exception(reason_, file_name_, line_number_)
79 template <
typename TLink>
85 typedef TLink link_type;
91 void push(link_type& value)
115 #if defined(ETL_CHECK_PUSH_POP)
118 link_type* p_next =
p_front->etl_next;
136 template <
typename TContainer>
141 destination.push(*p_link);
205 template <
typename TValue,
typename TLink>
214 typedef TValue value_type;
215 typedef value_type* pointer;
216 typedef const value_type* const_pointer;
217 typedef value_type& reference;
218 typedef const value_type& const_reference;
219 typedef size_t size_type;
236 return *
static_cast<TValue*
>(this->
p_front);
246 return *
static_cast<TValue*
>(this->
p_back);
256 return *
static_cast<const TValue*
>(this->
p_front);
266 return *
static_cast<const TValue*
>(this->
p_back);
Definition: intrusive_queue.h:65
Definition: intrusive_queue.h:51
#define ETL_ASSERT(b, e)
Definition: error_handler.h:290
exception(string_type reason_, string_type file_, numeric_type line_)
Constructor.
Definition: exception.h:67
Definition: exception.h:47
void pop_into(TContainer &destination)
Definition: intrusive_queue.h:137
const_reference front() const
Definition: intrusive_queue.h:254
const_reference back() const
Definition: intrusive_queue.h:264
reference back()
Definition: intrusive_queue.h:244
size_t current_size
Counts the number of elements in the list.
Definition: intrusive_queue.h:195
link_type * p_front
The current front of the queue.
Definition: intrusive_queue.h:192
void pop()
Definition: intrusive_queue.h:113
bool empty() const
Checks if the queue is in the empty state.
Definition: intrusive_queue.h:160
intrusive_queue()
Constructor.
Definition: intrusive_queue.h:224
~intrusive_queue_base()
Destructor.
Definition: intrusive_queue.h:188
void push(link_type &value)
Definition: intrusive_queue.h:91
reference front()
Definition: intrusive_queue.h:234
link_type * p_back
The current back of the queue.
Definition: intrusive_queue.h:193
void clear()
Clears the queue to the empty state.
Definition: intrusive_queue.h:147
intrusive_queue_base()
Constructor.
Definition: intrusive_queue.h:178
size_t size() const
Returns the number of elements.
Definition: intrusive_queue.h:168
Definition: intrusive_queue.h:207
Definition: intrusive_queue.h:81
Definition: absolute.h:37