ghash.h

来自「swf文件查看工具,能够看flash文件的格式」· C头文件 代码 · 共 79 行

H
79
字号
//========================================================================//// GHash.h//// Copyright 2001-2003 Glyph & Cog, LLC////========================================================================#ifndef GHASH_H#define GHASH_H#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma interface#endif#include "gtypes.h"class GString;struct GHashBucket;struct GHashIter;//------------------------------------------------------------------------class GHash {public:  GHash(GBool deleteKeysA = gFalse);  ~GHash();  void add(GString *key, void *val);  void add(GString *key, int val);  void replace(GString *key, void *val);  void replace(GString *key, int val);  void *lookup(GString *key);  int lookupInt(GString *key);  void *lookup(char *key);  int lookupInt(char *key);  void *remove(GString *key);  int removeInt(GString *key);  void *remove(char *key);  int removeInt(char *key);  int getLength() { return len; }  void startIter(GHashIter **iter);  GBool getNext(GHashIter **iter, GString **key, void **val);  GBool getNext(GHashIter **iter, GString **key, int *val);  void killIter(GHashIter **iter);private:  void expand();  GHashBucket *find(GString *key, int *h);  GHashBucket *find(char *key, int *h);  int hash(GString *key);  int hash(char *key);  GBool deleteKeys;		// set if key strings should be deleted  int size;			// number of buckets  int len;			// number of entries  GHashBucket **tab;};#define deleteGHash(hash, T)                       \  do {                                             \    GHash *_hash = (hash);                         \    {                                              \      GHashIter *_iter;                            \      GString *_key;                               \      void *_p;                                    \      _hash->startIter(&_iter);                    \      while (_hash->getNext(&_iter, &_key, &_p)) { \        delete (T*)_p;                             \      }                                            \      delete _hash;                                \    }                                              \  } while(0)#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?