Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7278: Add noexcept to conform with C++11
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-25 10:53:57
#7278: Add noexcept to conform with C++11
-------------------------------+--------------------------------------------
Reporter: viboes | Owner: bemandawes
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: system
Version: Boost 1.51.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Description changed by viboes:
Old description:
> I'm adding BOOST_NOEXCEPT specification to Boost.Thread, and I can not
> complete it as Boost.System lacks this feature.
>
> {{{
> class error_category {
> public:
> virtual const char* name() const noexcept = 0;
> virtual error_condition default_error_condition(int ev) const
> noexcept;
> virtual bool equivalent(int code, const error_condition& condition)
> const noexcept;
> virtual bool equivalent(const error_code& code, int condition)
> const noexcept;
> bool operator==(const error_category& rhs) const noexcept;
> bool operator!=(const error_category& rhs) const noexcept;
> bool operator<(const error_category& rhs) const noexcept;
> };
> const error_category& generic_category() noexcept;
> const error_category& system_category() noexcept;
>
> class error_code {
> public:
> error_code() noexcept;
> error_code(int val, const error_category& cat) noexcept;
> template <class ErrorCodeEnum>
> error_code(ErrorCodeEnum e) noexcept;
> void assign(int val, const error_category& cat) noexcept;
> template <class ErrorCodeEnum>
> errorcode& operator=(ErrorCodeEnum e) noexcept;
> void clear() noexcept;
> int value() const noexcept;
> const error_category& category() const noexcept;
> error_condition default_error_condition() const noexcept;
> explicit operator bool() const noexcept;
> };
> error_code make_error_code(errc e) noexcept;
> bool operator<(const error_code& lhs, const error_code& rhs) noexcept;
>
> class error_condition {
> public:
> error_condition() noexcept;
> error_condition(int val, const error_category& cat) noexcept; template
> <class ErrorConditionEnum>
> error_condition(ErrorConditionEnum e) noexcept;
> void assign(int val, const error_category& cat) noexcept; template<class
> ErrorConditionEnum>
> error_condition& operator=(ErrorConditionEnum e) noexcept;
> void clear() noexcept;
> int value() const noexcept;
> const error_category& category() const noexcept;
> explicit operator bool() const noexcept;
>
> };
> bool operator<(const error_condition& lhs, const error_condition& rhs)
> noexcept;
> }}}
>
> Any plans to take care of this?
New description:
I'm adding BOOST_NOEXCEPT specification to Boost.Thread (#7279), and I can
not complete it as Boost.System lacks this feature.
{{{
class error_category {
public:
virtual const char* name() const noexcept = 0;
virtual error_condition default_error_condition(int ev) const
noexcept;
virtual bool equivalent(int code, const error_condition& condition)
const noexcept;
virtual bool equivalent(const error_code& code, int condition) const
noexcept;
bool operator==(const error_category& rhs) const noexcept;
bool operator!=(const error_category& rhs) const noexcept;
bool operator<(const error_category& rhs) const noexcept;
};
const error_category& generic_category() noexcept;
const error_category& system_category() noexcept;
class error_code {
public:
error_code() noexcept;
error_code(int val, const error_category& cat) noexcept;
template <class ErrorCodeEnum>
error_code(ErrorCodeEnum e) noexcept;
void assign(int val, const error_category& cat) noexcept;
template <class ErrorCodeEnum>
errorcode& operator=(ErrorCodeEnum e) noexcept;
void clear() noexcept;
int value() const noexcept;
const error_category& category() const noexcept;
error_condition default_error_condition() const noexcept;
explicit operator bool() const noexcept;
};
error_code make_error_code(errc e) noexcept;
bool operator<(const error_code& lhs, const error_code& rhs) noexcept;
class error_condition {
public:
error_condition() noexcept;
error_condition(int val, const error_category& cat) noexcept; template
<class ErrorConditionEnum>
error_condition(ErrorConditionEnum e) noexcept;
void assign(int val, const error_category& cat) noexcept; template<class
ErrorConditionEnum>
error_condition& operator=(ErrorConditionEnum e) noexcept;
void clear() noexcept;
int value() const noexcept;
const error_category& category() const noexcept;
explicit operator bool() const noexcept;
};
bool operator<(const error_condition& lhs, const error_condition& rhs)
noexcept;
}}}
Any plans to take care of this?
-- -- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7278#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC