10 _head.prev->next =
node;
11 node->prev = _head.prev;
16 return _head.
next == &_head;
23 *
this = std::move(
other);
86 _head.next = std::exchange(
other._head.next, &
other._head);
87 _head.prev = std::exchange(
other._head.prev, &
other._head);
88 _head.next->prev = &_head;
89 _head.prev->next = &_head;
97 _head.prev->next = std::exchange(
other._head.next, &
other._head);
98 _head.prev->next->prev = _head.prev;
99 _head.prev = std::exchange(
other._head.prev, &
other._head);
100 _head.prev->next = &_head;
104 if (this->
next ==
nullptr || this->
prev ==
nullptr) {
111 this->
next =
nullptr;
112 this->
prev =
nullptr;
bool Empty() const noexcept
Node * GetElement(std::size_t ind, bool reversed) const noexcept
BiList() noexcept=default
Node * PopBack() noexcept
void PushBack(Node *node) noexcept
BiList & operator=(const BiList &)=delete
void PushAll(BiList &&other) noexcept
#define YACLIB_DEBUG(cond, message)
Contract< V, E > MakeContract()
Creates related future and promise.