2 Copyright Barrett Adair 2016-2017
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE.md or copy at http ://boost.org/LICENSE_1_0.txt)
7 #include <boost/callable_traits/detail/config.hpp>
8 #ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
9 int main(){ return 0; }
12 //[ remove_member_reference
13 #include <type_traits>
14 #include <boost/callable_traits/remove_member_reference.hpp>
16 namespace ct
= boost::callable_traits
;
23 using pmf
= int(foo::*)() &;
24 using expect
= int(foo::*)();
25 using test
= ct::remove_member_reference_t
<pmf
>;
26 static_assert(std::is_same
<test
, expect
>::value
, "");
28 using pmf
= int(foo::*)() const &&;
29 using expect
= int(foo::*)() const;
30 using test
= ct::remove_member_reference_t
<pmf
>;
31 static_assert(std::is_same
<test
, expect
>::value
, "");
33 using pmf
= int(foo::*)() const volatile &;
34 using expect
= int(foo::*)() const volatile;
35 using test
= ct::remove_member_reference_t
<pmf
>;
36 static_assert(std::is_same
<test
, expect
>::value
, "");
40 using test
= ct::remove_member_reference_t
<f
>;
41 static_assert(std::is_same
<test
, expect
>::value
, "");
45 #endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS