Coliru не удается скомпилировать, если <execution> включен.
Coliru не может скомпилировать программу, указанную ниже. Перейдите по ссылке для получения дополнительной информации.
Это команда, используемая для компиляции
g++ -std=c++20 -DNDEBUG -O3 -ftree-vectorize -Wall-Wno-unknown-pragmas -fpermissive -pedantic -pthread main.cpp
Мне не хватает какого-то флага компиляции?
Ошибка
usr/local/include/c++/12.1.0/pstl/parallel_backend_tbb.h:29:6: error:#error Требуется Intel(R) ThreadingBuilding Blocks 2018; старые версии не поддерживаются. 29 | # ошибка Требуется Intel(R) ThreadingBuilding Blocks 2018; старые версии не поддерживаются.
#include <iostream>
#include <algorithm>
#include <vector>
#include <execution>
int main()
{
std::vector<int> intData {1, 22, 33,42, 57};
std::vector<double> doubleData (intData.size ());
std::transform (std::execution::par_unseq, intData.begin (), intData.end (), doubleData.begin (), [] (auto value){return static_cast<double> (value) / 2;});
for (size_t ii = 0; ii < intData.size (); ++ii)
{
std::cout << intData[ii] << ", " << doubleData[ii] << "\n";
}
return 0;
}