class OnDiskChainedHashTable

Declaration

template <typename Info>
class OnDiskChainedHashTable { /* full declaration omitted */ };

Description

Provides lookup on an on disk hash table. This needs an \c 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:

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:274

Templates

Info

Method Overview

  • public static OnDiskChainedHashTable<Info> * Create(const unsigned char * Buckets, const unsigned char *const Base, const Info & InfoObj = type-parameter-0-0())
  • public OnDiskChainedHashTable<Info>(llvm::OnDiskChainedHashTable::offset_type NumBuckets, llvm::OnDiskChainedHashTable::offset_type NumEntries, const unsigned char * Buckets, const unsigned char * Base, const Info & InfoObj = type-parameter-0-0())
  • public llvm::OnDiskChainedHashTable::iterator end() const
  • public llvm::OnDiskChainedHashTable::iterator find(const llvm::OnDiskChainedHashTable::external_key_type & EKey, Info * InfoPtr = nullptr)
  • public llvm::OnDiskChainedHashTable::iterator find_hashed(const llvm::OnDiskChainedHashTable::internal_key_type & IKey, llvm::OnDiskChainedHashTable::hash_value_type KeyHash, Info * InfoPtr = nullptr)
  • public const unsigned char * getBase() const
  • public const unsigned char * getBuckets() const
  • public Info & getInfoObj()
  • public llvm::OnDiskChainedHashTable::offset_type getNumBuckets() const
  • public llvm::OnDiskChainedHashTable::offset_type getNumEntries() const
  • public bool isEmpty() const
  • public static std::pair<offset_type, offset_type> readNumBucketsAndEntries(const unsigned char *& Buckets)

Methods

static OnDiskChainedHashTable<Info>* Create(
    const unsigned char* Buckets,
    const unsigned char* const Base,
    const Info& InfoObj = type - parameter - 0 -
                          0())

Description

Create the hash table.

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:416

Parameters

const unsigned char* Buckets
is the beginning of the hash table itself, which follows the payload of entire structure. This is the value returned by OnDiskHashTableGenerator::Emit.
const unsigned char* const 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.
const Info& InfoObj = type-parameter-0-0()

OnDiskChainedHashTable<Info>(
    llvm::OnDiskChainedHashTable::offset_type
        NumBuckets,
    llvm::OnDiskChainedHashTable::offset_type
        NumEntries,
    const unsigned char* Buckets,
    const unsigned char* Base,
    const Info& InfoObj = type - parameter - 0 -
                          0())

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:289

Parameters

llvm::OnDiskChainedHashTable::offset_type NumBuckets
llvm::OnDiskChainedHashTable::offset_type NumEntries
const unsigned char* Buckets
const unsigned char* Base
const Info& InfoObj = type-parameter-0-0()

llvm::OnDiskChainedHashTable::iterator end() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:403

llvm::OnDiskChainedHashTable::iterator find(
    const llvm::OnDiskChainedHashTable::
        external_key_type& EKey,
    Info* InfoPtr = nullptr)

Description

Look up the stored data for a particular key.

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:343

Parameters

const llvm::OnDiskChainedHashTable:: external_key_type& EKey
Info* InfoPtr = nullptr

llvm::OnDiskChainedHashTable::iterator
find_hashed(
    const llvm::OnDiskChainedHashTable::
        internal_key_type& IKey,
    llvm::OnDiskChainedHashTable::hash_value_type
        KeyHash,
    Info* InfoPtr = nullptr)

Description

Look up the stored data for a particular key with a known hash.

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:350

Parameters

const llvm::OnDiskChainedHashTable:: internal_key_type& IKey
llvm::OnDiskChainedHashTable::hash_value_type KeyHash
Info* InfoPtr = nullptr

const unsigned char* getBase() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:316

const unsigned char* getBuckets() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:317

Info& getInfoObj()

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:405

llvm::OnDiskChainedHashTable::offset_type
getNumBuckets() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:314

llvm::OnDiskChainedHashTable::offset_type
getNumEntries() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:315

bool isEmpty() const

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:319

static std::pair<offset_type, offset_type>
readNumBucketsAndEntries(
    const unsigned char*& Buckets)

Description

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.

Declared at: llvm/include/llvm/Support/OnDiskHashTable.h:303

Parameters

const unsigned char*& Buckets