"David B. Held" <[EMAIL PROTECTED]> writes:

> "David Abrahams" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>> [...]
>> Orthogonality itself never plays agin' ya.  It's when you try to force
>> orthogonality on things which actually have to cooperate closely that
>> you get problems.  I'm not sure we have that case here, but it looks
>> like a possibility.  One way out, as Dave H. has suggested, might be
>> to impose nothrow requirements to get back some independence.
>
> Hopefully, it won't come to that, if my latest implementation is non-
> stupid.  However, there's no guarantee of that (it fails to provide the
> non-stupid guarantee), since the previous suggestion of calling
> storage_policy::destroy() from ownership_policy was blatantly wrong.
> I fell into the same trap you did thinking that it was a static function
> that could be called from anywhere.  

I don't think I fell into that trap FWIW.  I was pointing out that in
a function-catch-clause it had better be a static function, and then
it can't touch data members.

> Unfortunately (or fortunately, depending on how you look at it),
> storage_policy is not a base class of ownership_policy, so that call
> would have been illegal.  Thus, the policy interaction as I
> suggested it buys you nothing.  However, I do seem to recall that
> Beman's plan did involve some inheritance between policies, and that
> design probably does offer the non-stupid guarantee.  I think the
> two-step ownership acquisition is the better way to go, here.

So you are willing to require nothrow policy construction?

-- 
                       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