This is the verbatim text of the qgdict.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.


/****************************************************************************
** $Id: qgdict.h,v 2.0 1996/09/24 10:16:11 agulbra Exp $
**
** Definition of QGDict and QGDictIterator classes
**
** Created : 920529
**
** Copyright (C) 1992-1996 by Troll Tech AS.  All rights reserved.
**
*****************************************************************************/

#ifndef QGDICT_H
#define QGDICT_H

#include "qcollect.h"


class QBucket;                                  // internal classes
class QListM_QGDictIterator;
#define QGDItList QListM_QGDictIterator


class QGDict : public QCollection               // generic dictionary class
{
friend class QGDictIterator;
public:
    uint        count() const   { return numItems; }
    uint        size()  const   { return vlen; }
    GCI         look( const char *key, GCI, int );

    QDataStream &read( QDataStream & );
    QDataStream &write( QDataStream & ) const;

protected:
    QGDict( uint len, bool cs, bool ck, bool th );
    QGDict( const QGDict & );
   ~QGDict();

    QGDict     &operator=( const QGDict & );

    bool        remove( const char *key );
    GCI         take( const char *key );
    void        clear();

    virtual int hashKey( const char * );

    void        statistics() const;

    virtual QDataStream &read( QDataStream &, GCI & );
    virtual QDataStream &write( QDataStream &, GCI ) const;

private:
    QBucket   **vec;
    uint        vlen;
    uint        numItems;
    uint        cases   : 1;
    uint        copyk   : 1;
    uint        triv    : 1;
    QGDItList  *iterators;
    QBucket    *unlink( const char * );
};


class QGDictIterator                            // generic dictionary iterator
{
friend class QGDict;
public:
    QGDictIterator( const QGDict & );
    QGDictIterator( const QGDictIterator & );
    QGDictIterator &operator=( const QGDictIterator & );
   ~QGDictIterator();

    GCI         toFirst();

    GCI         get()    const;
    const char *getKey() const;

    GCI         operator()();
    GCI         operator++();
    GCI         operator+=(uint);

protected:
    QGDict     *dict;

private:
    QBucket    *curNode;
    uint        curIndex;
};


#endif // QGDICT_H


Generated at 16:51, 1996/09/24 for Qt version 1.0 by the webmaster at Troll Tech