Boost logo

Boost :

From: helmut.zeisel_at_[hidden]
Date: 2001-06-28 09:21:50

In operators.hpp,
the commutative two-type versions of the operators,
such as addable2 have both versions of the operators defined:

struct addable2 : B
     friend T operator+(T x, const U& y) { return x += y; }
     friend T operator+(const U& y, T x) { return x += y; }

the non-commutative versions, such as subtractable2

have only one version:

struct subtractable2 : B
     friend T operator-(T x, const U& y) { return x -= y; }

Shouldn't there be a second version such as

     friend T operator-(const U& x, const T& y)
       T x1(x);
       return x1 -= y;

IMHO, it does not make much sense to provide the
two-type versions of the operators when U is not convertible to T.


Boost list run by bdawes at, gregod at, cpdaniel at, john at