summaryrefslogtreecommitdiff
path: root/stringmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'stringmap.h')
-rw-r--r--stringmap.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/stringmap.h b/stringmap.h
new file mode 100644
index 0000000..8a5d9da
--- /dev/null
+++ b/stringmap.h
@@ -0,0 +1,33 @@
+/*
+ * stringmap.h:
+ * map of strings
+ *
+ * Copyright (c) 2001 Chris Lightfoot. All rights reserved.
+ *
+ * $Id: stringmap.h,v 1.1 2003/10/19 06:44:33 pdw Exp $
+ *
+ */
+
+#ifndef __STRINGMAP_H_ /* include guard */
+#define __STRINGMAP_H_
+
+#include "vector.h"
+
+typedef struct _stringmap {
+ char *key;
+ item d;
+ struct _stringmap *l, *g;
+} *stringmap;
+
+stringmap stringmap_new(void);
+void stringmap_delete(stringmap);
+void stringmap_delete_free(stringmap);
+
+/* Try to insert an item into a stringmap, returning 1 if the map already
+ * contained an item with that key.
+ */
+item *stringmap_insert(stringmap, const char*, const item);
+/* Find an item in a stringmap */
+stringmap stringmap_find(const stringmap, const char*);
+
+#endif /* __STRINGMAP_H_ */