2 // { dg-options "-fno-exceptions" }
4 typedef unsigned int uint;
11 template <class T> class QValueListNode {
13 QValueListNode<T>* next;
14 QValueListNode<T>* prev;
16 template <class T> class QValueListPrivate : public QShared {
18 typedef QValueListNode<T> Node;
19 typedef QValueListNode<T>* NodePtr;
21 void derefAndDelete() {
22 if ( deref() ) delete this;
27 template <class T> QValueListPrivate<T>::QValueListPrivate() {
29 node->next = node->prev = node;
31 template <class T> QValueListPrivate<T>::~QValueListPrivate() {
32 NodePtr p = node->next;
39 template <class T> class QValueList {
42 sh = new QValueListPrivate<T>;
47 QValueListPrivate<T>* sh;
50 QValueList<Cell*> obscuringCells() const;
52 QValueList<Cell*> Cell::obscuringCells() const {
53 QValueList<Cell*> empty;
54 return QValueList<Cell*>();