Boost logo

Boost Users :

Subject: Re: [Boost-users] [Q] using boost operators return types
From: V S P (toreason_at_[hidden])
Date: 2009-03-23 12:54:25


Thank you for the reply

I am still a bit lost

for example, the doc says

subtractable<T>

produces T operator-(const T&, const T&)

It requires:
"
T temp(t); temp -= t1.
"

so does this mean
T& operator -= (const T& ) ?

---
this is a separate question:

I have implemented the <addable> tempalte with +=
(as in the point example, but made it return a reference)

then I do
cmoney_t a("300");
cmoney_t b("100");

a+=b;

and I see in the debugger that
the *this in the operator += points to 100, not to 300

I am sure I am doing something wrong, but I thought
in the += operator, *this would mean the value of "a" variable
not "b".

Is at least my understanding correct, that *this should be pointing to
300,
and not 100?

thank you again,
Vlad

On Mon, 23 Mar 2009 10:41 -0500, "Alan M. Carroll"
<amc_at_[hidden]> wrote:
> At 09:55 AM 3/23/2009, V S P wrote:
> >I am using this example
> >http://www.boost.org/doc/libs/1_38_0/libs/utility/operators.htm#example
> >
> >but cannot understand
> >why object is returned from those operators and not an object reference
>
> That certainly is odd. It means that the following code will not work as
> expected:
>
> point x(0,0), y(1,0), z(0,1);
> (x += y) += z; // x is (1,0), not (1,1).
>
> >second, I do not quite understand, what exactly is a set of
> >'automatically generated' operators and would I figure that out.
>
> It is documented in the comments of the example you cite, and listed in
> the table[1] just below.
>
> [1]
> http://www.boost.org/doc/libs/1_38_0/libs/utility/operators.htm#smpl_oprs
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users

-- 
  V S P
  toreason_at_[hidden]
-- 
http://www.fastmail.fm - I mean, what is it about a decent email service?

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net