title: Is putting std::move inside a lambda really necessary here?
body: <p>Do I really have to encapsulate the std::move call in a lambda?</p>
  
  <pre><code>std::list&lt;std::wstring&gt;     srcData = GetData(); // implementation not important
  std::vector&lt;std::wstring&gt;   dstData;
  dstData.reserve(srcData.size());
  std::transform(std::begin(srcData), std::end(srcData), std::back_inserter(dstData), 
      [](std::wstring&amp; guid) -&gt; std::wstring { return std::move(guid); });
  srcData.clear();
  </code></pre>
  
  <p>I am still new to lambdas and rvalue references, so initially I tried:</p>
  
  <pre><code>std::transform(std::begin(srcData), std::end(srcData), 
      std::back_inserter(dstData), &amp;std::move&lt;std::wstring&gt;);
  </code></pre>
  
  <p>which doesn't work.</p>
  
  <p>Do I have to put the move inside a lambda, or am I missing something obvious?</p>