Lines Matching refs:__cache
1553 __node_pointer __cache = static_cast<__node_pointer>(__begin_node());
1558 // __cache->__left_ == nullptr
1559 if (__cache->__right_ != nullptr)
1560 __cache = static_cast<__node_pointer>(__cache->__right_);
1561 // __cache->__left_ == nullptr
1562 // __cache->__right_ == nullptr
1563 return __cache;
1566 // Precondition: __cache != nullptr
1567 // __cache->left_ == nullptr
1568 // __cache->right_ == nullptr
1572 __tree<_Tp, _Compare, _Allocator>::__detach(__node_pointer __cache)
1574 if (__cache->__parent_ == nullptr)
1576 if (__tree_is_left_child(static_cast<__node_base_pointer>(__cache)))
1578 __cache->__parent_->__left_ = nullptr;
1579 __cache = static_cast<__node_pointer>(__cache->__parent_);
1580 if (__cache->__right_ == nullptr)
1581 return __cache;
1582 return static_cast<__node_pointer>(__tree_leaf(__cache->__right_));
1584 // __cache is right child
1585 __cache->__parent_unsafe()->__right_ = nullptr;
1586 __cache = static_cast<__node_pointer>(__cache->__parent_);
1587 if (__cache->__left_ == nullptr)
1588 return __cache;
1589 return static_cast<__node_pointer>(__tree_leaf(__cache->__left_));
1617 __node_pointer __cache = __detach();
1622 for (; __cache != nullptr && __first != __last; ++__first)
1624 __cache->__value_ = *__first;
1625 __node_pointer __next = __detach(__cache);
1626 __node_insert_unique(__cache);
1627 __cache = __next;
1633 while (__cache->__parent_ != nullptr)
1634 __cache = static_cast<__node_pointer>(__cache->__parent_);
1635 destroy(__cache);
1639 if (__cache != nullptr)
1641 while (__cache->__parent_ != nullptr)
1642 __cache = static_cast<__node_pointer>(__cache->__parent_);
1643 destroy(__cache);
1663 __node_pointer __cache = __detach();
1668 for (; __cache != nullptr && __first != __last; ++__first)
1670 __cache->__value_ = *__first;
1671 __node_pointer __next = __detach(__cache);
1672 __node_insert_multi(__cache);
1673 __cache = __next;
1679 while (__cache->__parent_ != nullptr)
1680 __cache = static_cast<__node_pointer>(__cache->__parent_);
1681 destroy(__cache);
1685 if (__cache != nullptr)
1687 while (__cache->__parent_ != nullptr)
1688 __cache = static_cast<__node_pointer>(__cache->__parent_);
1689 destroy(__cache);
1787 __node_pointer __cache = __detach();
1792 while (__cache != nullptr && __t.size() != 0)
1794 __cache->__value_ = _VSTD::move(__t.remove(__t.begin())->__value_);
1795 __node_pointer __next = __detach(__cache);
1796 __node_insert_multi(__cache);
1797 __cache = __next;
1803 while (__cache->__parent_ != nullptr)
1804 __cache = static_cast<__node_pointer>(__cache->__parent_);
1805 destroy(__cache);
1809 if (__cache != nullptr)
1811 while (__cache->__parent_ != nullptr)
1812 __cache = static_cast<__node_pointer>(__cache->__parent_);
1813 destroy(__cache);