Re: [Boost-bugs] [Boost C++ Libraries] #7278: Add noexcept to conform with C++11

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