ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
pmf.hpp
Go to the documentation of this file.
1/*
2
3@Copyright Barrett Adair 2015-2017
4Distributed under the Boost Software License, Version 1.0.
5(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
6
7*/
8
9#ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
10#define BOOST_CLBL_TRTS_DETAIL_PMF_HPP
11
17
18namespace boost { namespace callable_traits { namespace detail {
19
20template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoExcept,
21 typename CallingConvention, typename T, typename Return,
22 typename... Args>
24
25template<qualifier_flags Applied, bool IsTransactionSafe, bool IsNoexcept,
26 typename CallingConvention, typename T, typename Return,
27 typename... Args>
29
30template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
31 typename... Ts>
33 typename set_member_function_qualifiers_t<Flags, IsTransactionSafe,
34 IsNoexcept, Ts...>::type;
35
36template<qualifier_flags Flags, bool IsTransactionSafe, bool IsNoexcept,
37 typename... Ts>
40 IsTransactionSafe, IsNoexcept, Ts...>::type;
41
42template<typename T>
44
45#define BOOST_CLBL_TRTS_CC_TAG dummy
46#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
47#define BOOST_CLBL_TRTS_CC
49#undef BOOST_CLBL_TRTS_CC
50#undef BOOST_CLBL_TRTS_CC_TAG
51#undef BOOST_CLBL_TRTS_VARARGS_CC
52
53#define BOOST_CLBL_TRTS_CC_TAG dummy
54#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
55#define BOOST_CLBL_TRTS_CC
57#undef BOOST_CLBL_TRTS_CC
58#undef BOOST_CLBL_TRTS_CC_TAG
59#undef BOOST_CLBL_TRTS_VARARGS_CC
60
61#ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
62#define BOOST_CLBL_TRTS_CC_TAG cdecl_tag
63#define BOOST_CLBL_TRTS_VARARGS_CC __cdecl
64#define BOOST_CLBL_TRTS_CC __cdecl
66#undef BOOST_CLBL_TRTS_CC
67#undef BOOST_CLBL_TRTS_CC_TAG
68#undef BOOST_CLBL_TRTS_VARARGS_CC
69#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
70
71// Defining this macro enables undocumented features, likely broken.
72// Too much work to maintain, but knock yourself out
73#ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
74#define BOOST_CLBL_TRTS_CC_TAG stdcall_tag
75#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
76#define BOOST_CLBL_TRTS_CC __stdcall
78#undef BOOST_CLBL_TRTS_CC
79#undef BOOST_CLBL_TRTS_CC_TAG
80#undef BOOST_CLBL_TRTS_VARARGS_CC
81#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
82
83// Defining this macro enables undocumented features, likely broken.
84// Too much work to officially maintain, but knock yourself out
85#ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
86#define BOOST_CLBL_TRTS_CC_TAG fastcall_tag
87#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
88#define BOOST_CLBL_TRTS_CC __fastcall
90#undef BOOST_CLBL_TRTS_CC
91#undef BOOST_CLBL_TRTS_CC_TAG
92#undef BOOST_CLBL_TRTS_VARARGS_CC
93#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
94
95}}} // namespace boost::callable_traits::detail
96
97#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
typename set_varargs_member_function_qualifiers_t< Flags, IsTransactionSafe, IsNoexcept, Ts... >::type set_varargs_member_function_qualifiers
Definition pmf.hpp:40
typename set_member_function_qualifiers_t< Flags, IsTransactionSafe, IsNoexcept, Ts... >::type set_member_function_qualifiers
Definition pmf.hpp:34