CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::TAnyExecutor< Properties > Class Template Reference

The AnyExecutor type is a polymorphic executor that supports the set of properties required by I/O objects. More...

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

Inheritance diagram for CeresEngine::TAnyExecutor< Properties >:

Public Member Functions

 TAnyExecutor () noexcept=default
 Default constructor.
 
 TAnyExecutor (const TAnyExecutor &e) noexcept=default
 Copy constructor.
 
TAnyExecutoroperator= (const TAnyExecutor &e) noexcept=default
 Assignment operator.
 
 TAnyExecutor (TAnyExecutor &&e) noexcept=default
 Move constructor.
 
TAnyExecutoroperator= (TAnyExecutor &&e) noexcept=default
 Move assignment operator.
 
template<typename Executor >
requires (!std::is_same_v<Executor, AnyExecutor> && !std::is_base_of_v<AnyExecutor, Executor>)
 TAnyExecutor (Executor executor)
 Construct a polymorphic wrapper for the specified executor.
 
 TAnyExecutor (nullptr_t) noexcept
 Construct in an empty state. Equivalent effects to default constructor.
 
TAnyExecutoroperator= (nullptr_t)
 Assignment operator that sets the polymorphic wrapper to the empty state.
 
 ~TAnyExecutor ()=default
 Destructor.
 
void swap (TAnyExecutor &other) noexcept
 Swap targets with another polymorphic wrapper.
 
template<typename F >
void operator() (F &&f) const
 

Private Types

using super = AnyExecutorBase< Properties... >
 

Detailed Description

template<typename... Properties>
class CeresEngine::TAnyExecutor< Properties >

The AnyExecutor type is a polymorphic executor that supports the set of properties required by I/O objects.

Member Typedef Documentation

◆ super

template<typename... Properties>
using CeresEngine::TAnyExecutor< Properties >::super = AnyExecutorBase<Properties...>
private

Constructor & Destructor Documentation

◆ TAnyExecutor() [1/5]

template<typename... Properties>
CeresEngine::TAnyExecutor< Properties >::TAnyExecutor ( )
defaultnoexcept

Default constructor.

◆ TAnyExecutor() [2/5]

template<typename... Properties>
CeresEngine::TAnyExecutor< Properties >::TAnyExecutor ( const TAnyExecutor< Properties > &  e)
defaultnoexcept

Copy constructor.

◆ TAnyExecutor() [3/5]

template<typename... Properties>
CeresEngine::TAnyExecutor< Properties >::TAnyExecutor ( TAnyExecutor< Properties > &&  e)
defaultnoexcept

Move constructor.

◆ TAnyExecutor() [4/5]

template<typename... Properties>
template<typename Executor >
requires (!std::is_same_v<Executor, AnyExecutor> && !std::is_base_of_v<AnyExecutor, Executor>)
CeresEngine::TAnyExecutor< Properties >::TAnyExecutor ( Executor  executor)
inline

Construct a polymorphic wrapper for the specified executor.

◆ TAnyExecutor() [5/5]

template<typename... Properties>
CeresEngine::TAnyExecutor< Properties >::TAnyExecutor ( nullptr_t  )
inlinenoexcept

Construct in an empty state. Equivalent effects to default constructor.

◆ ~TAnyExecutor()

template<typename... Properties>
CeresEngine::TAnyExecutor< Properties >::~TAnyExecutor ( )
default

Destructor.

Member Function Documentation

◆ operator()()

template<typename... Properties>
template<typename F >
void CeresEngine::TAnyExecutor< Properties >::operator() ( F &&  f) const
inline

◆ operator=() [1/3]

template<typename... Properties>
TAnyExecutor & CeresEngine::TAnyExecutor< Properties >::operator= ( const TAnyExecutor< Properties > &  e)
defaultnoexcept

Assignment operator.

◆ operator=() [2/3]

template<typename... Properties>
TAnyExecutor & CeresEngine::TAnyExecutor< Properties >::operator= ( nullptr_t  )
inline

Assignment operator that sets the polymorphic wrapper to the empty state.

◆ operator=() [3/3]

template<typename... Properties>
TAnyExecutor & CeresEngine::TAnyExecutor< Properties >::operator= ( TAnyExecutor< Properties > &&  e)
defaultnoexcept

Move assignment operator.

◆ swap()

template<typename... Properties>
void CeresEngine::TAnyExecutor< Properties >::swap ( TAnyExecutor< Properties > &  other)
inlinenoexcept

Swap targets with another polymorphic wrapper.


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