dlib C++ Library - make_mfp.h

// Copyright (C) 2011 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_MAKE_MFp_H_
#define DLIB_MAKE_MFp_H_
#include "member_function_pointer_kernel_1.h"
#include "make_mfp_abstract.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
 template <
 typename T
 >
 member_function_pointer<> make_mfp (
 T& object,
 void (T::*cb)()
 )
 {
 member_function_pointer<> temp;
 temp.set(object, cb);
 return temp;
 }
 template <
 typename T
 >
 member_function_pointer<> make_mfp (
 const T& object,
 void (T::*cb)()const
 )
 {
 member_function_pointer<> temp;
 temp.set(object, cb);
 return temp;
 }
// ----------------------------------------------------------------------------------------
 template <
 typename T,
 typename A1
 >
 member_function_pointer<A1> make_mfp (
 T& object,
 void (T::*cb)(A1)
 )
 {
 member_function_pointer<A1> temp;
 temp.set(object, cb);
 return temp;
 }
 template <
 typename T,
 typename A1
 >
 member_function_pointer<A1> make_mfp (
 const T& object,
 void (T::*cb)(A1)const
 )
 {
 member_function_pointer<A1> temp;
 temp.set(object, cb);
 return temp;
 }
// ----------------------------------------------------------------------------------------
 template <
 typename T,
 typename A1,
 typename A2
 >
 member_function_pointer<A1,A2> make_mfp (
 T& object,
 void (T::*cb)(A1,A2)
 )
 {
 member_function_pointer<A1,A2> temp;
 temp.set(object, cb);
 return temp;
 }
 template <
 typename T,
 typename A1,
 typename A2
 >
 member_function_pointer<A1,A2> make_mfp (
 const T& object,
 void (T::*cb)(A1,A2)const
 )
 {
 member_function_pointer<A1,A2> temp;
 temp.set(object, cb);
 return temp;
 }
// ----------------------------------------------------------------------------------------
 template <
 typename T,
 typename A1,
 typename A2,
 typename A3
 >
 member_function_pointer<A1,A2,A3> make_mfp (
 T& object,
 void (T::*cb)(A1,A2,A3)
 )
 {
 member_function_pointer<A1,A2,A3> temp;
 temp.set(object, cb);
 return temp;
 }
 template <
 typename T,
 typename A1,
 typename A2,
 typename A3
 >
 member_function_pointer<A1,A2,A3> make_mfp (
 const T& object,
 void (T::*cb)(A1,A2,A3)const
 )
 {
 member_function_pointer<A1,A2,A3> temp;
 temp.set(object, cb);
 return temp;
 }
// ----------------------------------------------------------------------------------------
 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,A2,A3,A4)
 )
 {
 member_function_pointer<A1,A2,A3,A4> temp;
 temp.set(object, cb);
 return temp;
 }
 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,A2,A3,A4)const
 )
 {
 member_function_pointer<A1,A2,A3,A4> temp;
 temp.set(object, cb);
 return temp;
 }
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_MAKE_MFp_H_

AltStyle によって変換されたページ (->オリジナル) /