// test_List.cpp // // Small test driver for our class List. #include using namespace std; #include "List.h" template void print(const List & ls) { for (const T & e : ls) cout << e << ' '; cout << '\n'; } int main() { cout << "Testing iterators...\n"; List ls; ls.push_back(10); ls.push_back(20); ls.push_back(30); cout << "10 20 30: "; print(ls); List::iterator itr = ls.begin(); cout << "20: " << *(++itr) << endl; cout << "20: " << *(itr++) << endl; cout << "30: " << *itr << endl; List> ls2; ls2.push_back({1, 17}); cout << "(1, 17): (" << ls2.begin()->first << ", " << ls2.begin()->second << ")\n"; cout << "\nTesting insert...\n"; ls.insert(ls.end(), 35); itr = ls.insert(ls.begin(), 5); ++itr; ++itr; itr = ls.insert(itr, 15); cout << "5 10 15 20 30 35: "; print(ls); cout << "15: " << *itr << endl; cout << "\nTesting erase...\n"; ls.erase(itr); ls.erase(ls.begin()); ls.erase(--ls.end()); cout << "10 20 30: "; print(ls); ls.erase(ls.begin()); ls.erase(ls.begin()); ls.erase(ls.begin()); cout << ": "; print(ls); ls.push_back(10); ls.push_back(20); ls.push_back(30); cout << "10 20 30: "; print(ls); }