#include "Vector.h" //protected methods template void Vector::copyfrom(T* const A, int lo, int hi){ int ix = 0; while (lo != hi) _elem[ix++] = A[lo++]; } template void Vector::copyfrom(Vector& const V, int lo, int hi){ copyfrom(V._elem, lo, hi); } //constructors template Vector::Vector() { _capacity = DEFAULT_CAPACITY; _size = 0; _elem = new T[_capacity]; } template Vector::Vector(int capacity) { _capacity = capacity; _size = 0; _elem = new T[_capacity]; } template Vector::Vector(T* const A, int lo, int hi){ _capacity = MAX(DEFAULT_CAPACITY, (hi - lo) >> 1); _size = hi - lo; copyfrom(A, lo, hi); } template Vector(Vectort& const V){ _size = V.getSize(); _capacity = _size >> 1; copyfrom(V._elem, 0, _size); } template Vector::Vector(Vector& const V, int lo, int hi){ _capacity = MAX(DEFAULT_CAPACITY, (hi - lo) >> 1); _size = hi - lo; copyfrom(V, lo, hi); } //read-only interfaces template Vector::print(){ }