]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/pfr/test/run/issue30.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / pfr / test / run / issue30.cpp
1 // Copyright (c) 2018-2020 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 // Test case for https://github.com/apolukhin/magic_get/issues/30
7
8 #include <memory>
9 #include <boost/pfr.hpp>
10 #include <boost/core/lightweight_test.hpp>
11
12 struct Message {
13 std::unique_ptr<int> data;
14 };
15
16 struct Message2 {
17 std::unique_ptr<int> data41 = std::make_unique<int>(41);
18 std::unique_ptr<int> data42 = std::make_unique<int>(42);
19 };
20
21 int main() {
22 Message message;
23 auto& ptr = boost::pfr::get<0>(message);
24 BOOST_TEST(ptr == nullptr);
25
26 Message2 message2;
27 auto& ptr2 = boost::pfr::get<1>(message2);
28 BOOST_TEST_EQ(*ptr2, 42);
29
30 return boost::report_errors();
31 }