Hash table with fast lock free reads, that only supports insertion of items, and no modification of values. KeyType must be an integer. EntryType should be a POD with an identifiable "empty" state that can't occur in the table, and include the following member functions: KeyType GetKey() const; // Get the key from EntryType ValueType GetValue() const; // Get the value from EntryType bool IsEmpty() const; // Query whether EntryType is empty void SetKeyValue(KeyType Key, ValueType Value); // Write key and value into EntryType (ATOMICALLY! See below) static uint32 KeyHash(KeyType Key); // Convert Key to more well distributed hash static void ClearEntries(EntryType* Entries, int32 EntryCount); // Fill an array of entries with empty values