1/* This may look like C code, but it is really -*- C++ -*- */ 2 3/* Hash table used to check for duplicate keyword entries. 4
| 1/* This may look like C code, but it is really -*- C++ -*- */ 2 3/* Hash table used to check for duplicate keyword entries. 4
|
5 Copyright (C) 1989-1998 Free Software Foundation, Inc.
| 5 Copyright (C) 1989-1998, 2000 Free Software Foundation, Inc.
|
6 written by Douglas C. Schmidt (schmidt@ics.uci.edu) 7 8This file is part of GNU GPERF. 9 10GNU GPERF is free software; you can redistribute it and/or modify 11it under the terms of the GNU General Public License as published by 12the Free Software Foundation; either version 1, or (at your option) 13any later version. 14 15GNU GPERF is distributed in the hope that it will be useful, 16but WITHOUT ANY WARRANTY; without even the implied warranty of 17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18GNU General Public License for more details. 19 20You should have received a copy of the GNU General Public License 21along with GNU GPERF; see the file COPYING. If not, write to the Free 22Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ 23 24#ifndef hash_table_h 25#define hash_table_h 1 26 27#include "list-node.h" 28 29class Hash_Table 30{ 31private: 32 List_Node **table; /* Vector of pointers to linked lists of List_Node's. */ 33 int size; /* Size of the vector. */ 34 int collisions; /* Find out how well our double hashing is working! */
| 6 written by Douglas C. Schmidt (schmidt@ics.uci.edu) 7 8This file is part of GNU GPERF. 9 10GNU GPERF is free software; you can redistribute it and/or modify 11it under the terms of the GNU General Public License as published by 12the Free Software Foundation; either version 1, or (at your option) 13any later version. 14 15GNU GPERF is distributed in the hope that it will be useful, 16but WITHOUT ANY WARRANTY; without even the implied warranty of 17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18GNU General Public License for more details. 19 20You should have received a copy of the GNU General Public License 21along with GNU GPERF; see the file COPYING. If not, write to the Free 22Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ 23 24#ifndef hash_table_h 25#define hash_table_h 1 26 27#include "list-node.h" 28 29class Hash_Table 30{ 31private: 32 List_Node **table; /* Vector of pointers to linked lists of List_Node's. */ 33 int size; /* Size of the vector. */ 34 int collisions; /* Find out how well our double hashing is working! */
|
| 35 int ignore_length;
|
35 36public:
| 36 37public:
|
37 Hash_Table (List_Node **t, int s);
| 38 Hash_Table (List_Node **t, int s, int ignore_len);
|
38 ~Hash_Table (void);
| 39 ~Hash_Table (void);
|
39 List_Node *operator () (List_Node *item, int ignore_length);
| 40 List_Node *insert (List_Node *item);
|
40}; 41 42#endif
| 41}; 42 43#endif
|