![]() |
LeechCraft 0.6.70-19214-g121e5318a7
Modular cross-platform feature rich live environment.
|
#include <exception>#include <ranges>#include <type_traits>#include <QVector>#include <util/sll/void.h>#include "../threadsconfig.h"#include "task.h"Go to the source code of this file.
Namespaces | |
| namespace | LC |
| namespace | LC::Util |
| namespace | LC::Util::detail |
Functions | |
| void | LC::Util::detail::HandleSubsequentException () |
| void | LC::Util::detail::SaveFirst (std::exception_ptr &ex) |
| template<typename T, template< typename > typename... Exts, bool IsRet = !std::is_void_v<T>, typename RetType = std::conditional_t<IsRet, QVector<T>, void>> | |
| Task< RetType, Exts... > | LC::Util::detail::JoinAll (QVector< Task< T, Exts... > > tasks, std::exception_ptr ex) |
| template<typename T, template< typename > typename... Exts> | |
| auto | LC::Util::InParallel (QVector< Task< T, Exts... > > tasks) |
| Awaits all the tasks, collecting their results in order. | |
| template<typename T, template< typename > typename... Exts> | |
| auto | LC::Util::InParallel (std::initializer_list< Task< T, Exts... > > tasks) |
| Same as InParallel(QVector<Task<T, Exts...>>) for a braced list. | |
| template<std::ranges::range Inputs, typename F, typename... MkTaskArgs> | |
| auto | LC::Util::InParallel (Inputs inputs, F mkTask, MkTaskArgs &&... mkTaskArgs) |
| Starts a task per input and awaits them all. | |
| template<typename... Ts, template< typename > typename... Exts> | |
| Task< std::tuple< Ts... >, Exts... > | LC::Util::InParallel (Task< Ts, Exts... >... tasks) |
| Awaits the tasks of different result types. | |
| auto | LC::Util::NCopies (qsizetype count, auto taskFactory) |
| Starts count tasks via taskFactory and awaits them all. | |