--- Gregory Colvin <[EMAIL PROTECTED]> wrote: > Bullshit: > > template<class Y, class D> shared_ptr(Y * p, D d); > > Requirements: p must be convertible to T *. D must be > CopyConstructible. The copy constructor and destructor of D > must not throw. The expression d(p) must be well-formed, must > not invoke undefined behavior, and must not throw exceptions. > > Effects: Constructs a shared_ptr that owns the pointer p and > the deleter d. > > Postconditions: use_count() == 1 && get() == p . > > Throws: std::bad_alloc or an implementation-defined exception > when a resource other than memory could not be obtained. > > Exception safety: If an exception is thrown, d(p) is called. > > Notes: When the time comes to delete the object pointed to by p, > the stored copy of d is invoked with the stored copy of p as an > argument. > > http://www.boost.org/libs/smart_ptr/shared_ptr.htm#constructors
Well said. :) Sorry about that. I looked at the "Common Requirements" section and description of shared_ptr::reset(); - template<class Y, class D> void reset(Y * p, D d); Effects: Equivalent to shared_ptr(p, d).swap(*this). - Somehow I missed the constructor docs. Sorry again. Anyway like I said before several times it is not a big deal in my opinion. People are adopted to follow similar requirements for STL allocators anyway. I guess they can be recommended to all boost authors who wants to make memory management data types. Perhaps they can be added to the "Guidlines" section http://www.boost.org/more/lib_guide.htm#Guidelines Eugene __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost