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

#include <smacc_state_machine_impl.hpp>

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

Public Member Functions

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

Detailed Description

Definition at line 399 of file smacc_state_machine_impl.hpp.

Member Function Documentation

◆ bindaux()

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

Definition at line 402 of file smacc_state_machine_impl.hpp.

405 {
406 return signal.connect(
407 [=](auto a1, auto a2, auto a3)
408 {
409 if (callbackCounter == nullptr)
410 {
411 return (object->*callback)(a1, a2, a3);
412 }
413 else if (callbackCounter->acquire())
414 {
415 (object->*callback)(a1, a2, a3);
416 callbackCounter->release();
417 }
418 });
419 }

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