]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/callable_traits/test/qualified_class_of.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / callable_traits / test / qualified_class_of.cpp
CommitLineData
b32b8144
FG
1#include <tuple>\r
2#include <utility>\r
3#include <type_traits>\r
4#include <boost/callable_traits/qualified_class_of.hpp>\r
5#include "test.hpp"\r
6\r
7struct foo;\r
8\r
9int main() {\r
10\r
11 {\r
12 using f = void(foo::*)();\r
13 using test = TRAIT(qualified_class_of, f);\r
14 using expect = foo &;\r
15 CT_ASSERT(std::is_same<test, expect>::value);\r
16 }\r
17\r
18 {\r
19 using f = void(foo::*)() const;\r
20 using test = TRAIT(qualified_class_of, f);\r
21 using expect = foo const &;\r
22 CT_ASSERT(std::is_same<test, expect>::value);\r
23 }\r
24\r
25 {\r
26 using f = void(foo::*)() volatile;\r
27 using test = TRAIT(qualified_class_of, f);\r
28 using expect = foo volatile &;\r
29 CT_ASSERT(std::is_same<test, expect>::value);\r
30 }\r
31\r
32 {\r
33 using f = void(BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC foo::*)(int, ...) const volatile;\r
34 using test = TRAIT(qualified_class_of, f);\r
35 using expect = foo const volatile &;\r
36 CT_ASSERT(std::is_same<test, expect>::value);\r
37 }\r
38\r
39 {\r
40 using f = int foo::*;\r
41 using test = TRAIT(qualified_class_of, f);\r
42 using expect = foo const &;\r
43 CT_ASSERT(std::is_same<test, expect>::value);\r
44 }\r
45\r
46 {\r
47 using f = const int foo::*;\r
48 using test = TRAIT(qualified_class_of, f);\r
49 using expect = foo const &;\r
50 CT_ASSERT(std::is_same<test, expect>::value);\r
51 }\r
52}\r