#include <QtCore/qlist.h>
#ifndef QLIST_H
template < typename T > class QList{
   private: struct Node{
      public: void* v;
#if defined(Q_CC_BOR)
#else
      public: inline T& t();
#endif
   };
   private: union /*anonymous*/{
      struct QListData p;
      struct QListData::Data* d;
   };
   public: inline QList();
   public: inline QList(class QList const & l);
   public: inline bool operator !=(class QList const & l) const
   public: inline int size() const
   public: inline void detach();
   public: inline bool isDetached() const
   public: inline void setSharable(bool sharable);
   public: inline bool isEmpty() const
   public: class iterator{
      public: struct QList::Node* i;
      public: typedef struct std::random_access_iterator_tag iterator_category;
      public: typedef ptrdiff_t difference_type;
      public: typedef T value_type;
      public: typedef T* pointer;
      public: typedef T& reference;
      public: inline iterator();
      public: inline iterator(struct QList::Node* n);
      public: inline iterator(class QList::iterator const & o);
      public: inline T& operator *() const
      public: inline T* operator ->() const
      public: inline T& operator [](int j) const
      public: inline bool operator ==(class QList::iterator const & o) const
      public: inline bool operator !=(class QList::iterator const & o) const
      public: inline bool operator <(class QList::iterator const & other) const
      public: inline bool operator <=(class QList::iterator const & other) const
      public: inline bool operator >(class QList::iterator const & other) const
      public: inline bool operator >=(class QList::iterator const & other) const
#ifndef QT_STRICT_ITERATORS
      public: inline bool operator ==(class QList::const_iterator const & o) const
      public: inline bool operator !=(class QList::const_iterator const & o) const
      public: inline bool operator <(class QList::const_iterator const & other) const
      public: inline bool operator <=(class QList::const_iterator const & other) const
      public: inline bool operator >(class QList::const_iterator const & other) const
      public: inline bool operator >=(class QList::const_iterator const & other) const
#endif
      public: inline class QList::iterator& operator ++();
      public: inline class QList::iterator operator ++(int);
      public: inline class QList::iterator& operator --();
      public: inline class QList::iterator operator --(int);
      public: inline class QList::iterator& operator +=(int j);
      public: inline class QList::iterator& operator -=(int j);
      public: inline class QList::iterator operator +(int j) const
      public: inline class QList::iterator operator -(int j) const
      public: inline int operator -(class QList::iterator j) const
   };
   public: class const_iterator{
      public: struct QList::Node* i;
      public: typedef struct std::random_access_iterator_tag iterator_category;
      public: typedef ptrdiff_t difference_type;
      public: typedef T value_type;
      public: typedef T const * pointer;
      public: typedef T& reference;
      public: inline const_iterator();
      public: inline const_iterator(struct QList::Node* n);
      public: inline const_iterator(class QList::const_iterator const & o);
#ifdef QT_STRICT_ITERATORS
#else
      public: inline const_iterator(class QList::iterator const & o);
#endif
      public: inline T& operator *() const
      public: inline T const * operator ->() const
      public: inline T& operator [](int j) const
      public: inline bool operator ==(class QList::const_iterator const & o) const
      public: inline bool operator !=(class QList::const_iterator const & o) const
      public: inline bool operator <(class QList::const_iterator const & other) const
      public: inline bool operator <=(class QList::const_iterator const & other) const
      public: inline bool operator >(class QList::const_iterator const & other) const
      public: inline bool operator >=(class QList::const_iterator const & other) const
      public: inline class QList::const_iterator& operator ++();
      public: inline class QList::const_iterator operator ++(int);
      public: inline class QList::const_iterator& operator --();
      public: inline class QList::const_iterator operator --(int);
      public: inline class QList::const_iterator& operator +=(int j);
      public: inline class QList::const_iterator& operator -=(int j);
      public: inline class QList::const_iterator operator +(int j) const
      public: inline class QList::const_iterator operator -(int j) const
      public: inline int operator -(class QList::const_iterator j) const
   };
   public: inline class QList::iterator begin();
   public: inline class QList::const_iterator begin() const
   public: inline class QList::const_iterator constBegin() const
   public: inline class QList::iterator end();
   public: inline class QList::const_iterator end() const
   public: inline class QList::const_iterator constEnd() const
   public: typedef class QList::iterator Iterator;
   public: typedef class QList::const_iterator ConstIterator;
   public: inline int count() const
   public: inline T& first();
   public: inline T& first() const
   public: inline T& last();
   public: inline T& last() const
   public: inline void removeFirst();
   public: inline void removeLast();
   public: inline void push_back(T& t);
   public: inline void push_front(T& t);
   public: inline T& front();
   public: inline T& front() const
   public: inline T& back();
   public: inline T& back() const
   public: inline void pop_front();
   public: inline void pop_back();
   public: inline bool empty() const
   public: typedef int size_type;
   public: typedef T value_type;
   public: typedef T* pointer;
   public: typedef T const * const_pointer;
   public: typedef T& reference;
   public: typedef T& const_reference;
   public: typedef ptrdiff_t difference_type;
   public: inline class QList operator +(class QList const & l) const
   public: inline class QList& operator +=(T& t);
   public: inline class QList& operator <<(T& t);
   public: inline class QList& operator <<(class QList const & l);
   public: class QVector < T > toVector() const
   public: class QSet < T > toSet() const
   public: static class QList fromVector(class QVector < T > const & vector);
   public: static class QList fromSet(class QSet < T > const & set);
#ifndef QT_NO_STL
   public: static inline class QList fromStdList(class std::list < T, class std::allocator < _CharT > > const & list);
   public: inline class std::list < T, class std::allocator < _CharT > > toStdList() const
#endif
   private: inline void node_construct(struct QList::Node* n, T const & t);
   private: inline void node_destruct(struct QList::Node* n);
   private: inline void node_copy(struct QList::Node* from, struct QList::Node* to, struct QList::Node* src);
   private: inline void node_destruct(struct QList::Node* from, struct QList::Node* to);
   public: inline class QList < T >& operator =(class QList const & l);
   public: inline typename QList::iterator insert(class QList::iterator before, T const & t);
   public: inline typename QList::iterator erase(class QList::iterator it);
   public: inline T const & at(int i) const
   public: inline T const & operator [](int i) const
   public: inline T& operator [](int i);
   public: inline void removeAt(int i);
   public: inline T takeAt(int i);
   public: inline T takeFirst();
   public: inline T takeLast();
   public: void append(T const & t);
   public: inline void prepend(T const & t);
   public: inline void insert(int i, T const & t);
   public: inline void replace(int i, T const & t);
   public: inline void swap(int i, int j);
   public: inline void move(int from, int to);
   public: class QList < T > mid(int pos, int length) const
   public: T value(int i) const
   public: T value(int i, T const & defaultValue) const
   private: void detach_helper();
   public: ~QList();
   public: bool operator ==(class QList const & l) const
   private: void free(struct QListData::Data* data);
   public: void clear();
   public: int removeAll(T const & _t);
   public: typename QList::iterator erase(typename QList::iterator afirst, typename QList::iterator alast);
   public: class QList < T >& operator +=(class QList const & l);
   public: int indexOf(T const & t, int from = 0) const
   public: int lastIndexOf(T const & t, int from) const
   public: class QBool contains(T const & t) const
   public: int count(T const & t) const
   friend class iterator;
   friend class const_iterator;
};
#endif // QLIST_H