"Andrei Alexandrescu" <[EMAIL PROTECTED]> writes: > There's also a contradiction in there. The document nicely continues "One of > the reasons shared_ptr has been so successful is that in the great majority > of cases it supplies all the features that users need." However, only two > paragraphs below, in response to committee's "Proliferation of Standard > Library smart pointers is a serious concern", we read the following: > "scoped_ptr, scoped_array, and shared_array have been removed from the > proposal." > > Am I the only one who sees the fly in the ointment?
Maybe. What is the fly in this case? > If shared_ptr is the factotum, how come there are some other pointers in > boost that needed to be removed from the proposal? Why was their > functionality deemed necessary? I think you fail to appreciate that the standards committee is ultimately a somewhat different audience from the boost user community. The committee seems to be very much more conservative in what it is willing to accept and consider. A proposal for the standard must be written with even greater rigor than Boost documentation should be, and that can increase its length and complexity. I think there's a fear that a proposal containing 4 smart pointer types (like one containing 5 template parameters <wink>) might be hard enough for the committee to swallow that nothing at all would be accepted. That, at least, is my impression of why the other 3 smart pointer types were removed from the proposal. > Also, what's the deal with weak_ptr? It's not really a pointer at all, though for a while we thought it was (http://lists.boost.org/MailArchives/boost/msg34530.php). In the end it is still the best name anyone could come up with. > And Sherlock Holmes would also like to ask, why are there new smart > pointers added to boost on a regular basis? Where does this question come from? When was the last time we added a new smart pointer? > The committee also mentions that "LWG members are very concerned > that "you don't have to pay for what you don't use." I was one of those. > To this, the answer is "Issues related to weak_ptr are a side issue > that can be resolved after the basic proposal is accepted. Also, be > aware that different implementation techniques are possible, and > they may make various speed vs space tradeoffs. These choices are > not mandated by the proposal." I didn't find that part very satisfying, either. > I think much more detail is fair at this point. Why resolve an issue > after the proposal is accepted? What implementation techniques are > possible, and what tradeoffs do they make? IMHO, the interface > proposed (notably the custom deleter) does mandate quite some. I agree with that. The wording you cite sure seems like it's sweeping aside valid concerns without truly addressing them. -- 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