On Thu, Mar 31, 2011 at 4:47 PM, Steven Watanabe <watanabesj@gmail.com> wrote:
AMDG


On 03/31/2011 08:29 AM, Robert Jones wrote:
>From Bjorn Karlsson's book, P297...

int i;
int value = 12;
var(i) = ( if_then_else_return( _1>=10, constant(10),_1) )(value);

Why does the assignment LHS need to be wrapped in var()?


Because operator= must be a member function.


Nope, still not getting it! Stop me when I err...

if_then_else_return(...) defines a unary functor
it_then_else_return(...)( value) evaluates that functor, and returns what?

Some type of integer I think? So doesn't the assignment simply perform
assignment of an integer, by copy? And that doesn't need operator= to
a member of anything?

Thanks

- R.