title: How to write qHash for a QSet<SomeClass*> container?
body: <p>I need to implement a set of sets in my application.
  Using QSet with a custom class requires providing a <code>qHash()</code> function and an <code>operator==</code>.</p>
  
  <p>The code is as follows:</p>
  
  <pre><code>    class Custom{
          int x;
          int y;
          //some other irrelevant here
      }
      inline uint qHash(Custom* c){
          return (qHash(c-&gt;x) ^ qHash(c-&gt;y));
      }
      bool operator==(Custom &amp;c1, Custom &amp;c2){
          return ((c1.x==c2.x) &amp;&amp; (c1.y == c2.y));
      }
  
      //now I can use: QSet&lt;Custom*&gt;
  </code></pre>
  
  <p>How can I implement <code>qHash(QSet&lt;Custom*&gt;)</code>, to be able to use <code>QSet&lt; QSet&lt;SomeClass*&gt; &gt;</code>?</p>
  
  <p>Edit: </p>
  
  <p>Additional question:
  In my application the "set of sets" can contain up to 15000 sets. Each subset up to 25 Custom class pointers. How to guarantee that <code>qHash(QSet&lt;Custom*&gt;)</code> will be unique enough?</p>