clang  6.0.0svn
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 "/opt/doxygen-docs/src/llvm/tools/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. More...
 
using storage_type = const unsigned char *
 A pointer to an on-disk representation of the hash table. More...
 
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. More...
 
data_type find (const external_key_type &EKey)
 Find and read the lookup results for EKey. More...
 
data_type findAll ()
 Read all the lookup results into a single value. More...
 

Friends

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

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 41 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 51 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 52 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 49 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 44 of file MultiOnDiskHashTable.h.

◆ hash_value_type

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

Definition at line 53 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 50 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 47 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 179 of file MultiOnDiskHashTable.h.

◆ ~MultiOnDiskHashTable()

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

Definition at line 195 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 198 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 229 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 262 of file MultiOnDiskHashTable.h.

◆ operator=()

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

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


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