distortos  v0.4.0
object-oriented C++ RTOS for microcontrollers
distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper Class Reference
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 ThreadControlBlock::UnblockFunctor *const unblockFunctor, ThreadControlBlock::UnblockReason &unblockReason)
 UnblockReasonUnblockFunctorWrapper's constructor. More...
 
void operator() (ThreadControlBlock &threadControlBlock, const ThreadControlBlock::UnblockReason unblockReason) const override
 UnblockReasonUnblockFunctorWrapper's function call operator. More...
 

Private Attributes

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

Detailed Description

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

Constructor & Destructor Documentation

◆ UnblockReasonUnblockFunctorWrapper()

constexpr distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::UnblockReasonUnblockFunctorWrapper ( const ThreadControlBlock::UnblockFunctor *const  unblockFunctor,
ThreadControlBlock::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 ThreadControlBlock::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 ThreadControlBlock::UnblockFunctor* distortos::internal::anonymous_namespace{Scheduler.cpp}::UnblockReasonUnblockFunctorWrapper::unblockFunctor_
private

pointer to wrapped unblock functor

◆ unblockReason_

ThreadControlBlock::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: