12 template <
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)
100 template <
typename T>
108 template <
typename T>
112 swap(_size, queue._size);
113 swap(_front, queue._front);
114 swap(_back, queue._back);
117 template <
typename T>
123 template <
typename T>
126 if (_node !=
nullptr)
131 template <
typename T>
139 template <
typename T>
142 assert((_node !=
nullptr) &&
"Iterator must be valid!");
147 template <
typename T>
153 template <
typename T>
157 swap(_node, it._node);
160 template <
typename T>
166 template <
typename T>
169 if (_node !=
nullptr)
174 template <
typename T>
182 template <
typename T>
185 assert((_node !=
nullptr) &&
"Iterator must be valid!");
190 template <
typename T>
196 template <
typename T>
200 swap(_node, it._node);
203 template <
typename T>
Intrusive queue constant iterator.
QueueConstIterator & operator++() noexcept
const value_type * const_pointer
void swap(QueueConstIterator &it) noexcept
Swap two instances.
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.
void push(T &item) noexcept
Push a new item into the back of the queue.
void swap(Queue &queue) noexcept
Swap two instances.
void clear() noexcept
Clear the queue.
iterator begin() noexcept
Get the begin queue iterator.
Intrusive queue iterator.
reference operator*() noexcept
void swap(QueueIterator &it) noexcept
Swap two instances.
pointer operator->() noexcept
QueueIterator & operator++() noexcept
C++ Common project definitions.
void swap(FileCache &cache1, FileCache &cache2) noexcept
void swap(QueueConstIterator< T > &it1, QueueConstIterator< T > &it2) noexcept