#include <QtCore/qset.h>
#ifndef QSET_H
template < typename T > class QSet{
   private: typedef class QHash < T, struct QHashDummyValue > Hash;
   public: inline QSet();
   public: inline QSet(class QSet const & other);
   public: inline class QSet& operator =(class QSet const & other);
   public: inline bool operator ==(class QSet const & other) const
   public: inline bool operator !=(class QSet const & other) const
   public: inline int size() const
   public: inline bool isEmpty() const
   public: inline int capacity() const
   public: inline void squeeze();
   public: inline void detach();
   public: inline bool isDetached() const
   public: inline void setSharable(bool sharable);
   public: inline void clear();
   public: inline bool remove(T const & value);
   public: inline bool contains(T const & value) const
   public: class iterator{
      private: typedef class QHash < T, struct QHashDummyValue > Hash;
      private: typename QHash < T, struct QHashDummyValue >::iterator i;
      public: typedef struct std::bidirectional_iterator_tag iterator_category;
      public: typedef ptrdiff_t difference_type;
      public: typedef T value_type;
      public: typedef T* pointer;
      public: typedef T const & reference;
      public: inline iterator();
      public: inline iterator(typename QHash < T, struct QHashDummyValue >::iterator o);
      public: inline iterator(class QSet::iterator const & o);
      public: inline class QSet::iterator& operator =(class QSet::iterator const & o);
      public: inline T const & operator *() const
      public: inline T* operator ->() const
      public: inline bool operator ==(class QSet::iterator const & o) const
      public: inline bool operator !=(class QSet::iterator const & o) const
      public: inline bool operator ==(class QSet::const_iterator const & o) const
      public: inline bool operator !=(class QSet::const_iterator const & o) const
      public: inline class QSet::iterator& operator ++();
      public: inline class QSet::iterator operator ++(int);
      public: inline class QSet::iterator& operator --();
      public: inline class QSet::iterator operator --(int);
      public: inline class QSet::iterator operator +(int j) const
      public: inline class QSet::iterator operator -(int j) const
      public: inline class QSet::iterator& operator +=(int j);
      public: inline class QSet::iterator& operator -=(int j);
   };
   public: class const_iterator{
      private: typedef QHash < T, struct QHashDummyValue > Hash;
      private: typename QHash < T, struct QHashDummyValue >::const_iterator i;
      public: typedef struct std::bidirectional_iterator_tag iterator_category;
      public: typedef ptrdiff_t difference_type;
      public: typedef T value_type;
      public: typedef T* pointer;
      public: typedef T const & reference;
      public: inline const_iterator();
      public: inline const_iterator(typename QHash < T, struct QHashDummyValue >::const_iterator o);
      public: inline const_iterator(class QSet::const_iterator const & o);
      public: inline const_iterator(class QSet::iterator const & o);
      public: inline class QSet::const_iterator& operator =(class QSet::const_iterator const & o);
      public: inline T const & operator *() const
      public: inline T* operator ->() const
      public: inline bool operator ==(class QSet::const_iterator const & o) const
      public: inline bool operator !=(class QSet::const_iterator const & o) const
      public: inline class QSet::const_iterator& operator ++();
      public: inline class QSet::const_iterator operator ++(int);
      public: inline class QSet::const_iterator& operator --();
      public: inline class QSet::const_iterator operator --(int);
      public: inline class QSet::const_iterator operator +(int j) const
      public: inline class QSet::const_iterator operator -(int j) const
      public: inline class QSet::const_iterator& operator +=(int j);
      public: inline class QSet::const_iterator& operator -=(int j);
   };
   public: inline class QSet::iterator begin();
   public: inline class QSet::const_iterator begin() const
   public: inline class QSet::const_iterator constBegin() const
   public: inline class QSet::iterator end();
   public: inline class QSet::const_iterator end() const
   public: inline class QSet::const_iterator constEnd() const
   public: inline class QSet::iterator erase(class QSet::iterator i);
   public: typedef class QSet::iterator Iterator;
   public: typedef class QSet::const_iterator ConstIterator;
   public: inline int count() const
   public: inline class QSet::const_iterator insert(T const & value);
   public: inline class QSet::iterator find(T const & value);
   public: inline class QSet::const_iterator find(T const & value) const
   public: inline class QSet::const_iterator constFind(T const & value) const
   public: typedef T key_type;
   public: typedef T value_type;
   public: typedef T* pointer;
   public: typedef T* const_pointer;
   public: typedef T& reference;
   public: typedef T const & const_reference;
   public: typedef ptrdiff_t difference_type;
   public: typedef int size_type;
   public: inline bool empty() const
   public: inline class QSet& operator <<(T const & value);
   public: inline class QSet& operator |=(class QSet const & other);
   public: inline class QSet& operator |=(T const & value);
   public: inline class QSet& operator &=(class QSet const & other);
   public: inline class QSet& operator &=(T const & value);
   public: inline class QSet& operator +=(class QSet const & other);
   public: inline class QSet& operator +=(T const & value);
   public: inline class QSet& operator -=(class QSet const & other);
   public: inline class QSet& operator -=(T const & value);
   public: inline class QSet operator |(class QSet const & other);
   public: inline class QSet operator &(class QSet const & other);
   public: inline class QSet operator +(class QSet const & other);
   public: inline class QSet operator -(class QSet const & other);
   public: inline class QList < T > values() const
   private: QHash < T, struct QHashDummyValue > q_hash;
   public: inline void reserve(int asize);
   public: inline class QSet < T >& unite(class QSet const & other);
   public: inline class QSet < T >& intersect(class QSet const & other);
   public: inline class QSet < T >& subtract(class QSet const & other);
   public: class QList < T > toList() const
   public: static class QSet < T > fromList(class QList < T > const & list);
};
#endif // QSET_H