Smart List
Structure
The list is developed on the basis of a template class, which is based on a doubly linked list
std::shared_ptr & std::weak_ptr
Using std::weak_ptr as a pointer to the previous element of a node, together with std::shared_ptr helped to avoid cyclic references
Different types of constructors are implemented
Functions for working with a list
- Function for adding an item to any place in the list
- Function for deleting an item anywhere in the list
- Function for creating a set from a list
- Function for sorting the list based on bubble sort
- Operator [] overload
- Function for formatted list output
And functions for convenience:
Operators overloading
Overload has been implemented for *, +, / operators
They are responsible for operations between a List and a Variable and a List and a List