title: How does QList decide whether to store pointers or the items themselves?
body: <p>From the <a href="http://qt-project.org/doc/qt-5.0/qtcore/qlist.html#details" rel="nofollow">docs</a>:  </p>
  
  <blockquote>
    <p>Internally, QList is represented as an array of pointers to items
    of type T. If T is itself a pointer type or a basic type that is no
    larger than a pointer, or if T is one of Qt's shared classes, then
    QList stores the items directly in the pointer array.</p>
  </blockquote>
  
  <p>I'm interested to know, how does <code>QList</code> 'decide' whether to store pointers or the items themselves depending on the type?</p>
  
  <p>Do they do it using some esoteric template syntax?</p>