Subject: Re: [boost] [TypeErasure] assignment operator of any references
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2012-07-19 01:10:50


Le 18/07/12 23:49, Steven Watanabe a écrit :
> AMDG
>
> On 07/18/2012 02:15 PM, Vicente J. Botet Escriba wrote:
>> Hi,
>>
>> The References section constains this example:
>>
>> int i, j;
>> any<typeid_<>, _self&> x(i), y(j);
>> x = y; // error
>>
>> The following basic c++ code
>>
>> int i=1, j=0;
>> int& x(i);
>> int& y(j);
>> x = y; // [1]
>>
>> works and the expected value of x after [1] is 0.
>>
>> Which concept requirements should I add to make the following work?
>> assignable?
>>
> Yes. assignable<> should work.
>
>> int i, j;
>> any<mpl::vector<typeid_<>, ...>, _self&> x(i), y(j);
>> x = y; // no error
>>

Does it mean that the sentence in section "Using References"

" References are not assignable. Just like a built-in C++ reference,
once you've initialized it you can't change it to point to something else"

could be subject to confusion. What do you exactly wanted to show there?

Best,
Vicente