Peter Dimov wrote:
Chuck Messenger wrote:

For convenience, logical continuity, and consistency with other Boost
libraries, you should be able to include all the smart_ptr pieces with

#include <boost/smart_ptr.hpp>

Currently, only 4 are included:

    #include <boost/scoped_ptr.hpp>
    #include <boost/scoped_array.hpp>
    #include <boost/shared_ptr.hpp>
    #include <boost/shared_array.hpp>

Missing are:

    #include <boost/weak_ptr.hpp>
    #include <boost/intrusive_ptr.hpp>
    #include <boost/enable_shared_from_this.hpp>

If the idea was to leave out rarely-used, specialized pieces, in order
to cut down on extraneous compile time, then I'd suggest that
weak_ptr.hpp needs to be included in smart_ptr.hpp -- it seems to me
to
be one of the essential, common components of the smart_ptr system.


smart_ptr.hpp is only provided for backward compatibility. In an earlier
version of Boost it contained the four scoped_* and shared_* class
templates. New code should include the appropriate header files directly.


Certainly, getting rid of a partially-populated smart_ptr.hpp is better than keeping it. But personally, I like the idea that every Boost library should supply a single "umbrella" include file which includes all the library's headers (no doubt with a handful of arcane exceptions). It makes it much easier to use an unfamiliar library -- one less thing to grapple with!

- Chuck Messenger


_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to