| 1 | | I'm adding BOOST_NOEXCEPT specification to Boost.Thread, and I can not complete it as Boost.System lacks this feature. Any plans to take care of this? |
| | 1 | I'm adding BOOST_NOEXCEPT specification to Boost.Thread, and I can not complete it as Boost.System lacks this feature. |
| | 2 | |
| | 3 | {{{ |
| | 4 | class error_category { |
| | 5 | public: |
| | 6 | virtual const char* name() const noexcept = 0; |
| | 7 | virtual error_condition default_error_condition(int ev) const noexcept; |
| | 8 | virtual bool equivalent(int code, const error_condition& condition) const noexcept; |
| | 9 | virtual bool equivalent(const error_code& code, int condition) const noexcept; |
| | 10 | bool operator==(const error_category& rhs) const noexcept; |
| | 11 | bool operator!=(const error_category& rhs) const noexcept; |
| | 12 | bool operator<(const error_category& rhs) const noexcept; |
| | 13 | }; |
| | 14 | const error_category& generic_category() noexcept; |
| | 15 | const error_category& system_category() noexcept; |
| | 16 | |
| | 17 | |
| | 18 | class error_code { |
| | 19 | public: |
| | 20 | error_code() noexcept; |
| | 21 | error_code(int val, const error_category& cat) noexcept; |
| | 22 | template <class ErrorCodeEnum> |
| | 23 | error_code(ErrorCodeEnum e) noexcept; |
| | 24 | void assign(int val, const error_category& cat) noexcept; |
| | 25 | template <class ErrorCodeEnum> |
| | 26 | errorcode& operator=(ErrorCodeEnum e) noexcept; |
| | 27 | void clear() noexcept; |
| | 28 | int value() const noexcept; |
| | 29 | const error_category& category() const noexcept; |
| | 30 | error_condition default_error_condition() const noexcept; |
| | 31 | explicit operator bool() const noexcept; |
| | 32 | }; |
| | 33 | error_code make_error_code(errc e) noexcept; |
| | 34 | bool operator<(const error_code& lhs, const error_code& rhs) noexcept; |
| | 35 | |
| | 36 | class error_condition { |
| | 37 | public: |
| | 38 | error_condition() noexcept; |
| | 39 | error_condition(int val, const error_category& cat) noexcept; template <class ErrorConditionEnum> |
| | 40 | error_condition(ErrorConditionEnum e) noexcept; |
| | 41 | void assign(int val, const error_category& cat) noexcept; template<class ErrorConditionEnum> |
| | 42 | error_condition& operator=(ErrorConditionEnum e) noexcept; |
| | 43 | void clear() noexcept; |
| | 44 | int value() const noexcept; |
| | 45 | const error_category& category() const noexcept; |
| | 46 | explicit operator bool() const noexcept; |
| | 47 | |
| | 48 | }; |
| | 49 | bool operator<(const error_condition& lhs, const error_condition& rhs) noexcept; |
| | 50 | }}} |
| | 51 | |
| | 52 | |
| | 53 | Any plans to take care of this? |