distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper Class Reference

UnblockReasonUnblockFunctorWrapper is a wrapper for UnblockFunctor that saves reason of thread unblocking. More...

Inheritance diagram for distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper:
[legend]
Collaboration diagram for distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper:
[legend]

Public Member Functions

constexpr UnblockReasonUnblockFunctorWrapper (const UnblockFunctor *const unblockFunctor, UnblockReason &unblockReason)
 UnblockReasonUnblockFunctorWrapper's constructor. More...
 
void operator() (ThreadControlBlock &threadControlBlock, const UnblockReason unblockReason) const override
 UnblockReasonUnblockFunctorWrapper's function call operator. More...
 

Private Attributes

const UnblockFunctorunblockFunctor_
 pointer to wrapped unblock functor More...
 
UnblockReasonunblockReason_
 reference to variable in which the reason of thread unblocking will be stored More...
 

Detailed Description

UnblockReasonUnblockFunctorWrapper is a wrapper for UnblockFunctor that saves reason of thread unblocking.

Constructor & Destructor Documentation

◆ UnblockReasonUnblockFunctorWrapper()

constexpr distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::UnblockReasonUnblockFunctorWrapper ( const UnblockFunctor *const  unblockFunctor,
UnblockReason unblockReason 
)
inline

UnblockReasonUnblockFunctorWrapper's constructor.

Parameters
[in]unblockFunctoris a pointer to wrapped unblock functor
[out]unblockReasonis a reference to variable in which the reason of thread unblocking will be stored

Member Function Documentation

◆ operator()()

void distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::operator() ( ThreadControlBlock threadControlBlock,
const UnblockReason  unblockReason 
) const
inlineoverride

UnblockReasonUnblockFunctorWrapper's function call operator.

Saves reason of thread unblocking and executes wrapped functor (if any was provided).

Parameters
[in]threadControlBlockis a reference to ThreadControlBlock that is being unblocked
[in]unblockReasonis the reason of thread unblocking

Member Data Documentation

◆ unblockFunctor_

const UnblockFunctor* distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::unblockFunctor_
private

pointer to wrapped unblock functor

◆ unblockReason_

UnblockReason& distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::unblockReason_
private

reference to variable in which the reason of thread unblocking will be stored


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