LLVM: llvm::OnDiskIterableChainedHashTable< Info > Class Template Reference (original) (raw)
template<typename Info>
class llvm::OnDiskIterableChainedHashTable< Info >
Provides lookup and iteration over an on disk hash table.
This needs an Info that handles reading values from the hash table's payload and computes the hash for a given key. This should provide the following interface:
class ExampleLookupInfo {
public:
typedef ExampleData data_type;
typedef ExampleInternalKey internal_key_type;
typedef ExampleKey external_key_type;
typedef uint32_t hash_value_type;
typedef uint32_t offset_type;
static bool EqualKey(internal_key_type &Key1, internal_key_type &Key2);
static const internal_key_type &GetInternalKey(external_key_type &EKey);
static std::pair<offset_type, offset_type>
ReadKeyDataLength(const unsigned char *&Buffer);
const internal_key_type &ReadKey(const unsigned char *Buffer,
offset_type KeyLen);
data_type ReadData(StringRef Key, const unsigned char *Buffer,
offset_type DataLen);
};
uint64_t ComputeHash(const FunctionSummary *FS, unsigned I)
typename base_type::hash_value_type hash_value_type
typename base_type::data_type data_type
typename base_type::internal_key_type internal_key_type
typename base_type::offset_type offset_type
typename base_type::external_key_type external_key_type
StringRef - Represent a constant reference to a string, i.e.
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key
Definition at line 434 of file OnDiskHashTable.h.