"David Abrahams" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > "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?
See right below: :o) > > 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 don't know about others, but when I read that three other pointers have been removed from the proposal to make it palatable and that there's word about a fourth, I start to doubt that shared_ptr is "so successful" and that "in the great majority of cases it supplies all the features that users need". > 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'm very very happy to hear that, because the smart_ptr discussion at http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1397.html looks to me, at least in comparison to all other discussions on the same page, more like a agile plea based on subjective opinion that glosses over certain details, rather than a technical, objective discussion. > 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. My impression, on the contrary, was that the committee was much more willing to look into a policy-based approach than into an inherently limited and suboptimal design. Ah, one thing. Binary compatibility and EXE/DLL issues are mentioned with shared_ptr. For what I know, this is the very first component in the Standard ever addresses this particular issue. Why not vector or string? This might be a good precedent though. > > 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? I don't know about adding, but I press the "down" arrow only a few times and what do I see? Only this year, some convo about shifted_ptr and intrusive_ptr and cyclic_ptr. That's a mouthful already :o). If shared_ptr covers 99% of use(r)s, there sure is a lot of fuss over the remaining 1% :o). > > 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. Hurray! Thanks. Indeed it feels so very good to hear that from a member of the committee. 'Coz the discussion on shared_ptr at http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1397.html does look to me like... when there's no anchor, what to do? Sail! :o)) Andrei _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost