Commit Graph

258 Commits

Author SHA1 Message Date
Peter Dimov 5fd2535d9f Excise generic_category() references from error_condition 2021-09-19 16:04:16 +03:00
Peter Dimov e3f198e52c Add error_condition::to_string 2021-09-19 15:37:49 +03:00
Peter Dimov 47137ad116 Change predefined error_category identifiers to be contiguous for better codegen 2021-09-19 15:04:51 +03:00
Peter Dimov c02cd2b004 Add private error_code::equals, use it in error_category::equivalent 2021-09-19 05:24:08 +03:00
Peter Dimov c8c5ad1ce5 Rework error_condition::op== to not require the generic_category() instance 2021-09-19 04:49:35 +03:00
Peter Dimov 2b6a708070 Update test/result_copy_construct 2021-09-17 19:25:20 +03:00
Peter Dimov 50f84f16dc Add result<void, E> specialization 2021-09-17 19:22:15 +03:00
Peter Dimov 3f67d3def5 Rename throw_exception_from_error_code to throw_exception_from_error 2021-09-17 18:33:04 +03:00
Peter Dimov c8492a705d Use unsafe_get instead of *get_if 2021-09-17 15:47:35 +03:00
Peter Dimov a6c988181e Include result.hpp in <boost/system.hpp> 2021-09-16 19:25:26 +03:00
Peter Dimov 10572b7a59 Trim includes in system_error.hpp 2021-09-16 19:21:27 +03:00
Peter Dimov fe3d0e6c14 Update all references to <system_error> to refer to Boost.System 2021-09-16 19:16:30 +03:00
Peter Dimov ae77563039 Define result in boost::system instead of in boost::result 2021-09-16 18:56:35 +03:00
Peter Dimov fd852c675e Add <boost/system/result.hpp> 2021-09-16 18:47:05 +03:00
Peter Dimov 984f8f1a92 Reorder constructor overloads 2021-09-16 18:04:27 +03:00
Peter Dimov b507b2294e Unbreak the loc == 0 case, even though the specification disallows it 2021-09-16 03:12:20 +03:00
Peter Dimov 3b70265ced Rearrange error_code::failed to improve codegen 2021-09-15 16:42:47 +03:00
Peter Dimov a65b91b3fb Merge branch 'develop' into feature/source-location 2021-09-15 16:06:55 +03:00
Peter Dimov 5e642b1d43 Remove error_condition::failed_ in order to prioritise construction efficiency over failed() efficiency (latter is rare for conditions) 2021-09-15 14:54:26 +03:00
Peter Dimov b35b47d8c2 Reformat what() message slightly 2021-09-15 13:42:54 +03:00
Peter Dimov f21035f8af Move location to the end of what() 2021-09-15 07:58:24 +03:00
Peter Dimov cd98f4edd7 Update system_error to incorporate the source location in what() 2021-09-15 07:42:57 +03:00
Peter Dimov a9b64a888a Add support for source_location to error_code 2021-09-15 07:03:18 +03:00
Peter Dimov bb4b500cfc Update Windows error mapping to match msvc-14.2 <system_error> 2021-09-08 00:48:55 +03:00
Marc Aldorasi 19e9f08666 Map ERROR_BROKEN_PIPE to errc_t::broken_pipe 2021-09-07 12:02:02 -04:00
Peter Dimov 39a19f3c90 Add constexpr to op== against error code enums 2021-06-16 03:06:11 +03:00
Peter Dimov 96cd1c0163 Add error_code comparisons against standard error code enums (to resolve the ambiguity when an enum is both standard and ours) 2021-06-15 02:17:26 +03:00
Peter Dimov f26dfd3dd7 Add error_code comparisons against standard error condition enums (to resolve the ambiguity when an enum is both standard and ours) 2021-06-15 01:52:32 +03:00
Peter Dimov 8efb96350f Clang 6 needs more help with mixed comparisons 2021-06-14 14:44:07 +03:00
Peter Dimov 88a7be42b5 Update Clang version check 2021-06-14 14:38:26 +03:00
Peter Dimov a3225e78e2 Update GCC version check 2021-06-14 14:35:50 +03:00
Peter Dimov 9fdfa6c645 Move code == condition comparisons into error_code, unwrap std::error_code when needed 2021-06-14 04:06:24 +03:00
Peter Dimov 42a257e17c Add operator<< for error_condition 2021-06-14 03:59:44 +03:00
Peter Dimov 70b5449e99 Resolve ambiguity for std::error_code == boost::system::error_code 2021-06-14 03:53:00 +03:00
Peter Dimov 8043ce0278 Resolve ambiguity for std::error_code == boost::system::error_condition 2021-06-14 03:42:50 +03:00
Peter Dimov 2e707ca921 Disable -Wstrict-aliasing on g++ 6, really 2021-06-14 02:50:31 +03:00
Peter Dimov a6c4b6329c Add a deleted T const& conversion for clang-6 and earlier 2021-06-14 02:35:48 +03:00
Peter Dimov 5b1909eba4 Disable -Wstrict-aliasing on g++ 6 and below 2021-06-14 02:15:37 +03:00
Peter Dimov 9dc13fd82a Change value() when holding std::error_code 2021-06-14 02:09:31 +03:00
Peter Dimov e9cdb10409 Use std::hash<std::error_code> in hash_value 2021-06-14 01:51:33 +03:00
Peter Dimov e625bd0eea Do not access d2_ when <system_error> isn't available; use std::error_code comparisons in op== and op< 2021-06-13 22:48:31 +03:00
Peter Dimov 66656f7044 Use copy-init instead of direct-init for older clangs 2021-06-13 20:45:50 +03:00
Peter Dimov 0d8511f571 Use reinterpret_cast to pointer instead of to reference 2021-06-13 20:40:27 +03:00
Peter Dimov 344eb1e1f8 Rework error_code for better std interop 2021-06-13 19:47:37 +03:00
Peter Dimov 20b8e90dff Add detail/snprintf.hpp 2021-06-13 18:58:50 +03:00
Peter Dimov f8ab3df822 Initialize failed_ in the other two constructors 2021-06-13 05:05:31 +03:00
Peter Dimov 610d5f3f78 Revert "Mark error_condition::failed, error_condition::message as deprecated; revert op bool"
This reverts commit 329e72fb92.
2021-06-13 04:56:18 +03:00
Peter Dimov d019c1cdae Remove detail/is_generic_value.hpp 2021-06-12 22:01:16 +03:00
Peter Dimov ff77d4c094 Do not call generic_category() in system_error_category 2021-06-12 21:59:22 +03:00
Peter Dimov a21a3050a5 Use nullptr for &generic_category() in error_condition 2021-06-12 21:51:51 +03:00