About
Contact
QtCreator
KDevelop
Solarized
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
10
int
main
()
11
{
12
{
13
std::
error_code
e1
;
14
std::
error_condition
en
=
e1
.
default_error_condition
();
15
16
BOOST_TEST
(
e1
==
en
);
17
BOOST_TEST_NOT
(
e1
!=
en
);
18
19
boost::system::
error_code
e2
(
e1
);
20
21
BOOST_TEST_EQ
(
e2
,
e1
);
22
BOOST_TEST_NOT
(
e2
!=
e1
);
23
24
BOOST_TEST
(
e2
==
en
);
25
BOOST_TEST_NOT
(
e2
!=
en
);
26
27
std::
error_code
e3
(
e2
);
28
29
BOOST_TEST
(
e3
==
en
);
30
BOOST_TEST_NOT
(
e3
!=
en
);
31
}
32
33
{
34
std::
error_code
e1
(
5
,
std::
system_category
() );
35
std::
error_condition
en
=
e1
.
default_error_condition
();
36
37
BOOST_TEST
(
e1
==
en
);
38
BOOST_TEST_NOT
(
e1
!=
en
);
39
40
boost::system::
error_code
e2
(
e1
);
41
42
BOOST_TEST_EQ
(
e2
,
e1
);
43
BOOST_TEST_NOT
(
e2
!=
e1
);
44
45
BOOST_TEST
(
e2
==
en
);
46
BOOST_TEST_NOT
(
e2
!=
en
);
47
48
std::
error_code
e3
(
e2
);
49
50
BOOST_TEST
(
e3
==
en
);
51
BOOST_TEST_NOT
(
e3
!=
en
);
52
}
53
54
{
55
std::
error_code
e1
(
0
,
std::
generic_category
() );
56
std::
error_condition
en
=
e1
.
default_error_condition
();
57
58
BOOST_TEST
(
e1
==
en
);
59
BOOST_TEST_NOT
(
e1
!=
en
);
60
61
boost::system::
error_code
e2
(
e1
);
62
63
BOOST_TEST_EQ
(
e2
,
e1
);
64
BOOST_TEST_NOT
(
e2
!=
e1
);
65
66
BOOST_TEST
(
e2
==
en
);
67
BOOST_TEST_NOT
(
e2
!=
en
);
68
69
std::
error_code
e3
(
e2
);
70
71
BOOST_TEST
(
e3
==
en
);
72
BOOST_TEST_NOT
(
e3
!=
en
);
73
}
74
75
{
76
std::
error_code
e1
(
5
,
std::
generic_category
() );
77
std::
error_condition
en
=
e1
.
default_error_condition
();
78
79
BOOST_TEST
(
e1
==
en
);
80
BOOST_TEST_NOT
(
e1
!=
en
);
81
82
boost::system::
error_code
e2
(
e1
);
83
84
BOOST_TEST_EQ
(
e2
,
e1
);
85
BOOST_TEST_NOT
(
e2
!=
e1
);
86
87
BOOST_TEST
(
e2
==
en
);
88
BOOST_TEST_NOT
(
e2
!=
en
);
89
90
std::
error_code
e3
(
e2
);
91
92
BOOST_TEST
(
e3
==
en
);
93
BOOST_TEST_NOT
(
e3
!=
en
);
94
}
95
96
return
boost::
report_errors
();
97
}
98