
On Wed, 31 Aug 2011 16:09:24 -0700, Edward Diener <eldiener@tropicsoft.com> wrote: <snip>
If you want to change the assignment operator for optional when the type is a reference, just derive a class template from it, change what you want, and use that template to create object types rather than optional.
While you are of course free to have your own opinion on the matter, and argue for it, citing that programmers will not be used to the functionality, and that they are normally not going to read the documentation to understand it and its reason, is not a strong argument.
Just to clarify, if it was not clear enough in my original message, the *intent of this thread* is not to change the existing behaviour of optional, or argue for a change, rather, it is to understand the implications of a change, since I assume there are people on this forum that are more knowledgeable than me with respect to the usage of Boost.Optional. As for your latter remarks, I would have to strongly disagree with that, and I'll just leave it at that, since my motivation for exploring the implications of the said change to optional is tangential to the intent of this thread. Mostafa