class MultiOnDiskHashTable
Declaration
template <typename Info>
class MultiOnDiskHashTable { /* full declaration omitted */ };
Description
A collection of on-disk hash tables, merged when relevant for performance.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:40
Templates
- Info
Member Variables
- private clang::serialization::MultiOnDiskHashTable:: TableVector Tables
- The current set of on-disk and merged tables. We manually store the opaque value of the Table because TinyPtrVector can't cope with holding a PointerUnion directly. There can be at most one MergedTable in this vector, and if present, it is the first table.
- private llvm::TinyPtrVector<file_type> PendingOverrides
- Files corresponding to overridden tables that we've not yet discarded.
Method Overview
- public MultiOnDiskHashTable<Info>()
- public MultiOnDiskHashTable<Info>(MultiOnDiskHashTable<Info> && O)
- public void add(clang::serialization::MultiOnDiskHashTable::file_type File, clang::serialization::MultiOnDiskHashTable::storage_type Data, Info InfoObj = type-parameter-0-0())
- private void clear()
- private void condense()
- public clang::serialization::MultiOnDiskHashTable::data_type find(const clang::serialization::MultiOnDiskHashTable::external_key_type & EKey)
- public clang::serialization::MultiOnDiskHashTable::data_type findAll()
- private clang::serialization::MultiOnDiskHashTable::MergedTable * getMergedTable() const
- private void removeOverriddenTables()
- private clang::serialization::MultiOnDiskHashTable::table_range tables()
- public ~MultiOnDiskHashTable<Info>()
Methods
¶MultiOnDiskHashTable<Info>()
MultiOnDiskHashTable<Info>()
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:176
¶MultiOnDiskHashTable<Info>(
MultiOnDiskHashTable<Info>&& O)
MultiOnDiskHashTable<Info>(
MultiOnDiskHashTable<Info>&& O)
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:178
Parameters
- MultiOnDiskHashTable<Info>&& O
¶void add(
clang::serialization::MultiOnDiskHashTable::
file_type File,
clang::serialization::MultiOnDiskHashTable::
storage_type Data,
Info InfoObj = type - parameter - 0 - 0())
void add(
clang::serialization::MultiOnDiskHashTable::
file_type File,
clang::serialization::MultiOnDiskHashTable::
storage_type Data,
Info InfoObj = type - parameter - 0 - 0())
Description
Add the table \p Data loaded from file \p File.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:197
Parameters
- clang::serialization::MultiOnDiskHashTable:: file_type File
- clang::serialization::MultiOnDiskHashTable:: storage_type Data
- Info InfoObj = type-parameter-0-0()
¶void clear()
void clear()
Description
Delete all our current on-disk tables.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:120
¶void condense()
void condense()
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:145
¶clang::serialization::MultiOnDiskHashTable::
data_type
find(const clang::serialization::
MultiOnDiskHashTable::
external_key_type& EKey)
clang::serialization::MultiOnDiskHashTable::
data_type
find(const clang::serialization::
MultiOnDiskHashTable::
external_key_type& EKey)
Description
Find and read the lookup results for \p EKey.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:228
Parameters
- const clang::serialization::MultiOnDiskHashTable:: external_key_type& EKey
¶clang::serialization::MultiOnDiskHashTable::
data_type
findAll()
clang::serialization::MultiOnDiskHashTable::
data_type
findAll()
Description
Read all the lookup results into a single value. This only makes sense if merging values across keys is meaningful.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:261
¶clang::serialization::MultiOnDiskHashTable::
MergedTable*
getMergedTable() const
clang::serialization::MultiOnDiskHashTable::
MergedTable*
getMergedTable() const
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:113
¶void removeOverriddenTables()
void removeOverriddenTables()
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:128
¶clang::serialization::MultiOnDiskHashTable::
table_range
tables()
clang::serialization::MultiOnDiskHashTable::
table_range
tables()
Description
The current set of on-disk tables.
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:105
¶~MultiOnDiskHashTable<Info>()
~MultiOnDiskHashTable<Info>()
Declared at: clang/lib/Serialization/MultiOnDiskHashTable.h:194