reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
54 ASTVector(ASTVector &&O) : Begin(O.Begin), End(O.End), Capacity(O.Capacity) { 55 O.Begin = O.End = nullptr; 69 swap(Begin, O.Begin); 69 swap(Begin, O.Begin); 78 destroy_range(Begin, End); 97 iterator begin() { return Begin; } 98 const_iterator begin() const { return Begin; } 108 bool empty() const { return Begin == End; } 109 size_type size() const { return End-Begin; } 112 assert(Begin + idx < End); 113 return Begin[idx]; 116 assert(Begin + idx < End); 117 return Begin[idx]; 147 destroy_range(Begin, End); 149 End = Begin; 154 return pointer(Begin); 159 return const_pointer(Begin); 174 if (unsigned(this->capacity_ptr()-Begin) < N) 180 size_t capacity() const { return this->capacity_ptr() - Begin; } 391 if (Begin != End) { 393 std::uninitialized_copy(Begin, End, NewElts); 395 destroy_range(Begin, End); 398 memcpy(NewElts, Begin, CurSize * sizeof(T)); 403 Begin = NewElts; 405 Capacity.setPointer(Begin+NewCapacity);