aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/root/stringtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/root/stringtable.h')
-rw-r--r--gcc/d/dmd/root/stringtable.h56
1 files changed, 0 insertions, 56 deletions
diff --git a/gcc/d/dmd/root/stringtable.h b/gcc/d/dmd/root/stringtable.h
deleted file mode 100644
index 51304d3..0000000
--- a/gcc/d/dmd/root/stringtable.h
+++ /dev/null
@@ -1,56 +0,0 @@
-
-/* Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved
- * http://www.digitalmars.com
- * Distributed under the Boost Software License, Version 1.0.
- * http://www.boost.org/LICENSE_1_0.txt
- * https://github.com/dlang/dmd/blob/master/src/dmd/root/stringtable.h
- */
-
-#pragma once
-
-#include "root.h"
-
-struct StringEntry;
-
-// StringValue is a variable-length structure. It has neither proper c'tors nor a
-// factory method because the only thing which should be creating these is StringTable.
-struct StringValue
-{
- void *ptrvalue;
- size_t length;
- char *lstring() { return (char *)(this + 1); }
-
- size_t len() const { return length; }
- const char *toDchars() const { return (const char *)(this + 1); }
-
- StringValue(); // not constructible
-};
-
-struct StringTable
-{
-private:
- StringEntry *table;
- size_t tabledim;
-
- uint8_t **pools;
- size_t npools;
- size_t nfill;
-
- size_t count;
-
-public:
- void _init(size_t size = 0);
- void reset(size_t size = 0);
- ~StringTable();
-
- StringValue *lookup(const char *s, size_t len);
- StringValue *insert(const char *s, size_t len, void *ptrvalue);
- StringValue *update(const char *s, size_t len);
- int apply(int (*fp)(StringValue *));
-
-private:
- uint32_t allocValue(const char *p, size_t length, void *ptrvalue);
- StringValue *getValue(uint32_t validx);
- size_t findSlot(hash_t hash, const char *s, size_t len);
- void grow();
-};