You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
208 lines
5.6 KiB
C++
208 lines
5.6 KiB
C++
// Copyright (C) 2011 Davis E. King (davis@dlib.net)
|
|
// License: Boost Software License See LICENSE.txt for the full license.
|
|
#undef DLIB_MAKE_MFp_ABSTRACT_
|
|
#ifdef DLIB_MAKE_MFp_ABSTRACT_
|
|
|
|
#include "member_function_pointer_kernel_abstract.h"
|
|
|
|
namespace dlib
|
|
{
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename T
|
|
>
|
|
member_function_pointer<> make_mfp (
|
|
T& object,
|
|
void (T::*cb)()
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP() will call (object.*cb)()
|
|
!*/
|
|
|
|
template <
|
|
typename T
|
|
>
|
|
member_function_pointer<> make_mfp (
|
|
const T& object,
|
|
void (T::*cb)()const
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP() will call (object.*cb)()
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename T,
|
|
typename A1
|
|
>
|
|
member_function_pointer<A1> make_mfp (
|
|
T& object,
|
|
void (T::*cb)(A1 a1)
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1) will call (object.*cb)(a1)
|
|
!*/
|
|
|
|
template <
|
|
typename T,
|
|
typename A1
|
|
>
|
|
member_function_pointer<A1> make_mfp (
|
|
const T& object,
|
|
void (T::*cb)(A1 a1)const
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1) will call (object.*cb)(a1)
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2
|
|
>
|
|
member_function_pointer<A1,A2> make_mfp (
|
|
T& object,
|
|
void (T::*cb)(A1 a1, A2 a2)
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2) will call (object.*cb)(a1,a2)
|
|
!*/
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2
|
|
>
|
|
member_function_pointer<A1,A2> make_mfp (
|
|
const T& object,
|
|
void (T::*cb)(A1 a1, A2 a2)const
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2) will call (object.*cb)(a1,a2)
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2,
|
|
typename A3
|
|
>
|
|
member_function_pointer<A1,A2,A3> make_mfp (
|
|
T& object,
|
|
void (T::*cb)(A1 a1, A2 a2, A3 a3)
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2,a3) will call (object.*cb)(a1,a2,a3)
|
|
!*/
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2,
|
|
typename A3
|
|
>
|
|
member_function_pointer<A1,A2,A3> make_mfp (
|
|
const T& object,
|
|
void (T::*cb)(A1 a1, A2 a2, A3 a3)const
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2,a3) will call (object.*cb)(a1,a2,a3)
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2,
|
|
typename A3,
|
|
typename A4
|
|
>
|
|
member_function_pointer<A1,A2,A3,A4> make_mfp (
|
|
T& object,
|
|
void (T::*cb)(A1 a1, A2 a2, A3 a3, A4 a4)
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2,a3,a4) will call (object.*cb)(a1,a2,a3,a4)
|
|
!*/
|
|
|
|
template <
|
|
typename T,
|
|
typename A1,
|
|
typename A2,
|
|
typename A3,
|
|
typename A4
|
|
>
|
|
member_function_pointer<A1,A2,A3,A4> make_mfp (
|
|
const T& object,
|
|
void (T::*cb)(A1 a1, A2 a2, A3 a3, A4 a4)const
|
|
);
|
|
/*!
|
|
requires
|
|
- cb == a valid member function pointer for class T
|
|
ensures
|
|
- returns a member function pointer object MFP such that:
|
|
- MFP.is_set() == true
|
|
- calls to MFP(a1,a2,a3,a4) will call (object.*cb)(a1,a2,a3,a4)
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
}
|
|
|
|
#endif // DLIB_MAKE_MFp_ABSTRACT_
|
|
|
|
|