]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/any/test/basic_any_test_large_object.cpp
1 // Copyright Ruslan Arutyunyan, 2019-2021.
2 // Copyright Antony Polukhin, 2021-2022.
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
8 #include <boost/any/basic_any.hpp>
10 #include <boost/core/lightweight_test.hpp>
14 static int move_ctors_count
= 0;
15 static int destructors_count
= 0;
23 #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
24 A(A
&&) BOOST_NOEXCEPT
{
34 #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
36 T
&& portable_move(T
& value
) {
37 return std::move(value
);
41 T
& portable_move(T
& value
) {
49 boost::anys::basic_any
<24, 8> any1(a
);
50 boost::anys::basic_any
<24, 8> any2(portable_move(any1
));
51 boost::anys::basic_any
<24, 8> any3(portable_move(any2
));
52 BOOST_TEST_EQ(move_ctors_count
, 0);
55 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
56 BOOST_TEST_EQ(destructors_count
, 2);
58 BOOST_TEST_EQ(destructors_count
, 4);
61 return boost::report_errors();