lua/hash.h

38 lines
679 B
C
Raw Normal View History

1993-07-28 17:18:00 +04:00
/*
** hash.h
** hash manager for lua
** Luiz Henrique de Figueiredo - 17 Aug 90
1996-02-07 17:13:17 +03:00
** $Id: hash.h,v 2.8 1995/01/12 14:19:04 roberto Exp roberto $
1993-07-28 17:18:00 +04:00
*/
#ifndef hash_h
#define hash_h
#include "types.h"
1993-07-28 17:18:00 +04:00
typedef struct node
{
Object ref;
Object val;
} Node;
typedef struct Hash
{
struct Hash *next;
1993-07-28 17:18:00 +04:00
char mark;
Word nhash;
Word nuse;
Node *node;
1993-07-28 17:18:00 +04:00
} Hash;
1996-02-07 17:13:17 +03:00
int lua_equalObj (Object *t1, Object *t2);
Hash *lua_createarray (Word nhash);
void lua_hashmark (Hash *h);
Long lua_hashcollector (void);
Object *lua_hashget (Hash *t, Object *ref);
1993-07-28 17:18:00 +04:00
Object *lua_hashdefine (Hash *t, Object *ref);
void lua_next (void);
#endif