clang 22.0.0git
clang::serialization::MultiOnDiskHashTable< Info > Class Template Reference

A collection of on-disk hash tables, merged when relevant for performance. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Serialization/MultiOnDiskHashTable.h"

Inheritance diagram for clang::serialization::MultiOnDiskHashTable< Info >:
[legend]

Public Types

using file_type = typename Info::file_type
 A handle to a file, used when overriding tables.
using storage_type = const unsigned char *
 A pointer to an on-disk representation of the hash table.
using external_key_type = typename Info::external_key_type
using internal_key_type = typename Info::internal_key_type
using data_type = typename Info::data_type
using data_type_builder = typename Info::data_type_builder
using hash_value_type = unsigned

Public Member Functions

 MultiOnDiskHashTable ()=default
 MultiOnDiskHashTable (MultiOnDiskHashTable &&O)
MultiOnDiskHashTableoperator= (MultiOnDiskHashTable &&O)
 ~MultiOnDiskHashTable ()
void add (file_type File, storage_type Data, Info InfoObj=Info())
 Add the table Data loaded from file File.
data_type find (const external_key_type &EKey)
 Find and read the lookup results for EKey.
data_type findAll ()
 Read all the lookup results into a single value.

Friends

template<typename ReaderInfo, typename WriterInfo>
class MultiOnDiskHashTableGenerator
 The generator is permitted to read our merged table.

Detailed Description

template<typename Info>
class clang::serialization::MultiOnDiskHashTable< Info >

A collection of on-disk hash tables, merged when relevant for performance.

Definition at line 40 of file MultiOnDiskHashTable.h.

Member Typedef Documentation

◆ data_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::data_type = typename Info::data_type

Definition at line 50 of file MultiOnDiskHashTable.h.

◆ data_type_builder

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::data_type_builder = typename Info::data_type_builder

Definition at line 51 of file MultiOnDiskHashTable.h.

◆ external_key_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::external_key_type = typename Info::external_key_type

Definition at line 48 of file MultiOnDiskHashTable.h.

◆ file_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::file_type = typename Info::file_type

A handle to a file, used when overriding tables.

Definition at line 43 of file MultiOnDiskHashTable.h.

◆ hash_value_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::hash_value_type = unsigned

Definition at line 52 of file MultiOnDiskHashTable.h.

◆ internal_key_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::internal_key_type = typename Info::internal_key_type

Definition at line 49 of file MultiOnDiskHashTable.h.

◆ storage_type

template<typename Info>
using clang::serialization::MultiOnDiskHashTable< Info >::storage_type = const unsigned char *

A pointer to an on-disk representation of the hash table.

Definition at line 46 of file MultiOnDiskHashTable.h.

Constructor & Destructor Documentation

◆ MultiOnDiskHashTable() [1/2]

template<typename Info>
clang::serialization::MultiOnDiskHashTable< Info >::MultiOnDiskHashTable ( )
default

◆ MultiOnDiskHashTable() [2/2]

template<typename Info>
clang::serialization::MultiOnDiskHashTable< Info >::MultiOnDiskHashTable ( MultiOnDiskHashTable< Info > && O)
inline

Definition at line 176 of file MultiOnDiskHashTable.h.

◆ ~MultiOnDiskHashTable()

template<typename Info>
clang::serialization::MultiOnDiskHashTable< Info >::~MultiOnDiskHashTable ( )
inline

Definition at line 192 of file MultiOnDiskHashTable.h.

Member Function Documentation

◆ add()

template<typename Info>
void clang::serialization::MultiOnDiskHashTable< Info >::add ( file_type File,
storage_type Data,
Info InfoObj = Info() )
inline

Add the table Data loaded from file File.

Definition at line 195 of file MultiOnDiskHashTable.h.

◆ find()

template<typename Info>
data_type clang::serialization::MultiOnDiskHashTable< Info >::find ( const external_key_type & EKey)
inline

Find and read the lookup results for EKey.

Definition at line 227 of file MultiOnDiskHashTable.h.

◆ findAll()

template<typename Info>
data_type clang::serialization::MultiOnDiskHashTable< Info >::findAll ( )
inline

Read all the lookup results into a single value.

This only makes sense if merging values across keys is meaningful.

Definition at line 260 of file MultiOnDiskHashTable.h.

◆ operator=()

template<typename Info>
MultiOnDiskHashTable & clang::serialization::MultiOnDiskHashTable< Info >::operator= ( MultiOnDiskHashTable< Info > && O)
inline

Definition at line 182 of file MultiOnDiskHashTable.h.

◆ MultiOnDiskHashTableGenerator

template<typename Info>
template<typename ReaderInfo, typename WriterInfo>
friend class MultiOnDiskHashTableGenerator
friend

The generator is permitted to read our merged table.

Definition at line 57 of file MultiOnDiskHashTable.h.


The documentation for this class was generated from the following file: