мне необходимо многопоточно обработать элементы std::map. c++ 17 для это есть for_each parallel, но я работаю на C++ 14. я написал такую функцию но он работает только с Forward итераторами.
template <typename It, typename Fn>
void parallel_for_each(It begin, It end, Fn&& function)
{
const auto diff = std::distance(begin, end);
constexpr auto num_threads = 8;
std::vector<std::future<void>> fts;
for (int i = 0; i < num_threads; ++i)
{
auto l = [&function](auto b, const auto thread_id, const auto n
, const auto d)
{
std::for_each(b + (thread_id * d / n)
, b + ((thread_id + 1) * d / n), function);
};
fts.push_back(std::async(std::launch::async, l, begin, i, num_threads
, diff));
}
for (auto& f : fts)
{
f.get();
}
}
Прошу предложить оптимальное решение.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
На странице нужно поместить два дива рядом в один контейнерКаждый див имеет фиксированную ширину, но правый див может скрываться и нужно,...
Как задать кнопке такой же размер как и ячейке таблицы, но так, чтобы она изменяла свой размер при разных разрешениях монитора как и эта самая...