"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