Peter Dimov
36e1236a0f
Remove _Addr assignment from the constructor of std_category. Fixes #98 .
2022-12-10 22:17:51 +02:00
Peter Dimov
14f779e234
Update Win32 translation table. Closes #97 .
2022-12-10 18:38:19 +02:00
Peter Dimov
7ae6b317f3
Only disable C4351 on msvc-12.0 and earlier (refs #96 )
2022-10-26 15:52:18 +03:00
Peter Dimov
1e4c050d6c
Add result<>::emplace (refs #85 )
2022-10-18 00:46:59 +03:00
Peter Dimov
20ce51858b
Add in_place_value, in_place_error to result<>. Refs #93 .
2022-09-27 18:18:16 +03:00
Peter Dimov
52d7429473
Add value_type, error_type typedefs to result. Refs #93 .
2022-09-26 21:20:40 +03:00
Peter Dimov
53c00841fc
Add support for BOOST_SYSTEM_DISABLE_THREADS (refs #92 )
2022-09-08 18:32:26 +03:00
Peter Dimov
3faf415026
Resolve ambiguities when comparing error_condition with std enums (refs #91 )
2022-08-24 22:56:15 +03:00
Peter Dimov
efb7634666
Move code/condition comparisons back outside class error_code; fixes #91
2022-08-24 21:10:05 +03:00
Peter Dimov
8c740705e6
Add missing include
2022-08-21 19:42:10 +03:00
Vinnie Falco
ac1ed1ecc1
error_code default ctor is constexpr in c++11
2022-08-21 08:17:54 -07:00
Peter Dimov
cc7c2f7ee4
Return v_.index() == 1 from has_error() to avoid -Wmaybe-uninitialized in error()
2022-08-02 22:44:34 +03:00
Peter Dimov
f2e1db8021
Constrain explicit value and error constructors to not accept zero arguments. Fixes #86 .
2022-07-26 21:49:13 +03:00
Peter Dimov
4200b00973
Add converting constructor to result (refs #82 )
2022-06-18 18:12:06 +03:00
Peter Dimov
648a35838b
Remove unnecessary overloads
2022-05-05 05:12:08 +03:00
Peter Dimov
256fe92dbb
Add error_code(error_code const& ec, source_location const* loc) and a corresponding assign
2022-05-05 05:02:37 +03:00
Peter Dimov
a97e5a0546
Move BOOST_NOINLINE to operator std::error_category
2022-04-22 22:41:26 +03:00
Peter Dimov
9279001b8c
Check BOOST_NO_CXX11_HDR_MUTEX when enabling <system_error> integration
2022-04-22 16:49:03 +03:00
Peter Dimov
616e652bd7
Suppress strict-aliasing warning for gcc 4.8 to 6
2022-04-21 21:06:14 +03:00
Peter Dimov
98439855bd
Use static_cast instead of reinterpret_cast
2022-04-21 20:52:02 +03:00
Peter Dimov
986efb1420
Rework conversion to std::error_category to not allocate ( closes #78 )
2022-04-21 20:32:25 +03:00
Peter Dimov
28a13571b9
Restore the original system::error_code from std::error_code (refs #79 )
2022-03-18 18:24:01 +02:00
Peter Dimov
0a9266ea7e
Add a comment explaining the one-time allocation in error_category_impl.hpp. Fixes #78 .
2022-03-18 08:11:16 +02:00
Peter Dimov
6d7a57a970
Add throw_exception_from_error overload for std::exception_ptr
2022-02-18 02:55:34 +02:00
Peter Dimov
00c71cf388
Add throw_exception_from_error overloads for boost::system::errc, std::errc
2022-02-17 21:55:47 +02:00
Peter Dimov
4f09f4adde
Use throw_with_location in throw_exception_from_error
2022-02-13 22:50:20 +02:00
Peter Dimov
abd62362ef
Update documentation
2022-02-09 20:52:23 +02:00
Peter Dimov
8d8e6a90de
Add an errc::make_error_code overload taking a source location
2022-02-09 20:41:34 +02:00
Peter Dimov
46a5ecd490
Do not include boost/system/result.hpp on GCC 4.7
2022-02-07 21:38:14 +02:00
Peter Dimov
de610efd53
Move conditions to detail/config.hpp
2022-02-07 03:16:23 +02:00
Peter Dimov
4b143cdacc
Use BOOST_LIBSTDCXX_VERSION instead of BOOST_GCC; update syscat condition
2022-02-07 03:02:57 +02:00
Peter Dimov
b92be6417a
Add a source_location parameter to throw_exception_from_error
2022-02-05 05:24:29 +02:00
Peter Dimov
c359af3141
Update system_error constructors
2022-02-04 21:34:14 +02:00
Peter Dimov
9554d8bbd3
Suppress incorrect warnings from GCC 7/8
2022-02-03 19:02:19 +02:00
Peter Dimov
a5d68e52e6
Add throw_exception_from_error overload for std::error_code
2022-02-03 18:35:42 +02:00
Peter Dimov
9c6a09f41d
Mark throw_exception_from_error as noinline
2022-02-03 09:37:59 +02:00
Peter Dimov
b9c26b9fa0
Add detail::system_error_category_message, use it in error_code::message
2022-02-03 05:47:43 +02:00
Peter Dimov
2e2430c4fa
Add error_code::category_name helper, use it in to_string
2022-02-03 04:36:58 +02:00
Peter Dimov
4b1caad727
Avoid sign conversion warnings in error_code::value
2022-01-19 17:30:56 +02:00
Peter Dimov
5b96abbaa8
Undeprecate linux_error.hpp ( closes #77 )
2021-12-27 02:53:04 +02:00
Marcel Raad
86b031cab9
Fix error_code's operator<< for arbitrary basic_ostream specializations
...
This fixes a regression from commit
a9b64a888a .
Calling `operator<<` with `std::string` only works for `std::ostream`.
Use `c_str()` to restore the previous behavior of using `const char*`,
which works for any `basic_ostream` specialization.
2021-12-21 13:17:26 +01:00
Peter Dimov
01ce081470
Disable errc_t -> arithmetic conversions when initializing result ( closes #74 )
2021-12-11 01:22:08 +02:00
Peter Dimov
f78b036665
Update #if condition
2021-10-29 21:13:10 +03:00
Ed Catmur
9b0d735040
Add __attribute__((__format__)) to snprintf
...
This attribute will check format string bugs and is required for clean compile if -Wformat-nonliteral is enabled.
2021-10-29 11:59:03 +01:00
Peter Dimov
4ec1e54099
Enable error_code construction from enums specializing std::is_error_code_enum. Fixes #70 .
2021-10-11 02:02:22 +03:00
Peter Dimov
5217e58a7d
Enable implicit construction for aggregates using {{ ... }}
2021-10-02 22:07:05 +03:00
Peter Dimov
ce37e23491
Protect against dangling references in op* and value()
2021-10-02 19:16:04 +03:00
Peter Dimov
bb775c071a
Update system_error::what to use error_code::what
2021-10-02 15:00:40 +03:00
Peter Dimov
eefcc5dcf6
Add error_code::what
2021-10-02 14:41:27 +03:00
Peter Dimov
0ccf08509b
Add a constructor taking ErrorCodeEnum and a source location
2021-10-01 23:04:04 +03:00