ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
pmf_2.hpp
Go to the documentation of this file.
1/*
2Copyright (c) 2016 Barrett Adair
3
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
7HEADER GUARDS INTENTIONALLY OMITTED
8DO NOT INCLUDE THIS HEADER DIRECTLY
9
10*/
11
12template<typename Return, typename T, typename... Args>
13struct set_member_function_qualifiers_t<
14 flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
15 false, // IsTransactionSafe
16 false, // IsNoexcept
17 BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
18
19 using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
21};
22
23template<typename Return, typename T, typename... Args>
24struct set_member_function_qualifiers_t<
25 flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
26 false,
27 true,
28 BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
29
30 using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
33};
34
35template<typename Return, typename T, typename... Args>
36struct set_member_function_qualifiers_t<
37 flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
38 true,
39 false,
40 BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
41
42 using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
45};
46
47template<typename Return, typename T, typename... Args>
48struct set_member_function_qualifiers_t<
49 flag_map<int BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS>::value,
50 true,
51 true,
52 BOOST_CLBL_TRTS_CC_TAG, T, Return, Args...> {
53
54 using type = Return(BOOST_CLBL_TRTS_CC T::*)(Args...)
58};
59
60#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
61#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
63#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
64#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
65
66#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
67
68#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
69#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
71#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
72#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
73
74#endif
#define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
Definition config.hpp:37
#define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER
Definition config.hpp:106
#define BOOST_CLBL_TRTS_CC_TAG
Definition function.hpp:81
#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
Definition function.hpp:24
#define BOOST_CLBL_TRTS_CC
Definition function.hpp:83
Return(BOOST_CLBL_TRTS_CC T::*)(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER type
Definition pmf_2.hpp:32
Return(BOOST_CLBL_TRTS_CC T::*)(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER type
Definition pmf_2.hpp:57
Return(BOOST_CLBL_TRTS_CC T::*)(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER type
Definition pmf_2.hpp:44