Lines Matching refs:end

62   /// Clients can use this in conjunction with capacity() to write past the end
129 iterator end() { return begin() + size(); }
130 const_iterator end() const { return begin() + size(); }
133 reverse_iterator rbegin() { return reverse_iterator(end()); }
134 const_reverse_iterator rbegin() const{ return const_reverse_iterator(end()); }
168 return end()[-1];
172 return end()[-1];
214 ::new ((void*) this->end()) T(Elt);
221 ::new ((void*) this->end()) T(::std::move(Elt));
227 this->end()->~T();
243 this->uninitialized_move(this->begin(), this->end(), NewElts);
246 destroy_range(this->begin(), this->end());
305 memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
340 this->destroy_range(this->begin(), this->end());
346 this->destroy_range(this->begin()+N, this->end());
351 for (auto I = this->end(), E = this->begin() + N; I != E; ++I)
359 this->destroy_range(this->begin()+N, this->end());
364 std::uninitialized_fill(this->end(), this->begin()+N, NV);
382 /// Add the specified range to the end of the SmallVector.
392 this->uninitialized_copy(in_start, in_end, this->end());
396 /// Append \p NumInputs copies of \p Elt to the end.
401 std::uninitialized_fill_n(this->end(), NumInputs, Elt);
406 append(IL.begin(), IL.end());
417 std::uninitialized_fill(this->begin(), this->end(), Elt);
439 assert(I < this->end() && "Erasing at past-the-end iterator.");
443 std::move(I+1, this->end(), I);
456 assert(E <= this->end() && "Trying to erase past the end.");
460 iterator I = std::move(E, this->end(), S);
462 this->destroy_range(I, this->end());
468 if (I == this->end()) { // Important special case for empty vector.
470 return this->end()-1;
474 assert(I <= this->end() && "Inserting past the end of the vector.");
482 ::new ((void*) this->end()) T(::std::move(this->back()));
484 std::move_backward(I, this->end()-1, this->end());
490 if (I <= EltPtr && EltPtr < this->end())
498 if (I == this->end()) { // Important special case for empty vector.
500 return this->end()-1;
504 assert(I <= this->end() && "Inserting past the end of the vector.");
511 ::new ((void*) this->end()) T(std::move(this->back()));
513 std::move_backward(I, this->end()-1, this->end());
519 if (I <= EltPtr && EltPtr < this->end())
530 if (I == this->end()) { // Important special case for empty vector.
536 assert(I <= this->end() && "Inserting past the end of the vector.");
544 // If there are more elements between the insertion point and the end of the
548 if (size_t(this->end()-I) >= NumToInsert) {
549 T *OldEnd = this->end();
550 append(std::move_iterator<iterator>(this->end() - NumToInsert),
551 std::move_iterator<iterator>(this->end()));
561 // not inserting at the end.
564 T *OldEnd = this->end();
567 this->uninitialized_move(I, OldEnd, this->end()-NumOverwritten);
585 if (I == this->end()) { // Important special case for empty vector.
591 assert(I <= this->end() && "Inserting past the end of the vector.");
601 // If there are more elements between the insertion point and the end of the
605 if (size_t(this->end()-I) >= NumToInsert) {
606 T *OldEnd = this->end();
607 append(std::move_iterator<iterator>(this->end() - NumToInsert),
608 std::move_iterator<iterator>(this->end()));
618 // not inserting at the end.
621 T *OldEnd = this->end();
624 this->uninitialized_move(I, OldEnd, this->end()-NumOverwritten);
638 insert(I, IL.begin(), IL.end());
644 ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
655 return std::equal(this->begin(), this->end(), RHS.begin());
662 return std::lexicographical_compare(this->begin(), this->end(),
663 RHS.begin(), RHS.end());
692 this->uninitialized_copy(this->begin()+NumShared, this->end(), RHS.end());
694 this->destroy_range(this->begin()+NumShared, this->end());
698 this->uninitialized_copy(RHS.begin()+NumShared, RHS.end(), this->end());
700 this->destroy_range(RHS.begin()+NumShared, RHS.end());
724 this->destroy_range(NewEnd, this->end());
736 this->destroy_range(this->begin(), this->end());
746 this->uninitialized_copy(RHS.begin()+CurSize, RHS.end(),
749 // Set end.
761 this->destroy_range(this->begin(), this->end());
778 NewEnd = std::move(RHS.begin(), RHS.end(), NewEnd);
781 this->destroy_range(NewEnd, this->end());
796 this->destroy_range(this->begin(), this->end());
806 this->uninitialized_move(RHS.begin()+CurSize, RHS.end(),
809 // Set end.
843 this->destroy_range(this->begin(), this->end());
862 this->append(R.begin(), R.end());
918 return {std::begin(Range), std::end(Range)};
921 } // end namespace llvm
939 } // end namespace std