Description
===========

This is the scoped_ptr from Boost with some additions by Google.

Homepage
========

http://www.boost.org/
http://www.boost.org/libs/smart_ptr/scoped_ptr.htm

License
=======

http://boost.org/LICENSE_1_0.txt

Source files and modifications
==============================

scoped_ptr_malloc added in by Ray Sidney of Google.  When one of these goes
out of scope, instead of doing a delete or delete[], it calls free().
scoped_ptr_malloc<char> is likely to see much more use than any other
specializations.

release() added in by Spencer Kimball of Google. Use this to conditionally
transfer ownership of a heap-allocated object to the caller, usually on
method success.
