| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | /*@Copyright Barrett Adair 2015-2017Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)*/#ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP#define BOOST_CLBL_TRTS_DETAIL_PMF_HPP#include <boost/callable_traits/detail/forward_declarations.hpp>#include <boost/callable_traits/detail/set_function_qualifiers.hpp>#include <boost/callable_traits/detail/qualifier_flags.hpp>#include <boost/callable_traits/detail/default_callable_traits.hpp>#include <boost/callable_traits/detail/utility.hpp>namespace boost { namespace callable_traits { namespace detail {template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoExcept,    typename CallingConvention, typename T, typename Return,    typename... Args>struct set_member_function_qualifiers_t;template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoexcept,    typename CallingConvention, typename T, typename Return,    typename... Args>struct set_varargs_member_function_qualifiers_t;template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,    typename... Ts>using set_member_function_qualifiers =    typename set_member_function_qualifiers_t<Flags, IsTransactionSafe,        IsNoexcept, Ts...>::type;template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,    typename... Ts>using set_varargs_member_function_qualifiers =    typename set_varargs_member_function_qualifiers_t<Flags,        IsTransactionSafe, IsNoexcept, Ts...>::type;template<typename T>struct pmf : default_callable_traits<T> {};#define BOOST_CLBL_TRTS_CC_TAG dummy#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC#define BOOST_CLBL_TRTS_CC#include <boost/callable_traits/detail/unguarded/pmf.hpp>#undef BOOST_CLBL_TRTS_CC#undef BOOST_CLBL_TRTS_CC_TAG#undef BOOST_CLBL_TRTS_VARARGS_CC#define BOOST_CLBL_TRTS_CC_TAG dummy#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC#define BOOST_CLBL_TRTS_CC#include <boost/callable_traits/detail/unguarded/pmf_varargs.hpp>#undef BOOST_CLBL_TRTS_CC#undef BOOST_CLBL_TRTS_CC_TAG#undef BOOST_CLBL_TRTS_VARARGS_CC#ifdef BOOST_CLBL_TRTS_ENABLE_CDECL#define BOOST_CLBL_TRTS_CC_TAG cdecl_tag#define BOOST_CLBL_TRTS_VARARGS_CC __cdecl#define BOOST_CLBL_TRTS_CC __cdecl#include <boost/callable_traits/detail/unguarded/pmf.hpp>#undef BOOST_CLBL_TRTS_CC#undef BOOST_CLBL_TRTS_CC_TAG#undef BOOST_CLBL_TRTS_VARARGS_CC#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_CDECL// Defining this macro enables undocumented features, likely broken.// Too much work to maintain, but knock yourself out#ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL#define BOOST_CLBL_TRTS_CC_TAG stdcall_tag#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC#define BOOST_CLBL_TRTS_CC __stdcall#include <boost/callable_traits/detail/unguarded/pmf.hpp>#undef BOOST_CLBL_TRTS_CC#undef BOOST_CLBL_TRTS_CC_TAG#undef BOOST_CLBL_TRTS_VARARGS_CC#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL// Defining this macro enables undocumented features, likely broken.// Too much work to officially maintain, but knock yourself out#ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL#define BOOST_CLBL_TRTS_CC_TAG fastcall_tag#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC#define BOOST_CLBL_TRTS_CC __fastcall#include <boost/callable_traits/detail/unguarded/pmf.hpp>#undef BOOST_CLBL_TRTS_CC#undef BOOST_CLBL_TRTS_CC_TAG#undef BOOST_CLBL_TRTS_VARARGS_CC#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL}}} // namespace boost::callable_traits::detail#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
 |