summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu/intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c/gu/intern.h')
-rw-r--r--src/runtime/c/gu/intern.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/runtime/c/gu/intern.h b/src/runtime/c/gu/intern.h
new file mode 100644
index 000000000..bf9e9b321
--- /dev/null
+++ b/src/runtime/c/gu/intern.h
@@ -0,0 +1,24 @@
+#ifndef GU_INTERN_H_
+#define GU_INTERN_H_
+
+#include <gu/map.h>
+#include <gu/str.h>
+#include <gu/string.h>
+
+typedef struct GuIntern GuIntern;
+
+GuIntern* gu_new_intern(GuPool* str_pool, GuPool* pool);
+const char* gu_intern_str(GuIntern* intern, const char* cstr);
+
+
+typedef struct GuSymTable GuSymTable;
+
+typedef GuString GuSymbol;
+
+GuSymTable*
+gu_new_symtable(GuPool* sym_pool, GuPool* pool);
+
+GuSymbol
+gu_symtable_intern(GuSymTable* symtab, GuString string);
+
+#endif /* GU_INTERN_H_ */