diff --git a/CMakeLists.txt b/CMakeLists.txt index ca1e4ae..d3d97c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.0) project(task1) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) diff --git a/task1/mergesort.h b/task1/mergesort.h index c798079..b81af53 100644 --- a/task1/mergesort.h +++ b/task1/mergesort.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace algo { @@ -332,10 +333,10 @@ namespace algo { std::advance(mid, std::distance(data.begin(), data.end()) / 2); - - - std::vector left(std::make_move_iterator(data.begin()), std::make_move_iterator(mid)); - std::vector right(std::make_move_iterator(mid), std::make_move_iterator(data.end())); + std::span left(data.begin(), mid); + std::span right(mid, data.end()); + //std::vector left(std::make_move_iterator(data.begin()), std::make_move_iterator(mid)); + //std::vector right(std::make_move_iterator(mid), std::make_move_iterator(data.end())); if (depth < num_threads) { std::thread left_thread([&]() { split(left, outdata, cmp, depth + 1, num_threads, mut); });