template<typename T>
class pw::IntrusiveQueue< T >
An IntrusiveQueue is a singly-linked list similar to IntrusiveForwardList but tracks the tail element to provide O(1) push_back support. It does not support pop_back().
|
|
| IntrusiveQueue (const IntrusiveQueue &)=delete |
| |
|
IntrusiveQueue & | operator= (const IntrusiveQueue &)=delete |
| |
|
| IntrusiveQueue (IntrusiveQueue &&)=default |
| | Moves the other queue's contents into this queue.
|
| |
|
IntrusiveQueue & | operator= (IntrusiveQueue &&)=default |
| | Clears this queue and moves the other queue's contents into it.
|
| |
|
template<typename Iterator > |
| | IntrusiveQueue (Iterator first, Iterator last) |
| | Constructs a queue from an iterator over items.
|
| |
|
| IntrusiveQueue (std::initializer_list< T * > items) |
| | Constructs a queue from a std::initializer_list of pointers to items.
|
| |
|
template<typename Iterator > |
| void | assign (Iterator first, Iterator last) |
| |
|
void | assign (std::initializer_list< T * > items) |
| |
|
iterator | before_begin () noexcept |
| |
|
const_iterator | before_begin () const noexcept |
| |
|
const_iterator | cbefore_begin () const noexcept |
| |
|
iterator | begin () noexcept |
| |
|
const_iterator | begin () const noexcept |
| |
|
const_iterator | cbegin () const noexcept |
| |
|
iterator | end () noexcept |
| |
|
const_iterator | end () const noexcept |
| |
|
const_iterator | cend () const noexcept |
| |
|
reference | front () |
| |
|
const_reference | front () const |
| |
|
reference | back () |
| |
|
const_reference | back () const |
| |
|
bool | empty () const noexcept |
| |
|
constexpr size_type | max_size () const noexcept |
| |
|
void | clear () |
| |
|
void | push_front (T &item) |
| | Inserts an element at the beginning of the queue.
|
| |
|
void | pop_front () |
| | Removes the first element of the queue.
|
| |
|
void | push_back (T &item) |
| | Inserts an element at the end of the queue in O(1) time.
|
| |
|
iterator | insert_after (iterator pos, T &item) |
| | Inserts item after the specified pos.
|
| |
|
template<typename Iterator > |
| iterator | insert_after (iterator pos, Iterator first, Iterator last) |
| | Inserts a range after the specified pos.
|
| |
|
iterator | insert_after (iterator pos, std::initializer_list< T * > items) |
| | Inserts an initializer list after the specified pos.
|
| |
|
iterator | erase_after (iterator pos) |
| | Removes the item succeeding pos.
|
| |
|
iterator | erase_after (iterator first, iterator last) |
| | Removes a range of items.
|
| |
| bool | remove (const T &item_to_remove) |
| |
|
template<typename UnaryPredicate > |
| size_type | remove_if (UnaryPredicate &&pred) |
| | Removes any item for which the given unary predicate evaluates to true.
|
| |
|
void | swap (IntrusiveQueue< T > &other) noexcept |
| |