This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Replace sv_catsv_mg and sv_catpvn_mg, and move the obsolete bodies to
[perl5.git] / NetWare / nwhashcls.h
CommitLineData
011f1a1a
JH
1
2/*
3 * Copyright © 2001 Novell, Inc. All Rights Reserved.
4 *
5 * You may distribute under the terms of either the GNU General Public
6 * License or the Artistic License, as specified in the README file.
7 *
8 */
9
10/*
11 * FILENAME : nwhashcls.h
12 * DESCRIPTION : Equivalent of Hash class
13 *
14 * Author : Srivathsa M
15 * Date Created : July 26 2001
16 */
17#include <stdio.h>
18#include <conio.h>
19#include <process.h>
20
21#define BUCKET_SIZE 37
22
23struct HASHNODE
24{
25 void *data;
26 struct HASHNODE *next;
27};
28
29typedef void (*HASHFORALLFUN)(void *, void *);
30
31class NWPerlHashList
32{
33private:
34 HASHNODE* MemListHash[BUCKET_SIZE];
35 void removeAll() const;
36
37public:
38 ~NWPerlHashList();
39 NWPerlHashList();
40 int insert(void *lData);
41 int remove(void *lData);
42 void forAll( void (*)(void *, void*), void * ) const;
43};
44
45struct KEYHASHNODE
46{
47 void *key;
48 void *data;
49 KEYHASHNODE *next;
50};
51
52/**
53typedef void (*KEYHASHFORALLFUN)(void *, void *);
54
55class NWPerlKeyHashList
56{
57private:
58 KEYHASHNODE* MemListHash[BUCKET_SIZE];
59 void removeAll() const;
60
61public:
62 ~NWPerlKeyHashList();
63 NWPerlKeyHashList();
64 int insert(void *key, void *lData);
65 int remove(void *key);
66 void forAll( void (*)(void *, void*), void * ) const;
67 int find(void *key, void **pData);
68};
69**/
70
71//#define DEBUG_HASH 1
72
73#ifdef DEBUG_HASH
74#define DEBUGPRINT ConsolePrintf
75#else
76#define DEBUGPRINT
77#endif
78
79