reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
214 if (this == &RHS) return; 217 if (!this->isSmall() && !RHS.isSmall()) { 218 std::swap(this->CurArray, RHS.CurArray); 219 std::swap(this->CurArraySize, RHS.CurArraySize); 220 std::swap(this->NumNonEmpty, RHS.NumNonEmpty); 221 std::swap(this->NumTombstones, RHS.NumTombstones); 229 if (!this->isSmall() && RHS.isSmall()) { 230 assert(RHS.CurArray == RHS.SmallArray); 230 assert(RHS.CurArray == RHS.SmallArray); 231 std::copy(RHS.CurArray, RHS.CurArray + RHS.NumNonEmpty, this->SmallArray); 231 std::copy(RHS.CurArray, RHS.CurArray + RHS.NumNonEmpty, this->SmallArray); 231 std::copy(RHS.CurArray, RHS.CurArray + RHS.NumNonEmpty, this->SmallArray); 232 std::swap(RHS.CurArraySize, this->CurArraySize); 233 std::swap(this->NumNonEmpty, RHS.NumNonEmpty); 234 std::swap(this->NumTombstones, RHS.NumTombstones); 235 RHS.CurArray = this->CurArray; 242 if (this->isSmall() && !RHS.isSmall()) { 245 RHS.SmallArray); 246 std::swap(RHS.CurArraySize, this->CurArraySize); 247 std::swap(RHS.NumNonEmpty, this->NumNonEmpty); 248 std::swap(RHS.NumTombstones, this->NumTombstones); 249 this->CurArray = RHS.CurArray; 250 RHS.CurArray = RHS.SmallArray; 250 RHS.CurArray = RHS.SmallArray; 255 assert(this->isSmall() && RHS.isSmall()); 256 unsigned MinNonEmpty = std::min(this->NumNonEmpty, RHS.NumNonEmpty); 258 RHS.SmallArray); 262 RHS.SmallArray + MinNonEmpty); 264 std::copy(RHS.SmallArray + MinNonEmpty, RHS.SmallArray + RHS.NumNonEmpty, 264 std::copy(RHS.SmallArray + MinNonEmpty, RHS.SmallArray + RHS.NumNonEmpty, 264 std::copy(RHS.SmallArray + MinNonEmpty, RHS.SmallArray + RHS.NumNonEmpty, 267 assert(this->CurArraySize == RHS.CurArraySize); 268 std::swap(this->NumNonEmpty, RHS.NumNonEmpty); 269 std::swap(this->NumTombstones, RHS.NumTombstones);