Date: Sat, 7 Mar 2020 14:04:53 -0500
The syntaxes are way different:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0847r4.html
In your case the compiler will have to change all of its rules for the
number of parameters "operator" overloads. For example:
struct A
{
int value;
...
template <typename Self>
bool operator < (this Self && self, A const & a) // 2
parameters... ok
{
return self.value < a.value;
}
bool operator < (A const & a) // 1 parameter... ok
{
return value < a.value;
}
};
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0847r4.html
In your case the compiler will have to change all of its rules for the
number of parameters "operator" overloads. For example:
struct A
{
int value;
...
template <typename Self>
bool operator < (this Self && self, A const & a) // 2
parameters... ok
{
return self.value < a.value;
}
bool operator < (A const & a) // 1 parameter... ok
{
return value < a.value;
}
};
-- *Phil Bouchard* Founder C.: (819) 328-4743 Fornux Logo <http://www.fornux.com> On 3/7/20 1:35 PM, Gašper Ažman wrote: > P0847 > > On Sat, Mar 7, 2020, 18:33 Phil Bouchard via Std-Proposals > <std-proposals_at_[hidden] > <mailto:std-proposals_at_[hidden]>> wrote: > > Alright, I'm pretty sure this is not implemented yet. Suppose you > have: > > struct A > > { > > int value; > > ... > > template <typename T> > > int compare(T const & t) const; > > } > > > struct B > > { > > int value; > > ... > > template <typename T> > > int compare(T const & t) const; > > } > > > Then a generic way to define the same functionality for all > classes would be to have a "template 'this'": > > template <typename C, typename T> > > inline int C::compare(T const & t) const > > { > > return value == t.value ? 0 : value < t.value ? -1 : 1; > > } > > > (Please include my email address in your replies) > > > -- > > *Phil Bouchard* > Founder > C.: (819) 328-4743 > > Fornux Logo <http://www.fornux.com> > -- > Std-Proposals mailing list > Std-Proposals_at_[hidden] <mailto:Std-Proposals_at_[hidden]> > https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals >
Received on 2020-03-07 13:07:41