clang 20.0.0git
Classes | Public Types | Public Member Functions | Friends | List of all members
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 >:
Inheritance graph
[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 178 of file MultiOnDiskHashTable.h.

◆ ~MultiOnDiskHashTable()

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

Definition at line 194 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 197 of file MultiOnDiskHashTable.h.

References clang::Data, and clang::File.

◆ 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 230 of file MultiOnDiskHashTable.h.

References clang::Result.

◆ 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 263 of file MultiOnDiskHashTable.h.

References E, and clang::Result.

◆ operator=()

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

Definition at line 184 of file MultiOnDiskHashTable.h.

Friends And Related Function Documentation

◆ 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: