title: Would this class have a Strict Weak Ordering
body: <p>Say I had class/struct <code>Foo</code></p>
  
  <pre><code>struct Foo {
      int a, b;
      bool operator&lt; (Foo const&amp; r){
          return a &lt; r.a;
      }
      bool operator== (Foo const&amp; r){
          return a==r.a&amp;&amp;b==r.b;
      }
  };
  Foo bar = { 5, 1 };
  Foo baz = { 5, 2 };
  </code></pre>
  
  <p>Now <code>bar == baz</code> is false but so are <code>bar &lt; baz</code> and <code>baz &lt; bar</code>.</p>
  
  <p>Note that here the ordering completely ignores <code>b</code> but <code>b</code> is part of the equality relation.</p>