AdaptiveWorkPool class final
#include <gtopt/work_pool.hpp>
Default work pool using int64_t priority key with std::less semantics (smaller key → higher priority).
This is a concrete derived class so that class AdaptiveWorkPool; forward declarations in other headers remain valid.
Base classes
- class BasicWorkPool<>
- Adaptive thread pool with generic priority key.
Public types
- using key_compare = KeyCompare
- using key_type = Key
- using Requirements = BasicTaskRequirements<Key>
Constructors, destructors, conversion operators
- BasicWorkPool(BasicWorkPool&&) deleted
- BasicWorkPool(const BasicWorkPool&) deleted
- BasicWorkPool(WorkPoolConfig config = WorkPoolConfig {}) explicit
Public functions
- auto format_statistics() const -> std::string noexcept
- auto get_statistics() const -> Statistics noexcept
- auto log_statistics() const -> void
- auto shutdown() -> void
- auto start() -> void
- auto submit(Func&& func, const Requirements& req = Requirements(), Args && ... args) -> std::expected< std::future< std::invoke_result_t< Func, Args... > >, std::error_code > -> auto
- auto submit_lambda(Func&& func, Requirements req = {}) -> auto