forked from boostorg/bind
Eliminate mem_fn_cc.hpp
This commit is contained in:
@@ -89,63 +89,81 @@ public:
|
|||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
#define BOOST_MEM_FN_NAME(X) X
|
template<class R, class T, class... A>
|
||||||
#define BOOST_MEM_FN_CC
|
auto mem_fn( R (T::*pmf) (A...) ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
#define BOOST_MEM_FN_NOEXCEPT
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#include <boost/bind/mem_fn_cc.hpp>
|
template<class R, class T, class... A>
|
||||||
|
auto mem_fn( R (T::*pmf) (A...) const ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
||||||
# undef BOOST_MEM_FN_NOEXCEPT
|
|
||||||
# define BOOST_MEM_FN_NOEXCEPT noexcept
|
|
||||||
# include <boost/bind/mem_fn_cc.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef BOOST_MEM_FN_NAME
|
template<class R, class T, class... A>
|
||||||
#undef BOOST_MEM_FN_CC
|
auto mem_fn( R (T::*pmf) (A...) noexcept ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
#undef BOOST_MEM_FN_NOEXCEPT
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class R, class T, class... A>
|
||||||
|
auto mem_fn( R (T::*pmf) (A...) const noexcept ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // #if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
||||||
|
|
||||||
#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64)
|
#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64)
|
||||||
|
|
||||||
#define BOOST_MEM_FN_NAME(X) X##_cdecl
|
template<class R, class T, class... A>
|
||||||
#define BOOST_MEM_FN_CC __cdecl
|
auto mem_fn( R (__cdecl T::*pmf) (A...) ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
#define BOOST_MEM_FN_NOEXCEPT
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#include <boost/bind/mem_fn_cc.hpp>
|
template<class R, class T, class... A>
|
||||||
|
auto mem_fn( R (__cdecl T::*pmf) (A...) const ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#undef BOOST_MEM_FN_NAME
|
#endif // #if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64)
|
||||||
#undef BOOST_MEM_FN_CC
|
|
||||||
#undef BOOST_MEM_FN_NOEXCEPT
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64)
|
#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64)
|
||||||
|
|
||||||
#define BOOST_MEM_FN_NAME(X) X##_stdcall
|
template<class R, class T, class... A>
|
||||||
#define BOOST_MEM_FN_CC __stdcall
|
auto mem_fn( R (__stdcall T::*pmf) (A...) ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
#define BOOST_MEM_FN_NOEXCEPT
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#include <boost/bind/mem_fn_cc.hpp>
|
template<class R, class T, class... A>
|
||||||
|
auto mem_fn( R (__stdcall T::*pmf) (A...) const ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#undef BOOST_MEM_FN_NAME
|
#endif // #if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64)
|
||||||
#undef BOOST_MEM_FN_CC
|
|
||||||
#undef BOOST_MEM_FN_NOEXCEPT
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64)
|
#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64)
|
||||||
|
|
||||||
#define BOOST_MEM_FN_NAME(X) X##_fastcall
|
template<class R, class T, class... A>
|
||||||
#define BOOST_MEM_FN_CC __fastcall
|
auto mem_fn( R (__fastcall T::*pmf) (A...) ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
#define BOOST_MEM_FN_NOEXCEPT
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#include <boost/bind/mem_fn_cc.hpp>
|
template<class R, class T, class... A>
|
||||||
|
auto mem_fn( R (__fastcall T::*pmf) (A...) const ) -> _mfi::mf<decltype(pmf), R, T, A...>
|
||||||
|
{
|
||||||
|
return pmf;
|
||||||
|
}
|
||||||
|
|
||||||
#undef BOOST_MEM_FN_NAME
|
#endif // #if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64)
|
||||||
#undef BOOST_MEM_FN_CC
|
|
||||||
#undef BOOST_MEM_FN_NOEXCEPT
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// data member support
|
// data member support
|
||||||
|
|
||||||
|
@@ -1,27 +0,0 @@
|
|||||||
//
|
|
||||||
// bind/mem_fn_cc.hpp - support for different calling conventions
|
|
||||||
//
|
|
||||||
// Do not include this header directly.
|
|
||||||
//
|
|
||||||
// Copyright 2001, 2024 Peter Dimov
|
|
||||||
//
|
|
||||||
// Distributed under the Boost Software License, Version 1.0. (See
|
|
||||||
// accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
//
|
|
||||||
// See http://www.boost.org/libs/bind/mem_fn.html for documentation.
|
|
||||||
//
|
|
||||||
|
|
||||||
template<class R, class T, class... A>
|
|
||||||
_mfi::mf< R (BOOST_MEM_FN_CC T::*) (A...) BOOST_MEM_FN_NOEXCEPT, R, T, A... >
|
|
||||||
mem_fn( R (BOOST_MEM_FN_CC T::*pmf) (A...) BOOST_MEM_FN_NOEXCEPT )
|
|
||||||
{
|
|
||||||
return pmf;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class R, class T, class... A>
|
|
||||||
_mfi::mf< R (BOOST_MEM_FN_CC T::*) (A...) const BOOST_MEM_FN_NOEXCEPT, R, T, A... >
|
|
||||||
mem_fn( R (BOOST_MEM_FN_CC T::*pmf) (A...) const BOOST_MEM_FN_NOEXCEPT )
|
|
||||||
{
|
|
||||||
return pmf;
|
|
||||||
}
|
|
Reference in New Issue
Block a user