00001 00041 #ifndef _SORTEDLINKEDLIST_H 00042 #define _SORTEDLINKEDLIST_H 00043 00044 #include "sortedlist.h" 00045 #include "linkedlist.h" 00046 00047 using std::ostream; 00048 00049 namespace container { 00050 00054 class SortedLinkedList: public SortedList, public LinkedList { 00055 public: 00056 00057 const static Info* const TYPE_INFO; 00058 00059 SortedLinkedList(); 00060 SortedLinkedList(const SortedLinkedList& pattern); 00061 virtual ~SortedLinkedList(); 00062 00063 protected: 00064 00065 /********************* SortedList Methods (protected) *********************/ 00066 00067 virtual bool insertSorted_impl(Entity* entity); 00068 00069 /********************* List Methods (protected) *********************/ 00070 00071 virtual bool add_impl(Entity* entity); 00072 00073 public: 00074 00075 /********************* Object Methods (public) *********************/ 00076 00077 virtual ostream& renderState(ostream& os) const; 00078 00079 virtual const Info* typeInfo() const; 00080 00081 virtual Object* clone(bool deepCopy = false) const; 00082 00083 }; 00084 00085 } // namespace container 00086 #endif /* _SORTEDLINKEDLIST_H */