25#include "common/list_intern.h"
77 template<
class... TArgs>
79 emplace(pos._node, Common::forward<TArgs>(args)...);
87 insert(pos._node, element);
102 template<
typename iterator2>
104 for (; first != last; ++first)
113 assert(pos !=
end());
122 assert(pos !=
end());
145 if (val ==
static_cast<Node *
>(i)->_data)
152 template<
class... TArgs>
168 template<
class... TArgs>
223 for (i =
begin(), i2 = list.
begin(); (i != e) && (i2 != e2); ++i, ++i2) {
224 static_cast<Node *
>(i._node)->_data =
static_cast<const Node *
>(i2._node)->_data;
248 Node *node =
static_cast<Node *
>(pos);
310 Node *node =
static_cast<Node *
>(pos);
311 n._prev->_next = n._next;
312 n._next->_prev = n._prev;
320 template<
class... TArgs>
325 newNode->_next = pos;
326 newNode->_prev = pos->_prev;
327 newNode->_prev->_next = newNode;
328 newNode->_next->_prev = newNode;
338 newNode->_next = pos;
339 newNode->_prev = pos->_prev;
340 newNode->_prev->_next = newNode;
341 newNode->_next->_prev = newNode;
351 newNode->_next = pos;
352 newNode->_prev = pos->_prev;
353 newNode->_prev->_next = newNode;
354 newNode->_next->_prev = newNode;
t_T & front()
Definition: list.h:196
uint size_type
Definition: list.h:56
iterator begin()
Definition: list.h:266
iterator insert(iterator pos, t_T &&element)
Definition: list.h:94
void push_front(const t_T &element)
Definition: list.h:158
void pop_front()
Definition: list.h:184
size_type size() const
Definition: list.h:237
void emplace_front(TArgs &&...args)
Definition: list.h:153
List< t_T > & operator=(const List< t_T > &list)
Definition: list.h:216
iterator reverse_begin()
Definition: list.h:274
ListInternal::Iterator< t_T > iterator
Definition: list.h:52
void clear()
Definition: list.h:245
ListInternal::ConstIterator< t_T > const_iterator
Definition: list.h:53
void emplace(NodeBase *pos, TArgs &&... args)
Definition: list.h:321
const t_T & front() const
Definition: list.h:201
NodeBase _anchor
Definition: list.h:49
void emplace_back(TArgs &&...args)
Definition: list.h:169
void insert(NodeBase *pos, t_T &&element)
Definition: list.h:347
const_iterator reverse_begin() const
Definition: list.h:295
void push_back(t_T &&element)
Definition: list.h:179
ListInternal::Node< t_T > Node
Definition: list.h:47
NodeBase erase(NodeBase *pos)
Definition: list.h:308
iterator insert(iterator pos, const t_T &element)
Definition: list.h:86
const t_T & back() const
Definition: list.h:211
ListInternal::NodeBase NodeBase
Definition: list.h:46
const_iterator end() const
Definition: list.h:300
constexpr List()
Definition: list.h:62
iterator erase(iterator pos)
Definition: list.h:112
void insert(NodeBase *pos, const t_T &element)
Definition: list.h:334
iterator emplace(iterator pos, TArgs &&...args)
Definition: list.h:78
t_T & back()
Definition: list.h:206
void push_back(const t_T &element)
Definition: list.h:174
iterator reverse_erase(iterator pos)
Definition: list.h:121
iterator end()
Definition: list.h:279
void pop_back()
Definition: list.h:190
iterator erase(iterator first, iterator last)
Definition: list.h:131
void remove(const t_T &val)
Definition: list.h:142
bool empty() const
Definition: list.h:258
void insert(iterator pos, iterator2 first, iterator2 last)
Definition: list.h:103
List(const List< t_T > &list)
Definition: list.h:63
const_iterator begin() const
Definition: list.h:287
void push_front(t_T &&element)
Definition: list.h:163
t_T value_type
Definition: list.h:55
Out move(In first, In last, Out dst)
Definition: algorithm.h:109
Definition: algorithm.h:29
Definition: list_intern.h:108
Definition: list_intern.h:54
Definition: list_intern.h:33
Definition: list_intern.h:42