]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/callable_traits/test/apply_member_pointer_pmf.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / callable_traits / test / apply_member_pointer_pmf.cpp
1 /*<-
2 Copyright (c) 2016 arett Adair
3
4 Distributed 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 #include <boost/callable_traits/apply_member_pointer.hpp>
10 #include "test.hpp"
11
12 struct a;
13 struct b;
14
15 template<typename Input, typename Output>
16 void test_case() {
17 assert_same< TRAIT(apply_member_pointer, Input, b), Output>();
18 }
19
20 int main() {
21
22 test_case<int(a::*)(), int(b::*)() >();
23 test_case<int(a::*)() TX_SAFE, int(b::*)() TX_SAFE >();
24 test_case<int(a::*)() LREF, int(b::*)() LREF >();
25 test_case<int(a::*)() LREF TX_SAFE, int(b::*)() LREF TX_SAFE >();
26 test_case<int(a::*)() RREF, int(b::*)() RREF >();
27 test_case<int(a::*)() RREF TX_SAFE, int(b::*)() RREF TX_SAFE >();
28 test_case<int(a::*)() const, int(b::*)() const >();
29 test_case<int(a::*)() const TX_SAFE, int(b::*)() const TX_SAFE >();
30 test_case<int(a::*)() const LREF, int(b::*)() const LREF >();
31 test_case<int(a::*)() const LREF TX_SAFE, int(b::*)() const LREF TX_SAFE >();
32 test_case<int(a::*)() const RREF, int(b::*)() const RREF >();
33 test_case<int(a::*)() const RREF TX_SAFE, int(b::*)() const RREF TX_SAFE >();
34 test_case<int(a::*)() volatile, int(b::*)() volatile >();
35 test_case<int(a::*)() volatile TX_SAFE, int(b::*)() volatile TX_SAFE >();
36 test_case<int(a::*)() volatile LREF, int(b::*)() volatile LREF >();
37 test_case<int(a::*)() volatile LREF TX_SAFE, int(b::*)() volatile LREF TX_SAFE >();
38 test_case<int(a::*)() volatile RREF, int(b::*)() volatile RREF >();
39 test_case<int(a::*)() volatile RREF TX_SAFE, int(b::*)() volatile RREF TX_SAFE >();
40 test_case<int(a::*)(int), int(b::*)(int) >();
41 test_case<int(a::*)(int) TX_SAFE, int(b::*)(int) TX_SAFE >();
42 test_case<int(a::*)(int) LREF, int(b::*)(int) LREF >();
43 test_case<int(a::*)(int) LREF TX_SAFE, int(b::*)(int) LREF TX_SAFE >();
44 test_case<int(a::*)(int) RREF, int(b::*)(int) RREF >();
45 test_case<int(a::*)(int) RREF TX_SAFE, int(b::*)(int) RREF TX_SAFE >();
46 test_case<int(a::*)(int) const, int(b::*)(int) const >();
47 test_case<int(a::*)(int) const TX_SAFE, int(b::*)(int) const TX_SAFE >();
48 test_case<int(a::*)(int) const LREF, int(b::*)(int) const LREF >();
49 test_case<int(a::*)(int) const LREF TX_SAFE, int(b::*)(int) const LREF TX_SAFE >();
50 test_case<int(a::*)(int) const RREF, int(b::*)(int) const RREF >();
51 test_case<int(a::*)(int) const RREF TX_SAFE, int(b::*)(int) const RREF TX_SAFE >();
52 test_case<int(a::*)(int) volatile, int(b::*)(int) volatile >();
53 test_case<int(a::*)(int) volatile TX_SAFE, int(b::*)(int) volatile TX_SAFE >();
54 test_case<int(a::*)(int) volatile LREF, int(b::*)(int) volatile LREF >();
55 test_case<int(a::*)(int) volatile LREF TX_SAFE, int(b::*)(int) volatile LREF TX_SAFE >();
56 test_case<int(a::*)(int) volatile RREF, int(b::*)(int) volatile RREF >();
57 test_case<int(a::*)(int) volatile RREF TX_SAFE, int(b::*)(int) volatile RREF TX_SAFE >();
58
59 test_case<int(VA_CC a::*)(...), int(VA_CC b::*)(...) >();
60 test_case<int(VA_CC a::*)(...) TX_SAFE, int(VA_CC b::*)(...) TX_SAFE >();
61 test_case<int(VA_CC a::*)(...) LREF, int(VA_CC b::*)(...) LREF >();
62 test_case<int(VA_CC a::*)(...) LREF TX_SAFE, int(VA_CC b::*)(...) LREF TX_SAFE >();
63 test_case<int(VA_CC a::*)(...) RREF, int(VA_CC b::*)(...) RREF >();
64 test_case<int(VA_CC a::*)(...) RREF TX_SAFE, int(VA_CC b::*)(...) RREF TX_SAFE >();
65 test_case<int(VA_CC a::*)(...) const, int(VA_CC b::*)(...) const >();
66 test_case<int(VA_CC a::*)(...) const TX_SAFE, int(VA_CC b::*)(...) const TX_SAFE >();
67 test_case<int(VA_CC a::*)(...) const LREF, int(VA_CC b::*)(...) const LREF >();
68 test_case<int(VA_CC a::*)(...) const LREF TX_SAFE, int(VA_CC b::*)(...) const LREF TX_SAFE >();
69 test_case<int(VA_CC a::*)(...) const RREF, int(VA_CC b::*)(...) const RREF >();
70 test_case<int(VA_CC a::*)(...) const RREF TX_SAFE, int(VA_CC b::*)(...) const RREF TX_SAFE >();
71 test_case<int(VA_CC a::*)(...) volatile, int(VA_CC b::*)(...) volatile >();
72 test_case<int(VA_CC a::*)(...) volatile TX_SAFE, int(VA_CC b::*)(...) volatile TX_SAFE >();
73 test_case<int(VA_CC a::*)(...) volatile LREF, int(VA_CC b::*)(...) volatile LREF >();
74 test_case<int(VA_CC a::*)(...) volatile LREF TX_SAFE, int(VA_CC b::*)(...) volatile LREF TX_SAFE >();
75 test_case<int(VA_CC a::*)(...) volatile RREF, int(VA_CC b::*)(...) volatile RREF >();
76 test_case<int(VA_CC a::*)(...) volatile RREF TX_SAFE, int(VA_CC b::*)(...) volatile RREF TX_SAFE >();
77 test_case<int(VA_CC a::*)(int, ...), int(VA_CC b::*)(int, ...) >();
78 test_case<int(VA_CC a::*)(int, ...) TX_SAFE, int(VA_CC b::*)(int, ...) TX_SAFE >();
79 test_case<int(VA_CC a::*)(int, ...) LREF, int(VA_CC b::*)(int, ...) LREF >();
80 test_case<int(VA_CC a::*)(int, ...) LREF TX_SAFE, int(VA_CC b::*)(int, ...) LREF TX_SAFE >();
81 test_case<int(VA_CC a::*)(int, ...) RREF, int(VA_CC b::*)(int, ...) RREF >();
82 test_case<int(VA_CC a::*)(int, ...) RREF TX_SAFE, int(VA_CC b::*)(int, ...) RREF TX_SAFE >();
83 test_case<int(VA_CC a::*)(int, ...) const, int(VA_CC b::*)(int, ...) const >();
84 test_case<int(VA_CC a::*)(int, ...) const TX_SAFE, int(VA_CC b::*)(int, ...) const TX_SAFE >();
85 test_case<int(VA_CC a::*)(int, ...) const LREF, int(VA_CC b::*)(int, ...) const LREF >();
86 test_case<int(VA_CC a::*)(int, ...) const LREF TX_SAFE, int(VA_CC b::*)(int, ...) const LREF TX_SAFE >();
87 test_case<int(VA_CC a::*)(int, ...) const RREF, int(VA_CC b::*)(int, ...) const RREF >();
88 test_case<int(VA_CC a::*)(int, ...) const RREF TX_SAFE, int(VA_CC b::*)(int, ...) const RREF TX_SAFE >();
89 test_case<int(VA_CC a::*)(int, ...) volatile, int(VA_CC b::*)(int, ...) volatile >();
90 test_case<int(VA_CC a::*)(int, ...) volatile TX_SAFE, int(VA_CC b::*)(int, ...) volatile TX_SAFE >();
91 test_case<int(VA_CC a::*)(int, ...) volatile LREF, int(VA_CC b::*)(int, ...) volatile LREF >();
92 test_case<int(VA_CC a::*)(int, ...) volatile LREF TX_SAFE, int(VA_CC b::*)(int, ...) volatile LREF TX_SAFE >();
93 test_case<int(VA_CC a::*)(int, ...) volatile RREF, int(VA_CC b::*)(int, ...) volatile RREF >();
94 test_case<int(VA_CC a::*)(int, ...) volatile RREF TX_SAFE, int(VA_CC b::*)(int, ...) volatile RREF TX_SAFE >();
95 }