
"Thorsten Ottosen" <nesotto@cs.auc.dk> wrote in message news:d4lgqm$83h$1@sea.gmane.org...
"Stefan Seefeld" <seefeld@sympatico.ca> wrote in message news:426E4259.4070209@sympatico.ca... | Gennadiy Rozental wrote: | | > IMO | > the more flexible the solution is - the more users it will end up | > attracting. | | I don't agree with this statement at all. Making things more flexible | incures a semantic dilution (not to speak of the added complexity | necessary to support that flexibility) that encourages users to just | 'roll their own' solution. | | I'm not saying that flexibility or genericity is bad. But it comes | with a price.
I don't think it is unfair to see it as an expert tool and not something the ordinary user need to use or worry about learning. That implies that we do want it in boost, but that it might not be a good candidate for std::.
The plan we talked about several years ago was that if the standard library has a PBSP, there would also be classes (or similar typedef templates, depending on core language changes) like: template<class T> class shared_ptr : public smart_ptr<T, one set of policies> {...}; template<class T> class scoped_ptr : public smart_ptr<T, another set of policies> {...}; etc. These would be recommended to non-expert users. One of my personal criteria for a good PBSP is that it can supply the feature set needed to provide those pre-configured smart pointers. --Beman