diff options
| author | rPatrickWarner <[email protected]> | 2024-05-29 20:02:38 -0700 |
|---|---|---|
| committer | rPatrickWarner <[email protected]> | 2024-05-29 20:02:38 -0700 |
| commit | a3535ec86e9d4ca6eda27817d33e0e7bac4b8562 (patch) | |
| tree | b9bc7f2170aae6cad1f9c7ec774adee978d52220 /CST 126/Homework3 | |
| parent | cleaned up and added some unit tests (diff) | |
| parent | added singly and doubly linked node classes (diff) | |
| download | homework-1-reecepwarner-a3535ec86e9d4ca6eda27817d33e0e7bac4b8562.tar.xz homework-1-reecepwarner-a3535ec86e9d4ca6eda27817d33e0e7bac4b8562.zip | |
merging template node branch into develop
Diffstat (limited to 'CST 126/Homework3')
| -rw-r--r-- | CST 126/Homework3/Homework3.vcxproj | 1 | ||||
| -rw-r--r-- | CST 126/Homework3/Homework3.vcxproj.filters | 3 | ||||
| -rw-r--r-- | CST 126/Homework3/Node.hpp | 25 | ||||
| -rw-r--r-- | CST 126/Homework3/linked_list_node.hpp | 26 | ||||
| -rw-r--r-- | CST 126/Homework3/main.cpp | 1 |
5 files changed, 48 insertions, 8 deletions
diff --git a/CST 126/Homework3/Homework3.vcxproj b/CST 126/Homework3/Homework3.vcxproj index 0625066..59ad698 100644 --- a/CST 126/Homework3/Homework3.vcxproj +++ b/CST 126/Homework3/Homework3.vcxproj @@ -133,6 +133,7 @@ <ClCompile Include="main.cpp" /> </ItemGroup> <ItemGroup> + <ClInclude Include="linked_list_node.hpp" /> <ClInclude Include="Node.hpp" /> <ClInclude Include="SinglyLinkedList.hpp" /> </ItemGroup> diff --git a/CST 126/Homework3/Homework3.vcxproj.filters b/CST 126/Homework3/Homework3.vcxproj.filters index 6f86576..86c6279 100644 --- a/CST 126/Homework3/Homework3.vcxproj.filters +++ b/CST 126/Homework3/Homework3.vcxproj.filters @@ -26,5 +26,8 @@ <ClInclude Include="Node.hpp"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="linked_list_node.hpp"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> </Project>
\ No newline at end of file diff --git a/CST 126/Homework3/Node.hpp b/CST 126/Homework3/Node.hpp index 1bfbff2..bf2371d 100644 --- a/CST 126/Homework3/Node.hpp +++ b/CST 126/Homework3/Node.hpp @@ -1,15 +1,14 @@ #ifndef NODE_HPP #define NODE_HPP -namespace CST_126 +namespace CST126 { - template<typename T> + template<typename T> //this is just a generic container to hold data class Node { public: Node() = default; - Node(const T& Data); - + Node(const T& data); ~Node() = default; @@ -17,15 +16,19 @@ namespace CST_126 T Data() const; void Data(const T& Data); + void Data(const T& data); + void Data(T& data); + private: - T _data{ 0 }; + T _data{}; }; + template<typename T> - Node<T>::Node(const T& Data) : _data(Data) {}; + inline Node<T>::Node(const T& data) : _data(data) { }; template<typename T> inline T& Node<T>::Data() @@ -40,9 +43,15 @@ namespace CST_126 } template<typename T> - inline void Node<T>::Data(const T& Data) + inline void Node<T>::Data(const T& data) + { + _data = data; + } + + template<typename T> + inline void Node<T>::Data(T& data) { - _data = Data; + _data = data; } } diff --git a/CST 126/Homework3/linked_list_node.hpp b/CST 126/Homework3/linked_list_node.hpp new file mode 100644 index 0000000..42731a7 --- /dev/null +++ b/CST 126/Homework3/linked_list_node.hpp @@ -0,0 +1,26 @@ +#ifndef LINKED_LIST_NODE +#define LINKED_LIST_NODE +#include "Node.hpp" + +namespace CST126 +{ + template<typename T> + class singly_linked_node : Node<T> + { + protected: + singly_linked_node* _next{ nullptr }; + }; + + template<typename T> + class doubly_linked_node final : singly_linked_node<T> + { + protected: + doubly_linked_node* _prev{ nullptr }; + }; +} + + + + + +#endif
\ No newline at end of file diff --git a/CST 126/Homework3/main.cpp b/CST 126/Homework3/main.cpp index 07c4dbc..fb631b8 100644 --- a/CST 126/Homework3/main.cpp +++ b/CST 126/Homework3/main.cpp @@ -7,5 +7,6 @@ int main(const int argc, char* argv[]) { + return 0; }
\ No newline at end of file |