1 // Copyright (c) 2020-2021 Antony Polukhin 2 // 3 // Distributed under the Boost Software License, Version 1.0. (See accompanying 4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 #include <boost/pfr/core.hpp> 7 8 #include <memory> 9 10 #include <boost/core/lightweight_test.hpp> 11 12 struct unique_ptrs { 13 std::unique_ptr<int> p1; 14 std::unique_ptr<int> p2; 15 }; 16 test_get_rvalue()17void test_get_rvalue() { 18 unique_ptrs x { 19 std::make_unique<int>(42), 20 std::make_unique<int>(43), 21 }; 22 23 auto p = boost::pfr::get<0>(std::move(x)); 24 BOOST_TEST_EQ(*p, 42); 25 } 26 main()27int main() { 28 test_get_rvalue(); 29 30 return boost::report_errors(); 31 } 32