SMACC2
Loading...
Searching...
No Matches
smacc2::utils::Bind< 1 > Struct Reference

#include <smacc_state_machine_impl.hpp>

Collaboration diagram for smacc2::utils::Bind< 1 >:
Collaboration graph

Public Member Functions

template<typename TSmaccSignal , typename TMemberFunctionPrototype , typename TSmaccObjectType >
smacc2::SmaccSignalConnection bindaux (TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object, std::shared_ptr< CallbackCounterSemaphore > callbackCounter)
 

Detailed Description

Definition at line 323 of file smacc_state_machine_impl.hpp.

Member Function Documentation

◆ bindaux()

template<typename TSmaccSignal , typename TMemberFunctionPrototype , typename TSmaccObjectType >
smacc2::SmaccSignalConnection smacc2::utils::Bind< 1 >::bindaux ( TSmaccSignal & signal,
TMemberFunctionPrototype callback,
TSmaccObjectType * object,
std::shared_ptr< CallbackCounterSemaphore > callbackCounter )
inline

Definition at line 326 of file smacc_state_machine_impl.hpp.

329 {
330 return signal.connect(
331
332 [=]()
333 {
334 if (callbackCounter == nullptr)
335 {
336 (object->*callback)();
337 }
338 else if (callbackCounter->acquire())
339 {
340 (object->*callback)();
341 callbackCounter->release();
342 }
343 });
344 }

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