#pragma once #include #include template class PmergeMe { public: PmergeMe() = delete; PmergeMe(const Container &container); PmergeMe(const PmergeMe &other); ~PmergeMe(); PmergeMe &operator=(const PmergeMe &other); void sort(); private: std::vector _data_vector; std::deque _data_deque; std::vector _jacobstahl_numbers; int getJacobstahlNumber(int n); int getJacobstahlNumberRecursive(int n); };