title: unique_ptr boost equivalent?
body: <p>Is there some equivalent class for C++1x's std::unique_ptr in the boost libraries? The behavior I'm looking for is being able to have an exception-safe factory function, like so...</p>
  
  <pre><code>std::unique_ptr&lt;Base&gt; create_base()
  {
      return std::unique_ptr&lt;Base&gt;(new Derived);
  }
  
  void some_other_function()
  {
      std::unique_ptr&lt;Base&gt; b = create_base();
  
      // Do some stuff with b that may or may not throw an exception...
  
      // Now b is destructed automagically.
  }
  </code></pre>
  
  <p>EDIT: Right now, I'm using this hack, which seems like the best I can get at this point...</p>
  
  <pre><code>Base* create_base()
  {
      return new Derived;
  }
  
  void some_other_function()
  {
      boost::scoped_ptr&lt;Base&gt; b = create_base();
  
      // Do some stuff with b that may or may not throw an exception...
  
      // Now b is deleted automagically.
  }
  </code></pre>