CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ThreadExecutor Class Reference

An executor that runs anything in a new thread, like std::async does. More...

#include <CeresEngine/Foundation/Threading/ExecutionContext.hpp>

Static Private Member Functions

static constexpr ExecutorMapping::new_thread_t query (ExecutorMapping) noexcept
 Query the current value of the mapping property.
 
static constexpr ExecutorBlocking::never_t query (ExecutorBlocking) noexcept
 Query the current value of the blocking property.
 
static constexpr ExecutorRelationship::continuation_t query (ExecutorRelationship) noexcept
 Query the current value of the relationship property.
 
static constexpr ExecutorOutstandingWork::untracked_t query (ExecutorOutstandingWork) noexcept
 Query the current value of the outstanding_work property.
 
static constexpr ExecutorBulkGuarantee::parallel_t query (ExecutorBulkGuarantee) noexcept
 Query the current value of the bulk_guarantee property.
 
static constexpr std::size_t query (ExecutorOccupancy) noexcept
 Query the occupancy (recommended number of work items) for the system context.
 
template<typename Function >
static void execute (Function &&f)
 Execution function.
 

Friends

struct asio_query_fn::impl
 
struct asio::execution::detail::mapping_t< 0 >
 
struct asio::execution::detail::blocking_t< 0 >
 
struct asio::execution::detail::relationship_t< 0 >
 
struct asio::execution::detail::outstanding_work_t< 0 >
 
struct asio::execution::detail::bulk_guarantee_t< 0 >
 
struct asio::execution::detail::occupancy_t< 0 >
 
struct asio_execution_execute_fn::impl
 
constexpr bool operator== (const ThreadExecutor &lhs, const ThreadExecutor &rhs) noexcept
 Compare two executors for equality.
 
constexpr bool operator!= (const ThreadExecutor &lhs, const ThreadExecutor &rhs) noexcept
 Compare two executors for inequality.
 

Detailed Description

An executor that runs anything in a new thread, like std::async does.

Member Function Documentation

◆ execute()

template<typename Function >
static void CeresEngine::ThreadExecutor::execute ( Function &&  f)
inlinestaticprivate

Execution function.

◆ query() [1/6]

static constexpr ExecutorBlocking::never_t CeresEngine::ThreadExecutor::query ( ExecutorBlocking  )
inlinestaticconstexprprivatenoexcept

Query the current value of the blocking property.

◆ query() [2/6]

static constexpr ExecutorBulkGuarantee::parallel_t CeresEngine::ThreadExecutor::query ( ExecutorBulkGuarantee  )
inlinestaticconstexprprivatenoexcept

Query the current value of the bulk_guarantee property.

◆ query() [3/6]

static constexpr ExecutorMapping::new_thread_t CeresEngine::ThreadExecutor::query ( ExecutorMapping  )
inlinestaticconstexprprivatenoexcept

Query the current value of the mapping property.

◆ query() [4/6]

static constexpr std::size_t CeresEngine::ThreadExecutor::query ( ExecutorOccupancy  )
inlinestaticconstexprprivatenoexcept

Query the occupancy (recommended number of work items) for the system context.

◆ query() [5/6]

static constexpr ExecutorOutstandingWork::untracked_t CeresEngine::ThreadExecutor::query ( ExecutorOutstandingWork  )
inlinestaticconstexprprivatenoexcept

Query the current value of the outstanding_work property.

◆ query() [6/6]

static constexpr ExecutorRelationship::continuation_t CeresEngine::ThreadExecutor::query ( ExecutorRelationship  )
inlinestaticconstexprprivatenoexcept

Query the current value of the relationship property.

Friends And Related Symbol Documentation

◆ asio::execution::detail::blocking_t< 0 >

friend struct asio::execution::detail::blocking_t< 0 >
friend

◆ asio::execution::detail::bulk_guarantee_t< 0 >

friend struct asio::execution::detail::bulk_guarantee_t< 0 >
friend

◆ asio::execution::detail::mapping_t< 0 >

friend struct asio::execution::detail::mapping_t< 0 >
friend

◆ asio::execution::detail::occupancy_t< 0 >

friend struct asio::execution::detail::occupancy_t< 0 >
friend

◆ asio::execution::detail::outstanding_work_t< 0 >

friend struct asio::execution::detail::outstanding_work_t< 0 >
friend

◆ asio::execution::detail::relationship_t< 0 >

friend struct asio::execution::detail::relationship_t< 0 >
friend

◆ asio_execution_execute_fn::impl

friend struct asio_execution_execute_fn::impl
friend

◆ asio_query_fn::impl

friend struct asio_query_fn::impl
friend

◆ operator!=

Compare two executors for inequality.

◆ operator==

constexpr bool operator== ( const ThreadExecutor lhs,
const ThreadExecutor rhs 
)
friend

Compare two executors for equality.


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