1// Copyright 2021 Peter Dimov.
2// Distributed under the Boost Software License, Version 1.0.
3// http://www.boost.org/LICENSE_1_0.txt
4
5#include <boost/system/error_code.hpp>
6#include <boost/core/lightweight_test.hpp>
7#include <cerrno>
8#include <system_error>
9
10int main()
11{
12 {
13 boost::system::error_code e1;
14 boost::system::error_code e2( 0, boost::system::system_category() );
15
16 BOOST_TEST_EQ( e1, e2 );
17
18 std::error_code e3( e1 );
19 std::error_code e4( e2 );
20
21 BOOST_TEST_EQ( e3, e4 );
22 }
23
24 {
25 boost::system::error_code e1;
26
27 std::error_code e2( e1 );
28 std::error_code e3( e1.value(), e1.category() );
29
30 BOOST_TEST_EQ( e2, e3 );
31 }
32
33 {
34 boost::system::error_condition e1;
35 boost::system::error_condition e2( 0, boost::system::generic_category() );
36
37 BOOST_TEST_EQ( e1, e2 );
38
39 std::error_condition e3( e1 );
40 std::error_condition e4( e2 );
41
42 BOOST_TEST( e3 == e4 );
43 }
44
45 {
46 boost::system::error_condition e1;
47
48 std::error_condition e2( e1 );
49 std::error_condition e3( e1.value(), e1.category() );
50
51 BOOST_TEST( e2 == e3 );
52 }
53
54 return boost::report_errors();
55}
56

source code of boost/libs/system/test/std_interop_test10.cpp