Re: [Boost-bugs] [Boost C++ Libraries] #10811: Add operators !=, <=, >, >=

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10811: Add operators !=, <=, >, >=
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-12-05 08:57:45


#10811: Add operators !=, <=, >, >=
-------------------------------+-----------------------
  Reporter: viboes | Owner: apolukhin
      Type: Feature Requests | Status: assigned
 Milestone: Boost 1.58.0 | Component: variant
   Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+-----------------------

Comment (by apolukhin):

 Replying to [comment:6 viboes]:
> Am I missing something?

 Current implementation forbids such conversions because they could be very
 ineffective:

 {{{
 variant<int, std::sting> v(1);

 // implicit construction of variant with a string in it
 auto res = (v != "How you doin'? - (C) Joey");
 }}}

 Such approach was used long time ago for variant::operator== and
 variant::operator<.

 Why separate ticket? Because:
 * I'm not sure that such comparisons could be implemented using C++03 in
 an efficient way, they could be enabled as an extension that requires
 C++11/C++14. There are some chances that #10845 will be resolved as
 'wontfix', because of compiler limitations or some other issues.
 * Current implementation of comparison operators will remain (at least
 partially) even if the new one will be added
 * This ticket will be fixed in Boost 1.58. New comparison operators could
 take some time to implement and I'm not sure that they will make their way
 into Boost 1.58. My memory is lame and that's why some reminder (ticket)
 is added to trac to not forget about cool feature to implement :)

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10811#comment:7>
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:17 UTC