#include #include using namespace std; #include "clist.h" #include "worditer.h" #include "stringset.h" #include "prompt.h" template int UniqueStrings(Type& iter) // post: return # unique strings in iter { StringSet uni; for(iter.Init(); iter.HasMore(); iter.Next()) { uni.insert(iter.Current()); } return uni.size(); } int main() { string filename = PromptString("filename: "); WordStreamIterator witer; witer.Open(filename); CList slist; for(witer.Init(); witer.HasMore(); witer.Next()) { slist = cons(witer.Current(),slist); } CListIterator iter(slist); cout << "unique from WordIterator = " << UniqueStrings(witer) << endl; cout << "unique from CList = " << UniqueStrings(iter) << endl; return 0; }