Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | Public Types | Public Member Functions | Private Types | Private Attributes
mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V > Class Template Reference

Detailed Description

template<typename T, typename U1, typename U2, typename V>
class mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >

This template encapsulates a binary member function and a single object into a function expecting the two parameters of the member function.

Don't use directly. Use the wrapMember function instead to avoid explicit template instantiation.

Definition at line 234 of file metaprogramming.h.

#include <mrpt/utils/metaprogramming.h>

Public Types

typedef U1 first_argument_type
 
typedef U2 second_argument_type
 
typedef T result_type
 

Public Member Functions

 BinaryMemberFunctionWrapper (V &o, MemberFunction f)
 
operator() (U1 p1, U2 p2)
 

Private Types

typedef T(V::* MemberFunction) (U1, U2)
 

Private Attributes

V & obj
 
MemberFunction func
 

Member Typedef Documentation

◆ first_argument_type

template<typename T, typename U1, typename U2, typename V>
typedef U1 mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::first_argument_type

Definition at line 240 of file metaprogramming.h.

◆ MemberFunction

template<typename T, typename U1, typename U2, typename V>
typedef T(V::* mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::MemberFunction) (U1, U2)
private

Definition at line 236 of file metaprogramming.h.

◆ result_type

template<typename T, typename U1, typename U2, typename V>
typedef T mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::result_type

Definition at line 242 of file metaprogramming.h.

◆ second_argument_type

template<typename T, typename U1, typename U2, typename V>
typedef U2 mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::second_argument_type

Definition at line 241 of file metaprogramming.h.

Constructor & Destructor Documentation

◆ BinaryMemberFunctionWrapper()

template<typename T, typename U1, typename U2, typename V>
mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::BinaryMemberFunctionWrapper ( V &  o,
MemberFunction  f 
)
inline

Definition at line 243 of file metaprogramming.h.

Member Function Documentation

◆ operator()()

template<typename T, typename U1, typename U2, typename V>
T mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::operator() ( U1  p1,
U2  p2 
)
inline

Member Data Documentation

◆ func

template<typename T, typename U1, typename U2, typename V>
MemberFunction mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::func
private

◆ obj

template<typename T, typename U1, typename U2, typename V>
V& mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V >::obj
private

Definition at line 237 of file metaprogramming.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019