title: MOCK a method that accepts unique_ptr
body: <p>I have below class which I need to mock:</p>
  
  <pre><code>#include &lt;gmock/gmock.h&gt;
  #include &lt;gtest/gtest.h&gt;
  class Callback
  {
  public:
      Callback(): calls(0)
      {}
      void mcallback(std::unique_ptr&lt;int&gt; rpely)
      {
          calls++;
      }
      uint32_t calls;
  };
  
  class MockCallBack : public Callback
  {
  public:
      MOCK_METHOD1(mcallback, void(std::unique_ptr&lt;int&gt;));
  };
  </code></pre>
  
  <p>I get below error:</p>
  
  <pre><code>error C2280: 'std::unique_ptr&lt;int,std::default_delete&lt;_Ty&gt;&gt;::unique_ptr(const std::unique_ptr&lt;_Ty,std::default_delete&lt;_Ty&gt;&gt; &amp;)': attempting to reference a deleted function
  1&gt;        with
  1&gt;        [
  1&gt;            _Ty=int
  1&gt;        ]
  </code></pre>
  
  <p>How can I mock the function in concern?</p>