]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/callable_traits/test/collapse_flags.cpp
3 Copyright Barrett Adair 2016-2017
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)
9 #include <boost/callable_traits/detail/qualifier_flags.hpp>
13 using namespace boost::callable_traits
;
14 using namespace boost::callable_traits::detail
;
18 // boost::callable_traits::detail::collapse_flags emulates the C++11
19 // reference collapsing rules. Here, we test that behavior.
21 using rref_plus_lref
= collapse_flags
<rref_
, lref_
>;
22 CT_ASSERT(rref_plus_lref::value
== lref_
);
24 using lref_plus_rref
= collapse_flags
<lref_
, rref_
>;
25 CT_ASSERT(lref_plus_rref::value
== lref_
);
27 using lref_plus_lref
= collapse_flags
<lref_
, lref_
>;
28 CT_ASSERT(lref_plus_lref::value
== lref_
);
30 using rref_plus_rref
= collapse_flags
<rref_
, rref_
>;
31 CT_ASSERT(rref_plus_rref::value
== rref_
);
33 using const_plus_rref
= collapse_flags
<const_
, rref_
>;
34 CT_ASSERT(const_plus_rref::value
== (const_
| rref_
));
36 using const_plus_lref
= collapse_flags
<const_
, lref_
>;
37 CT_ASSERT(const_plus_lref::value
== (const_
| lref_
));