• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2016-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 // 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 
main()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 }
23