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