LLVM
8.0.1
|
Provides lookup and iteration over an on disk hash table. More...
#include "llvm/Support/OnDiskHashTable.h"
Classes | |
class | data_iterator |
Iterates over all the entries in the table, returning the data. More... | |
class | key_iterator |
Iterates over all of the keys in the table. More... | |
Public Types | |
typedef OnDiskChainedHashTable< Info > | base_type |
typedef base_type::internal_key_type | internal_key_type |
typedef base_type::external_key_type | external_key_type |
typedef base_type::data_type | data_type |
typedef base_type::hash_value_type | hash_value_type |
typedef base_type::offset_type | offset_type |
Public Types inherited from llvm::OnDiskChainedHashTable< Info > | |
typedef Info | InfoType |
typedef Info::internal_key_type | internal_key_type |
typedef Info::external_key_type | external_key_type |
typedef Info::data_type | data_type |
typedef Info::hash_value_type | hash_value_type |
typedef Info::offset_type | offset_type |
Static Public Member Functions | |
static OnDiskIterableChainedHashTable * | Create (const unsigned char *Buckets, const unsigned char *const Payload, const unsigned char *const Base, const Info &InfoObj=Info()) |
Create the hash table. More... | |
Static Public Member Functions inherited from llvm::OnDiskChainedHashTable< Info > | |
static std::pair< offset_type, offset_type > | readNumBucketsAndEntries (const unsigned char *&Buckets) |
Read the number of buckets and the number of entries from a hash table produced by OnDiskHashTableGenerator::Emit, and advance the Buckets pointer past them. More... | |
static OnDiskChainedHashTable * | Create (const unsigned char *Buckets, const unsigned char *const Base, const Info &InfoObj=Info()) |
Create the hash table. More... | |
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:
Definition at line 431 of file OnDiskHashTable.h.
typedef OnDiskChainedHashTable<Info> llvm::OnDiskIterableChainedHashTable< Info >::base_type |
Definition at line 435 of file OnDiskHashTable.h.
typedef base_type::data_type llvm::OnDiskIterableChainedHashTable< Info >::data_type |
Definition at line 438 of file OnDiskHashTable.h.
typedef base_type::external_key_type llvm::OnDiskIterableChainedHashTable< Info >::external_key_type |
Definition at line 437 of file OnDiskHashTable.h.
typedef base_type::hash_value_type llvm::OnDiskIterableChainedHashTable< Info >::hash_value_type |
Definition at line 439 of file OnDiskHashTable.h.
typedef base_type::internal_key_type llvm::OnDiskIterableChainedHashTable< Info >::internal_key_type |
Definition at line 436 of file OnDiskHashTable.h.
typedef base_type::offset_type llvm::OnDiskIterableChainedHashTable< Info >::offset_type |
Definition at line 440 of file OnDiskHashTable.h.
|
inline |
Definition at line 492 of file OnDiskHashTable.h.
|
inlinestatic |
Create the hash table.
Buckets | is the beginning of the hash table itself, which follows the payload of entire structure. This is the value returned by OnDiskHashTableGenerator::Emit. |
Payload | is the beginning of the data contained in the table. This is Base plus any padding or header data that was stored, ie, the offset that the stream was at when calling Emit. |
Base | is the point from which all offsets into the structure are based. This is offset 0 in the stream that was used when Emitting the table. |
Definition at line 603 of file OnDiskHashTable.h.
References assert(), and llvm::OnDiskChainedHashTable< Info >::readNumBucketsAndEntries().
|
inline |
Definition at line 585 of file OnDiskHashTable.h.
References llvm::make_range().
|
inline |
Definition at line 580 of file OnDiskHashTable.h.
|
inline |
Definition at line 583 of file OnDiskHashTable.h.
|
inline |
Definition at line 537 of file OnDiskHashTable.h.
|
inline |
Definition at line 540 of file OnDiskHashTable.h.
|
inline |
Definition at line 542 of file OnDiskHashTable.h.
References llvm::make_range().