/* Name: LinkedList.h Author: Zach Seibel-Barnes Student Number: c3262201 Last Modified: 16/09/2020 Description: */ #ifndef GUARD_LINKEDLIST #define GUARD_LINKEDLIST #include #include #include "Node.h" class LinkedList { public: typedef Node::valueType valueType; //Continue with our typedef from Node.h LinkedList(); //Constructor ~LinkedList(); //deconstructor //Accessors void addToHead(const valueType& data); void addToCurrent(const valueType& data); void addToTail(const valueType& data); //Data Mutators void add(const valueType addString); void remove(const valueType removeString); void sort(); //Queries int count(const valueType countString); int currentSelect(char option='h'); valueType buildString() const; valueType getNodeData(int wordNum) const; int getWordCount() const; void operator += (LinkedList& list); private: Node* head; Node* tail; Node* current; }; //Operator Overloading std::ostream& operator << (std::ostream& out, const LinkedList& list); #endif