/**** * * Implementation of IntList. * */ #include #include #include "strlist.h" StrListElem* StrList::Pull() { return (StrListElem*) List::Pull(); } StrListElem* StrList::Pop() { return (StrListElem*) List::Pop(); } StrListElem* StrList::GetNth(int n) { return (StrListElem*) List::GetNth(n); } StrListElem* StrList::RemoveNth(int n) { return (StrListElem*) List::RemoveNth(n); } StrListElem* StrList::Find(String* k) { return (StrListElem*) List::Find((ListElemKey*) k); } int StrList::FindPos(String* k) { return List::FindPos((ListElemKey*) k); } StrListElem* StrList::Find(const char* k) { return (StrListElem*) List::Find((ListElemKey*) new String(k)); } int StrList::FindPos(const char* k) { return List::FindPos((ListElemKey*) new String(k)); } StrListElem* StrList::Enum() { return (StrListElem*) List::Enum(); } StrList* StrList::Sort(bool ascending) { return (StrList *) List::Sort(ascending); } StrListElem::StrListElem(String* initval, void* initauxval) : data(initval), auxdata(initauxval) {} StrListElem::StrListElem(char* initval, void* initauxval) : data(new String(initval)), auxdata(initauxval) {} StrListElem::~StrListElem() { if (data) delete data; } String* StrListElem::GetData() { return this ? data : null; } void* StrListElem::GetAuxData() { return this ? auxdata : (void*) null; } ListElemKey* StrListElem::GetKey() { return (ListElemKey*) data; } int StrListElem::Compare(ListElem* e) { StrListElem* se = (StrListElem*) e; return this->data->Compare(se->data); } int StrListElem::Compare(ListElemKey* k) { return this->data->Compare((String*) k); } void StrListElem::Print() { if (this) printf("%s ", data->Convert()); }