|
s + size,elements + n,T()); } else { for (T *p = first_free; p != elements + n;) { alloc.destroy(--p); } } first_free = elements + n; } template
void Vector
::resize(const size_t n,const T &t) { size_t size = first_free - elements; if (n > capacity()) { reallocate(); std::uninitialized_copy(elements + size,elements + n,t); } else if (n > size) { std::uninitialized_copy(elements + size,elements + n,t); } else { for (T *p = first_free; p != elements + n;) { alloc.destroy(--p); } } first_free = elements + n; } template
T &Vector
::operator[](const size_t index) { return elements[index]; } template
const T &Vector
::operator[](const size_t index) const { return elements[index]; }
|