#ifndef LIST_H #define LIST_H #include class List { public: List(); List(List const &); List(List &&) noexcept; List(std::initializer_list); List & operator=(List const &)&; List & operator=(List &&)&; void push_front(int); void push_back(int); int & at(int idx); int size() const; bool empty() const; void swap(List & other) noexcept; void sort(); private: struct Node; Node * head {}; Node * tail {}; int sz {}; }; #endif //LIST_H