/* * vector.txt * Copyright (c) 2023 Mark Maloof. All Rights Reserved. See LICENSE. */ template class Vector { public: Vector(); Vector( const size_t ); Vector( const size_t, const T& ); Vector( const initializer_list &list ); Vector( const Vector & ); ~Vector(); void assign( const size_t, const T& ); T& at( const size_t ) const; // throws out_of_range typedef VectorIterator iterator; VectorIterator begin(); VectorIterator end(); size_t capacity() const; void clear(); bool empty() const; void insert( const size_t, const T& ); // throws out_of_range T& operator[]( const size_t ) const; // throws out_of_range const Vector &operator=( const Vector& ); void push_back( const T& ); void resize( const size_t, const T& = T() ); size_t size() const; void sort(); void remove( const size_t ); // throws out_of_range void printInternal() const; private: T* contents; size_t sz; size_t cap; void increaseCapacity( size_t cap ); }; // Vector class