"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. 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. Dave _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost