SDDPWorkPool class final
#include <gtopt/sddp_pool.hpp>
Work pool specialised for the SDDP solver with tuple priority key.
Uses SDDPTaskKey = std::tuple<int,int,int,int> as the secondary sort key with the default std::less<SDDPTaskKey> comparator (lexicographic). A concrete derived class so that class SDDPWorkPool; can be forward- declared in headers that only need the pointer type.
Base classes
- class BasicWorkPool<SDDPTaskKey>
- Adaptive thread pool with generic priority key.
Public types
- using key_compare = std::less<SDDPTaskKey>
- using key_type = SDDPTaskKey
- using Requirements = BasicTaskRequirements<SDDPTaskKey>
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
Typedef documentation
using gtopt:: SDDPWorkPool:: key_compare = std::less<SDDPTaskKey>
#include <gtopt/work_pool.hpp>
using gtopt:: SDDPWorkPool:: key_type = SDDPTaskKey
#include <gtopt/work_pool.hpp>
using gtopt:: SDDPWorkPool:: Requirements = BasicTaskRequirements<SDDPTaskKey>
#include <gtopt/work_pool.hpp>
Function documentation
std::string gtopt:: SDDPWorkPool:: format_statistics() const noexcept
#include <gtopt/work_pool.hpp>
Statistics gtopt:: SDDPWorkPool:: get_statistics() const noexcept
#include <gtopt/work_pool.hpp>
void gtopt:: SDDPWorkPool:: log_statistics() const
#include <gtopt/work_pool.hpp>
void gtopt:: SDDPWorkPool:: shutdown()
#include <gtopt/work_pool.hpp>
void gtopt:: SDDPWorkPool:: start()
#include <gtopt/work_pool.hpp>
auto gtopt:: SDDPWorkPool:: submit(Func&& func,
const Requirements& req = Requirements(),
Args && ... args) -> std::expected< std::future< std::invoke_result_t< Func, Args... > >, std::error_code >
#include <gtopt/work_pool.hpp>
auto gtopt:: SDDPWorkPool:: submit_lambda(Func&& func,
Requirements req = {})
#include <gtopt/work_pool.hpp>