ThreadSchedule 3.0.0
Modern C++ thread management library
Loading...
Searching...
No Matches
threadschedule::detail::lightweight_pool_facade< Backend > Class Template Reference

#include <facade.hpp>

Inheritance diagram for threadschedule::detail::lightweight_pool_facade< Backend >:
[legend]

Public Member Functions

 lightweight_pool_facade (worker_count count, worker_registration registration)
 
 lightweight_pool_facade (lightweight_pool_facade const &)=delete
 
auto operator= (lightweight_pool_facade const &) -> lightweight_pool_facade &=delete
 
 lightweight_pool_facade (lightweight_pool_facade &&other) noexcept
 
auto operator= (lightweight_pool_facade &&other) noexcept -> lightweight_pool_facade &
 
template<typename F , typename... Args>
auto post (F &&function, Args &&... args) -> result< void >
 
template<typename F , typename... Args>
void post_or_throw (F &&function, Args &&... args)
 
auto configure_workers (thread_config const &config) -> result< void >
 
auto distribute_workers () -> result< void >
 
auto shutdown (shutdown_policy policy=shutdown_policy::drain) -> result< void >
 
auto shutdown_for (std::chrono::milliseconds timeout) -> result< bool >
 
auto size () const noexcept -> std::size_t
 
auto is_current_worker () const noexcept -> bool
 

Protected Member Functions

 ~lightweight_pool_facade ()
 

Detailed Description

template<typename Backend>
class threadschedule::detail::lightweight_pool_facade< Backend >

Definition at line 284 of file pool/facade.hpp.

Constructor & Destructor Documentation

◆ lightweight_pool_facade() [1/3]

template<typename Backend >
threadschedule::detail::lightweight_pool_facade< Backend >::lightweight_pool_facade ( worker_count  count,
worker_registration  registration 
)
inlineexplicit

Definition at line 287 of file pool/facade.hpp.

◆ lightweight_pool_facade() [2/3]

template<typename Backend >
threadschedule::detail::lightweight_pool_facade< Backend >::lightweight_pool_facade ( lightweight_pool_facade< Backend > const &  )
delete

◆ lightweight_pool_facade() [3/3]

template<typename Backend >
threadschedule::detail::lightweight_pool_facade< Backend >::lightweight_pool_facade ( lightweight_pool_facade< Backend > &&  other)
inlinenoexcept

Definition at line 294 of file pool/facade.hpp.

◆ ~lightweight_pool_facade()

template<typename Backend >
threadschedule::detail::lightweight_pool_facade< Backend >::~lightweight_pool_facade ( )
inlineprotected

Definition at line 375 of file pool/facade.hpp.

References threadschedule::detail::dispose_pool_backend().

Member Function Documentation

◆ configure_workers()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::configure_workers ( thread_config const &  config) -> result<void>
inline

◆ distribute_workers()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::distribute_workers ( ) -> result<void>
inline

Definition at line 334 of file pool/facade.hpp.

References threadschedule::detail::try_result().

◆ is_current_worker()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::is_current_worker ( ) const -> bool
inlinenoexcept

Definition at line 369 of file pool/facade.hpp.

◆ operator=() [1/2]

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::operator= ( lightweight_pool_facade< Backend > &&  other) -> lightweight_pool_facade&
inlinenoexcept

◆ operator=() [2/2]

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::operator= ( lightweight_pool_facade< Backend > const &  ) -> lightweight_pool_facade &=delete
delete

◆ post()

template<typename Backend >
template<typename F , typename... Args>
auto threadschedule::detail::lightweight_pool_facade< Backend >::post ( F &&  function,
Args &&...  args 
) -> result<void>
inline

◆ post_or_throw()

template<typename Backend >
template<typename F , typename... Args>
void threadschedule::detail::lightweight_pool_facade< Backend >::post_or_throw ( F &&  function,
Args &&...  args 
)
inline

◆ shutdown()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::shutdown ( shutdown_policy  policy = shutdown_policy::drain) -> result<void>
inline

◆ shutdown_for()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::shutdown_for ( std::chrono::milliseconds  timeout) -> result<bool>
inline

Definition at line 355 of file pool/facade.hpp.

References threadschedule::detail::try_result().

◆ size()

template<typename Backend >
auto threadschedule::detail::lightweight_pool_facade< Backend >::size ( ) const -> std::size_t
inlinenoexcept

Definition at line 363 of file pool/facade.hpp.


The documentation for this class was generated from the following file: