On Friday, Aug 29, 2003, at 13:34 America/Denver, E. Gladyshev wrote:
...
All I am trying to say is that shared_ptr doesn't specify
any requirements on its Deleter parameter.

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

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

Reply via email to