Features:
Uncopyable class:
- LinkedList(const LinkedList& list) = delete;
- void operator = (const LinkedList& list) = delete;
- LinkedList(LinkedList&& list);
- void operator = (LinkedList&& list);
The function of adding an item to the top of the list:
- void push_front(const T& value);
- void push_front(T&& value);
Function of removing the first item from the list:
- void pop_front();
Reverse functions:
- void reverse();
- void recursion(Node*& current, Node*& previous);
- void recursion_reverse();
Additional functions:
- Node* get_head() { return head; }
- const Node* get_head() const { return head; }
- ~LinkedList();
Iterative functions:
- T& operator[](const std::size_t& position);
- const T& operator[](const std::size_t& position)const;
- const std::size_t& size()const;
- auto begin();
- auto end();
- const auto begin()const;
- const auto end()const;
To run the program, you need to go to this directory and execute the Cmake function
>cd /directory/....
>cmake CMakeLists.txt