]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/system/test/result_value_construct2.cpp
1 // Copyright 2021 Peter Dimov.
2 // Distributed under the Boost Software License, Version 1.0.
3 // https://www.boost.org/LICENSE_1_0.txt
5 #include <boost/system/result.hpp>
6 #include <boost/core/lightweight_test.hpp>
10 using namespace boost::system
;
57 result
<std::vector
<int>> fv0()
62 result
<std::vector
<int>> fv1()
67 result
<std::vector
<int>> fv2()
77 BOOST_TEST( r
.has_value() );
79 BOOST_TEST_EQ( r
->a
, 0 );
85 BOOST_TEST( r
.has_value() );
87 BOOST_TEST_EQ( r
->a
, 1 );
93 BOOST_TEST( r
.has_value() );
95 BOOST_TEST_EQ( r
->a
, 0 );
96 BOOST_TEST_EQ( r
->b
, 0 );
102 BOOST_TEST( r
.has_value() );
104 BOOST_TEST_EQ( r
->a
, 1 );
105 BOOST_TEST_EQ( r
->b
, 2 );
109 result
<X
, E
> r
= fxe0();
111 BOOST_TEST( r
.has_value() );
113 BOOST_TEST_EQ( r
->a
, 0 );
117 result
<X
, E
> r
= fxe1();
119 BOOST_TEST( r
.has_value() );
121 BOOST_TEST_EQ( r
->a
, 1 );
125 result
<std::vector
<int>> r
= fv0();
127 BOOST_TEST( r
.has_value() );
129 BOOST_TEST_EQ( r
->size(), 0 );
133 result
<std::vector
<int>> r
= fv1();
135 BOOST_TEST( r
.has_value() );
137 BOOST_TEST_EQ( r
->size(), 1 );
138 BOOST_TEST_EQ( r
->at(0), 1 );
142 result
<std::vector
<int>> r
= fv2();
144 BOOST_TEST( r
.has_value() );
146 BOOST_TEST_EQ( r
->size(), 2 );
147 BOOST_TEST_EQ( r
->at(0), 1 );
148 BOOST_TEST_EQ( r
->at(1), 2 );
151 return boost::report_errors();