title: Issue with std::reference_wrapper
body: <p>The issue is clear with the following code:</p>
  
  <pre><code>#include &lt;functional&gt;
  #include &lt;iostream&gt;
  #include &lt;vector&gt;
  
  int main() {
    //std::vector&lt;int&gt; a, b;
    int a = 0, b = 0;
    auto refa = std::ref(a);
    auto refb = std::ref(b);
    std::cout &lt;&lt; (refa &lt; refb) &lt;&lt; '\n';
    return 0;
  }
  </code></pre>
  
  <p>If I use the commented <code>std::vector&lt;int&gt; a, b;</code> instead of <code>int a = 0, b = 0;</code>, then the code does not compile on any of GCC 5.1, clang 3.6, or MSVC'13. In my opinion, <code>std::reference_wrapper&lt;std::vector&lt;int&gt;&gt;</code> is implicitly convertible to <code>std::vector&lt;int&gt;&amp;</code> which is LessThanComparable, and thus it should be LessThanComparable itself. Could someone explain this to me?</p>