#include <iostream>
//#include <vector>
#include "vec.h"

int main(){
	vec<std::string> teams;
	vec<int> v2;
	teams.push_back("rpi");
	teams.push_back("wpi");
	teams.push_back("yale");
	teams.push_back("brown");
	teams.push_back("cornell");
	teams.push_back("colgate");
	teams.push_back("miami");
	teams.push_back("colorado");
	teams.push_back("harvard");
	std::cout << "==== teams ==== " << std::endl;
	int size = teams.size();
	for(int i=0; i<size; ++i){
		std::cout << teams[i] << std::endl;
	}
	vec<std::string> teams2 = teams;
	std::cout << "==== teams2 ==== " << std::endl;
	int size2 = teams2.size();
	for(int i=0; i<size2; ++i){
		std::cout << teams2[i] << std::endl;
	}
	vec<std::string> teams3;
	teams3 = teams;
	std::cout << "==== teams3 ==== " << std::endl;
	int size3 = teams3.size();
	for(int i=0; i<size3; ++i){
		std::cout << teams3[i] << std::endl;
	}
	std::cout << "at first, size3 is " << size3 << std::endl;
	teams3.pop_back();
	teams3.pop_back();
	std::cout << "==== teams3 ==== " << std::endl;
	size3 = teams3.size();
	std::cout << "now, size3 is " << size3 << std::endl;
	for(int i=0; i<size3; ++i){
		std::cout << teams3[i] << std::endl;
	}

	// this line calls the other constructor.
	vec<double> v(4, 0.0);
	// v[0] = 0.0, v[1] = 0.0, v[2] = 0.0, v[3] = 0.0
	v[0] = 13.1; v[2] = 3.14;
	vec<double> u(v);
	u[2] = 6.5;
	u[3] = -4.8;
	for (unsigned int i=0; i<4; ++i){
		std::cout << u[i] << " " << v[i] << std::endl;
	}	
}
