StringTable

Namespace: SnowBank.Text · class

Implements: IDisposable

This is basically a lossy cache of strings that is searchable by strings, string sub ranges, character array ranges or string-builder.

Methods

Add

string Add(ReadOnlySpan<byte> text)

Adds a text string to the table, from bytes encoded in UTF8 (or ASCII)

Returns: Corresponding text string.

string Add(string chars)

string Add(StringBuilder chars)

string Add(int hashCode, ReadOnlySpan<byte> text)

Adds a text string to the table, from bytes encoded in UTF8 (or ASCII) and an already-computed HashCode

Returns: Corresponding text string.

string Add(ReadOnlySpan<char> chars, string original = null)

string Add(int hashCode, string chars)

string Add(int hashCode, StringBuilder chars)

string Add(int hashCode, ReadOnlySpan<char> chars, string original = null)

string Add(char[] chars, int start, int len)

AddAscii

string AddAscii(int hashCode, ReadOnlySpan<byte> ascii)

AddUtf8

string AddUtf8(int hashCode, ReadOnlySpan<byte> utf8)

Dispose

void Dispose()

GetInstance

static StringTable GetInstance()