12template <
class InputIterator>
15 for (
auto it = first; it != last; ++it)
62 if (_front ==
nullptr)
70 if (_front ==
nullptr)
74 _front = result->next;
75 result->next =
nullptr;
76 if (_front ==
nullptr)
90 while (current !=
nullptr)
112 swap(_size, queue._size);
113 swap(_front, queue._front);
114 swap(_back, queue._back);
126 if (_node !=
nullptr)
142 assert((_node !=
nullptr) &&
"Iterator must be valid!");
157 swap(_node, it._node);
169 if (_node !=
nullptr)
185 assert((_node !=
nullptr) &&
"Iterator must be valid!");
200 swap(_node, it._node);
Intrusive queue constant iterator.
QueueConstIterator & operator++() noexcept
const value_type * const_pointer
friend void swap(QueueConstIterator< U > &it1, QueueConstIterator< U > &it2) noexcept
const value_type & const_reference
const_pointer operator->() const noexcept
const_reference operator*() const noexcept
Intrusive queue container.
const_iterator cbegin() const noexcept
T * pop() noexcept
Pop the item from the front of the queue.
void reverse() noexcept
Reverse the queue.
const_iterator cend() const noexcept
iterator end() noexcept
Get the end queue iterator.
friend void swap(Queue< U > &queue1, Queue< U > &queue2) noexcept
void push(T &item) noexcept
Push a new item into the back of the queue.
void clear() noexcept
Clear the queue.
iterator begin() noexcept
Get the begin queue iterator.
Intrusive queue iterator.
reference operator*() noexcept
pointer operator->() noexcept
friend void swap(QueueIterator< U > &it1, QueueIterator< U > &it2) noexcept
QueueIterator & operator++() noexcept
C++ Common project definitions.
void swap(FileCache &cache1, FileCache &cache2) noexcept