# File: `linked_list.h` ## Classes - `ListElement` - `LinkedList` - `LinkedListIterator` ## Functions - `void SetData ( const TYPE& d ) { data = d ; } // Quagmire - this may look like a mem leak, but dont change it, this behavior is expected where it's called` - `void SetLastNext ( ListElement* p )` - `void SetNext (ListElement* n) { next = n ; }` - `void SetPrev (ListElement* p) { prev = p ; }` - `void ReplaceData(const TYPE&);` - `void Append (const TYPE&);` - `void Insert (const TYPE&);` - `TYPE Pop();` - `TYPE PeekTop();` - `void Clear();` - `void LCount() { count--; }` - `void ResetCount() { count=0; }` - `int32 Count() { return count; }` - `void Advance();` - `bool IsFirst()` - `bool IsLast()` - `bool MoreElements();` - `void MoveFirst();` - `void MoveLast();` - `void RemoveCurrent(bool DeleteData = true);` - `void Replace(const TYPE& new_data);` - `void Reset();` - `void SetDir(direction);` - `void LinkedListIterator::Advance()` - `bool LinkedListIterator::MoreElements()` - `void LinkedListIterator::MoveFirst()` - `void LinkedListIterator::MoveLast()` - `void LinkedListIterator::RemoveCurrent(bool DeleteData)` - `void LinkedListIterator::Replace(const TYPE& new_data)` - `void LinkedListIterator::Reset()` - `void LinkedListIterator::SetDir(direction d)` - `void ListElement::ReplaceData(const TYPE& new_data)` - `void LinkedList::Clear() {` - `void LinkedList::Append(const TYPE& data)` - `void LinkedList::Insert(const TYPE& data)` - `TYPE LinkedList::Pop() {` - `TYPE LinkedList::PeekTop() {` ## Notable Comments - /* - */ - // if (current_element == 0) - // { - // return; - // } - // if (prev != 0) - // { - // } - // if (next != 0)