reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
669 if (this == &RHS) return; 672 if (!this->isSmall() && !RHS.isSmall()) { 673 std::swap(this->BeginX, RHS.BeginX); 674 std::swap(this->Size, RHS.Size); 675 std::swap(this->Capacity, RHS.Capacity); 678 if (RHS.size() > this->capacity()) 679 this->grow(RHS.size()); 680 if (this->size() > RHS.capacity()) 681 RHS.grow(this->size()); 685 if (NumShared > RHS.size()) NumShared = RHS.size(); 685 if (NumShared > RHS.size()) NumShared = RHS.size(); 687 std::swap((*this)[i], RHS[i]); 690 if (this->size() > RHS.size()) { 691 size_t EltDiff = this->size() - RHS.size(); 692 this->uninitialized_copy(this->begin()+NumShared, this->end(), RHS.end()); 693 RHS.set_size(RHS.size() + EltDiff); 693 RHS.set_size(RHS.size() + EltDiff); 696 } else if (RHS.size() > this->size()) { 697 size_t EltDiff = RHS.size() - this->size(); 698 this->uninitialized_copy(RHS.begin()+NumShared, RHS.end(), this->end()); 698 this->uninitialized_copy(RHS.begin()+NumShared, RHS.end(), this->end()); 700 this->destroy_range(RHS.begin()+NumShared, RHS.end()); 700 this->destroy_range(RHS.begin()+NumShared, RHS.end()); 701 RHS.set_size(NumShared);