Hi Edward, this interface seems to exist to ensure the lifetime of the object handed to my library, 5) is hence not the best option. I'd go with supporting both std::shared_ptr (default) and boost::shared_ptr in my library. 4) would be an interesting option for purely generic code, just modeling the interface of the shared_ptr type, but not restricting it to a concrete type seems smart. One could still have std::shared_ptr as the default for the template argument. boost::shared_ptr would be interesting as a way to support pre C++11 code. cheers, Jens Weller
Gesendet: Donnerstag, 13. Oktober 2016 um 00:58 Uhr Von: "Edward Diener"
An: boost@lists.boost.org Betreff: [boost] Curiousity question I would like to ask a design question for any Boost developers or anyone on this mailing list who might care to answer.
You are designing or working on a library, perhaps for Boost, perhaps for fun, and part of the design of the library has some public functionality taking a shared pointer as input. You:
1) Use boost::shared_ptr 2) Use std::shared_ptr 3) Use both boost::shared_ptr and std::shared_ptr with the same functionality 4) Use neither, you roll your own shared pointer-like functionality 5) You don't lke shared pointers and use raw pointers instead
I really am curious about this. I haven't put any limitation on your library or made any presumption on who your library is for, on purpose. Thanks for anyone answering !
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost