
Peter, AFAIK operator += or operator -= signature must contain a return value. In your case it can probably be void. template<class U> void operator+=(U offset) { ... } ... Best Regards, Ovanes On Fri, Apr 25, 2008 at 10:41 AM, Peter
Assuming I have a class like the following:
template <typename T> struct point : boost::additive
{ T x_; T y_; explicit point(T x=0, T y=0) : x_(x), y_(y) { }
operator += (T offset) { x_ += offset; y_ += offset; }
operator -= (T offset) { x_ -= offset; y_ -= offset; } }
Now I want to change the addition and subtraction operators to allow for different types using the following template
class point ...
template <typename U> operator += (U offset) { x_ += offset; y_ += offset; }
template <typename U> operator -= (T offset) { x_ -= offset; y_ -= offset; }
...
I cannot figure out how to write the proper syntax for the boost::additive class, so that it generates the proper additional operators for all type combinations. Is that possible, at all?
Thanks, Peter
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users