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
Peter Dimov
7a72aee355
Merge branch 'develop' into feature/std-category-2
2021-09-24 23:54:51 +03:00
Peter Dimov
a8df99e927
Use source_location::to_string in system_error::build_message
2021-09-24 20:40:19 +03:00
Peter Dimov
85c7d92302
Avoid instantiating the system category in error_code::operator std::error_code
2021-09-24 15:24:45 +03:00
Peter Dimov
1659dfbeba
Avoid instantiating generic_category in error_condition::operator std::error_condition
2021-09-24 04:27:08 +03:00
Peter Dimov
d2b8b54356
Do not use std::system_category under MinGW and g++ 4.x
2021-09-21 16:35:40 +03:00
Peter Dimov
41f7ea49cb
Do not use std::system_category under VS2013
2021-09-21 16:02:12 +03:00
Peter Dimov
ad66ea43a3
Revert addition of get_generic_std_category, get_system_std_category (they need this); do not use std::system_category on Cygwin
2021-09-21 15:45:00 +03:00
Peter Dimov
9b11d864be
Add helper functions get_generic_std_category, get_system_std_category
2021-09-21 15:01:44 +03:00
Peter Dimov
cc6a61b6c5
Convert system_category to std::system_category
2021-09-21 05:34:05 +03:00
Peter Dimov
9151633c95
Merge branch 'develop' into feature/std-category
2021-09-20 17:41:47 +03:00
Peter Dimov
5e0db22075
Include errc.hpp in system_error.hpp
2021-09-20 17:41:34 +03:00
Peter Dimov
60a20eeeb9
Retain old generic_category conversion behavior on g++ 4.8/4.9
2021-09-19 18:44:45 +03:00
Peter Dimov
b1dec88674
Convert generic_category to std::generic_category
2021-09-19 17:08:46 +03:00
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