⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gbx_hash.h

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 H
字号:
/***************************************************************************  hash.h  hash table routines, adapted from glib 1.2.8  (c) 2000-2004 Beno顃 Minisini <gambas@users.sourceforge.net>  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 1, or (at your option)  any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.***************************************************************************/#ifndef __GBX_HASH_H#define __GBX_HASH_H#include "gbx_compare.h"#define KEEP_ORDERtypedef  struct _HASH_NODE  {    struct _HASH_NODE *next;    #ifdef KEEP_ORDER    struct _HASH_NODE *snext;    struct _HASH_NODE *sprev;    #endif  }  HASH_NODE;typedef  struct  {    long size;    long nnodes;    /*guint frozen;*/    HASH_NODE **nodes;    /*GHashFunc hash_func;*/    /*GCompareFunc key_compare_func;*/    size_t s_value;    HASH_NODE *last;    int mode;    #ifdef KEEP_ORDER    HASH_NODE *sfirst;    HASH_NODE *slast;    #endif  }  HASH_TABLE;typedef  struct  {    HASH_NODE *node;    HASH_NODE *next;  }  HASH_ENUM;typedef  ulong (*HASH_FUNC)(const char *, long);typedef  bool (*HASH_COMP)(const char *, const char *, long);#define HASH_TABLE_MIN_SIZE 11#define HASH_TABLE_MAX_SIZE 13845163PUBLIC void HASH_TABLE_create(HASH_TABLE **hash, size_t s_value, int mode);PUBLIC void HASH_TABLE_delete(HASH_TABLE **hash);PUBLIC long HASH_TABLE_size(HASH_TABLE *hash_table);PUBLIC void *HASH_TABLE_lookup(HASH_TABLE *hash_table, const char *key, long len);PUBLIC void *HASH_TABLE_insert(HASH_TABLE *hash_table, const char *key, long len);PUBLIC void HASH_TABLE_remove(HASH_TABLE *hash_table, const char *key, long len);PUBLIC void *HASH_TABLE_next(HASH_TABLE *hash_table, HASH_ENUM *iter);PUBLIC bool HASH_TABLE_get_last_key(HASH_TABLE *hash_table, char **key, long *len);#endif

⌨️ 快捷键说明

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