]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/pfr/test/run/motivating_example.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / pfr / test / run / motivating_example.cpp
1 // Copyright (c) 2016-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 // requires: C++14
7 #include <iostream>
8 #include "boost/pfr.hpp"
9
10 struct my_struct { // no ostream operator defined!
11 int i;
12 char c;
13 double d;
14 };
15
16 int main() {
17 my_struct s{100, 'H', 3.141593};
18 std::cout << "my_struct has "
19 << boost::pfr::tuple_size<my_struct>::value // Outputs: 3
20 << " fields: "
21 << boost::pfr::io(s); // Outputs: {100, 'H', 3.141593}
22 }