title: Workaround for returning uncopyable object without a move ctor
body: <p>In my API I have a function that returns <code>std::istringstream</code>.<br>
  The <a href="http://en.cppreference.com/w/cpp/io/basic_istringstream" rel="nofollow noreferrer"><code>std::istringstream</code> class</a> is non-copyable but supports moving so on a conforming compiler there is no problem returning a local <code>std::istringstream</code>.</p>
  
  <p>However, on gcc 4.9, there is <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316" rel="nofollow noreferrer">no support</a> for moving <code>std::istringstream</code>. 
  Is there some workaround that I can use that <code>std::istringstream</code> without changing the API from the user's perspective?</p>
  
  <p>The workaround suggested <a href="https://stackoverflow.com/a/27152585/135862">here</a>, of using a <code>unique_ptr&lt;std::istringstream&gt;</code> will change the semantics of the API.</p>