reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
638 assert(N != nullptr); 640 if (N != D) { 641 assert(N->Range != D->Range && "N and D should not be equal"); 642 if (D->Range < N->Range) 643 N->Left = remove(N->Left, D); 643 N->Left = remove(N->Left, D); 645 N->Right = remove(N->Right, D); 645 N->Right = remove(N->Right, D); 646 return rebalance(update(N)); 651 if (N->Left == nullptr || N->Right == nullptr) 651 if (N->Left == nullptr || N->Right == nullptr) 652 return (N->Left == nullptr) ? N->Right : N->Left; 652 return (N->Left == nullptr) ? N->Right : N->Left; 652 return (N->Left == nullptr) ? N->Right : N->Left; 656 Node *M = N->Left; 659 M->Left = remove(N->Left, M); 660 M->Right = N->Right;