"Peter Dimov" <[EMAIL PROTECTED]> writes:

> From: "Fernando Cacciola" <[EMAIL PROTECTED]>
> [...]
>> (1) deep-constantness:
>>
>> I Followed David Abraham's suggestion and decoupled
>> constantness of the optional<> object with that of
>> the value being wrapped.
>> This is how pointers and most smart pointers work, so
>> the pointer semantic should suffice to explain this behaviour.
>
> Hm. Did Dave really suggest that? :-)

Not exactly.  I said that deep constness is inconsistent with a
pointer-oriented interface.

> To reiterate, my opinion is that deep constness is much more
> appropriate for optional<>. Constness and copying go hand in hand:
> deep copy corresponds to deep constness, and shallow copy
> corresponds to shallow constness.  Optional<> does a deep copy. Even
> smart pointers that do deep copy use deep const.

Oh, well yeah.  There are some smart pointers that do that.  I've
never touched one.  So maybe a "deep" optional with a smart pointer
interface is not such an odd beast.

-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to