[#ThreadPool-Submit-05] = xref:ThreadPool.adoc[ThreadPool]::Submit :relfileprefix: ../ :mrdocs: `Submit` overloads == Synopses Declared in `<util/threadpool.h>` Enqueues a new task for asynchronous execution. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class F> [[nodiscard, requires_capability(0x7f2e2046a3c8)]] xref:util/Expected-0b.adoc[util::Expected<Future<F>, SubmitError>] xref:ThreadPool/Submit-09a.adoc[Submit](F&& fn) noexcept; ---- [.small]#xref:ThreadPool/Submit-09a.adoc[_» more..._]# Enqueues a range of tasks for asynchronous execution. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<std::ranges::sized_range R> requires (!std::is_lvalue_reference_v<R>) [[nodiscard, requires_capability(0x7f2e2046a4d8)]] xref:util/Expected-0b.adoc[util::Expected<std::vector<RangeFuture<R>>, SubmitError>] xref:ThreadPool/Submit-09b.adoc[Submit](R&& fns) noexcept; ---- [.small]#xref:ThreadPool/Submit-09b.adoc[_» more..._]# == Return Value * On success, a future containing fn's result. On failure, an error indicating why the task was rejected: ‐ SubmitError::Inactive: Pool has no workers (never started or already stopped). ‐ SubmitError::Interrupted: Pool task acceptance has been interrupted. * On success, a vector of futures containing each element of fns's result in order. On failure, an error indicating why the range was rejected: ‐ SubmitError::Inactive: Pool has no workers (never started or already stopped). ‐ SubmitError::Interrupted: Pool task acceptance has been interrupted. [NOTE] ==== The return value https://en.cppreference.com/cpp/language/attributes/nodiscard[should not be discarded^]. ==== == Parameters [cols="1,4"] |=== | Name| Description | *fn* | Callable to execute asynchronously. | *fns* | Callables to execute asynchronously. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#