#include <QtCore/qhash.h>
#ifndef QHASH_H
template < typename Key, typename T > class QHash{
private: typedef class QHashDummyNode < Key, T > DummyNode;
private: typedef class QHashNode < Key, T > Node;
private: union /*anonymous*/{
struct QHashData* d;
class QHashNode < Key, T >* e;
};
private: static inline class QHashNode < Key, T >* concrete(struct QHashData::Node* node);
public: inline QHash();
public: inline QHash(class QHash const & other);
public: inline ~QHash();
public: inline bool operator !=(class QHash 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: class iterator{
private: struct QHashData::Node* 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& reference;
public: inline operator class QHashNode < Key, T >* () const
public: inline iterator();
public: explicit inline iterator(void* node);
public: inline Key const & key() const
public: inline T& value() const
public: inline T& operator *() const
public: inline T* operator ->() const
public: inline bool operator ==(class QHash::iterator const & o) const
public: inline bool operator !=(class QHash::iterator const & o) const
public: inline class QHash::iterator& operator ++();
public: inline class QHash::iterator operator ++(int);
public: inline class QHash::iterator& operator --();
public: inline class QHash::iterator operator --(int);
public: inline class QHash::iterator operator +(int j) const
public: inline class QHash::iterator operator -(int j) const
public: inline class QHash::iterator& operator +=(int j);
public: inline class QHash::iterator& operator -=(int j);
public: inline bool operator ==(class QHash::const_iterator const & o) const
public: inline bool operator !=(class QHash::const_iterator const & o) const
private: inline operator bool () const
};
public: class const_iterator{
private: struct QHashData::Node* i;
public: typedef struct std::bidirectional_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 operator class QHashNode < Key, T >* () const
public: inline const_iterator();
public: explicit inline const_iterator(void* node);
#ifdef QT_STRICT_ITERATORS
#else
public: inline const_iterator(class QHash::iterator const & o);
#endif
public: inline Key const & key() const
public: inline T& value() const
public: inline T& operator *() const
public: inline T const * operator ->() const
public: inline bool operator ==(class QHash::const_iterator const & o) const
public: inline bool operator !=(class QHash::const_iterator const & o) const
public: inline class QHash::const_iterator& operator ++();
public: inline class QHash::const_iterator operator ++(int);
public: inline class QHash::const_iterator& operator --();
public: inline class QHash::const_iterator operator --(int);
public: inline class QHash::const_iterator operator +(int j) const
public: inline class QHash::const_iterator operator -(int j) const
public: inline class QHash::const_iterator& operator +=(int j);
public: inline class QHash::const_iterator& operator -=(int j);
private: inline operator bool () const
};
public: inline class QHash::iterator begin();
public: inline class QHash::const_iterator begin() const
public: inline class QHash::const_iterator constBegin() const
public: inline class QHash::iterator end();
public: inline class QHash::const_iterator end() const
public: inline class QHash::const_iterator constEnd() const
public: typedef class QHash::iterator Iterator;
public: typedef class QHash::const_iterator ConstIterator;
public: inline int count() const
public: typedef T mapped_type;
public: typedef Key key_type;
public: typedef ptrdiff_t difference_type;
public: typedef int size_type;
public: inline bool empty() const
private: inline void deleteNode(class QHashNode < Key, T >* node);
private: static inline void duplicateNode(struct QHashData::Node* node, void* newNode);
private: inline typename QHash::Node* createNode(uint ah, Key const & akey, T const & avalue, class QHashNode < Key, T >* * anextNode);
public: inline class QHash < Key, T >& unite(class QHash const & other);
private: void freeData(struct QHashData* x);
public: inline void clear();
private: void detach_helper();
public: inline class QHash < Key, T >& operator =(class QHash const & other);
public: inline T const value(Key const & akey) const
public: inline T const value(Key const & akey, T& adefaultValue) const
public: class QList < T > uniqueKeys() const
public: class QList < T > keys() const
public: class QList < T > keys(T const & avalue) const
public: Key const key(T const & avalue) const
public: class QList < T > values() const
public: class QList < T > values(Key const & akey) const
public: int count(Key const & akey) const
public: inline T const operator [](Key const & akey) const
public: inline T& operator [](Key const & akey);
public: inline typename QHash::iterator insert(Key const & akey, T const & avalue);
public: inline typename QHash::iterator insertMulti(Key const & akey, T const & avalue);
public: int remove(Key const & akey);
public: T take(Key const & akey);
public: typename QHash::iterator erase(class QHash::iterator it);
public: inline void reserve(int asize);
public: inline typename QHash::const_iterator find(Key const & akey) const
public: inline typename QHash::const_iterator constFind(Key const & akey) const
public: inline typename QHash::iterator find(Key const & akey);
public: inline bool contains(Key const & akey) const
private: typename QHash::Node* * findNode(Key const & akey, uint* ahp = 0) const
public: bool operator ==(class QHash const & other) const
friend class iterator;
friend class const_iterator;
};
#endif // QHASH_H