Lines Matching full:tables
1 //===- MultiOnDiskHashTable.h - Merged set of hash tables -------*- C++ -*-===//
12 // Multiple hash tables from different files are implicitly merged to improve
39 /// A collection of on-disk hash tables, merged when relevant for performance.
42 /// A handle to a file, used when overriding tables.
81 /// The current set of on-disk and merged tables.
86 TableVector Tables;
88 /// Files corresponding to overridden tables that we've not yet
104 /// The current set of on-disk tables.
105 table_range tables() {
106 auto Begin = Tables.begin(), End = Tables.end();
115 return Tables.empty() ? nullptr : Table::getFromOpaqueValue(*Tables.begin())
119 /// Delete all our current on-disk tables.
121 for (auto *T : tables())
125 Tables.clear();
139 Tables.erase(std::remove_if(tables().begin().getCurrent(), Tables.end(),
141 Tables.end());
150 // Read in all the tables and merge them together.
151 // FIXME: Be smarter about which tables we merge.
152 for (auto *ODT : tables()) {
171 Tables.clear();
172 Tables.push_back(Table(Merged).getOpaqueValue());
179 : Tables(std::move(O.Tables)),
181 O.Tables.clear();
188 Tables = std::move(O.Tables);
189 O.Tables.clear();
226 Tables.push_back(NewTable.getOpaqueValue());
236 if (Tables.size() > static_cast<unsigned>(Info::MaxTables))
250 for (auto *ODT : tables()) {
275 for (auto *ODT : tables()) {