//: C03:Sorted.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Testing template specialization #include "Sorted.h" #include "Urand.h" #include "../arraySize.h" #include #include using namespace std; char* words[] = { "is", "running", "big", "dog", "a", }; char* words2[] = { "this", "that", "theother", }; int main() { Sorted is; Urand<47> rand; for(int i = 0; i < 15; i++) is.push_back(rand()); for(int l = 0; l < is.size(); l++) cout << is[l] << ' '; cout << endl; is.sort(); for(int l = 0; l < is.size(); l++) cout << is[l] << ' '; cout << endl; // Uses the template partial specialization: Sorted ss; for(int i = 0; i < asz(words); i++) ss.push_back(new string(words[i])); for(int i = 0; i < ss.size(); i++) cout << *ss[i] << ' '; cout << endl; ss.sort(); for(int i = 0; i < ss.size(); i++) cout << *ss[i] << ' '; cout << endl; // Uses the full char* specialization: Sorted scp; for(int i = 0; i < asz(words2); i++) scp.push_back(words2[i]); for(int i = 0; i < scp.size(); i++) cout << scp[i] << ' '; cout << endl; scp.sort(); for(int i = 0; i < scp.size(); i++) cout << scp[i] << ' '; cout << endl; } ///:~