Public Member Functions | Private Member Functions | Private Attributes | List of all members
uavcan::MethodBinder< ObjectPtr, MemFunPtr > Class Template Reference

#include <method_binder.hpp>

Public Member Functions

 MethodBinder ()
 
 MethodBinder (ObjectPtr o, MemFunPtr f)
 
 operator bool () const
 
void operator() ()
 
template<typename Par1 >
void operator() (Par1 &p1)
 
template<typename Par1 , typename Par2 >
void operator() (Par1 &p1, Par2 &p2)
 

Private Member Functions

void validateBeforeCall () const
 

Private Attributes

MemFunPtr fun_
 
ObjectPtr obj_
 

Detailed Description

template<typename ObjectPtr, typename MemFunPtr>
class uavcan::MethodBinder< ObjectPtr, MemFunPtr >

Use this to call member functions as callbacks in C++03 mode.

In C++11 or newer you don't need it because you can use std::function<>/std::bind<> instead.

Definition at line 20 of file method_binder.hpp.

Constructor & Destructor Documentation

◆ MethodBinder() [1/2]

template<typename ObjectPtr , typename MemFunPtr >
uavcan::MethodBinder< ObjectPtr, MemFunPtr >::MethodBinder ( )
inline

Definition at line 34 of file method_binder.hpp.

◆ MethodBinder() [2/2]

template<typename ObjectPtr , typename MemFunPtr >
uavcan::MethodBinder< ObjectPtr, MemFunPtr >::MethodBinder ( ObjectPtr  o,
MemFunPtr  f 
)
inline

Definition at line 39 of file method_binder.hpp.

Member Function Documentation

◆ operator bool()

template<typename ObjectPtr , typename MemFunPtr >
uavcan::MethodBinder< ObjectPtr, MemFunPtr >::operator bool ( ) const
inline

Returns true if the binder is initialized (doesn't contain null pointers).

Definition at line 47 of file method_binder.hpp.

◆ operator()() [1/3]

template<typename ObjectPtr , typename MemFunPtr >
void uavcan::MethodBinder< ObjectPtr, MemFunPtr >::operator() ( )
inline

Will raise a fatal error if either method pointer or object pointer are null.

Definition at line 55 of file method_binder.hpp.

◆ operator()() [2/3]

template<typename ObjectPtr , typename MemFunPtr >
template<typename Par1 >
void uavcan::MethodBinder< ObjectPtr, MemFunPtr >::operator() ( Par1 &  p1)
inline

Will raise a fatal error if either method pointer or object pointer are null.

Definition at line 65 of file method_binder.hpp.

◆ operator()() [3/3]

template<typename ObjectPtr , typename MemFunPtr >
template<typename Par1 , typename Par2 >
void uavcan::MethodBinder< ObjectPtr, MemFunPtr >::operator() ( Par1 &  p1,
Par2 &  p2 
)
inline

Will raise a fatal error if either method pointer or object pointer are null.

Definition at line 75 of file method_binder.hpp.

◆ validateBeforeCall()

template<typename ObjectPtr , typename MemFunPtr >
void uavcan::MethodBinder< ObjectPtr, MemFunPtr >::validateBeforeCall ( ) const
inlineprivate

Definition at line 25 of file method_binder.hpp.

Member Data Documentation

◆ fun_

template<typename ObjectPtr , typename MemFunPtr >
MemFunPtr uavcan::MethodBinder< ObjectPtr, MemFunPtr >::fun_
private

Definition at line 23 of file method_binder.hpp.

◆ obj_

template<typename ObjectPtr , typename MemFunPtr >
ObjectPtr uavcan::MethodBinder< ObjectPtr, MemFunPtr >::obj_
private

Definition at line 22 of file method_binder.hpp.


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


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:04