]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/pfr/test/run/motivating_example2.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / pfr / test / run / motivating_example2.cpp
diff --git a/ceph/src/boost/libs/pfr/test/run/motivating_example2.cpp b/ceph/src/boost/libs/pfr/test/run/motivating_example2.cpp
new file mode 100644 (file)
index 0000000..8be63aa
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright (c) 2016-2020 Antony Polukhin
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <iostream>
+#include "boost/pfr.hpp"
+
+struct my_struct { // no ostream operator defined!
+    std::string s;
+    int i;
+};
+
+int main() {
+    my_struct s{{"Das ist fantastisch!"}, 100};
+
+    std::cout << "my_struct has "
+        << boost::pfr::tuple_size<my_struct>::value // Outputs: 2
+        << " fields: "
+        << boost::pfr::io(s); // Outputs: {"Das ist fantastisch!", 100};
+}