clang  3.9.0
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 <MultiOnDiskHashTable.h>

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

Public Types

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

Public Member Functions

 MultiOnDiskHashTable ()
 
 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 31 of file MultiOnDiskHashTable.h.

Member Typedef Documentation

template<typename Info>
typedef Info::data_type clang::serialization::MultiOnDiskHashTable< Info >::data_type

Definition at line 40 of file MultiOnDiskHashTable.h.

template<typename Info>
typedef Info::data_type_builder clang::serialization::MultiOnDiskHashTable< Info >::data_type_builder

Definition at line 41 of file MultiOnDiskHashTable.h.

template<typename Info>
typedef Info::external_key_type clang::serialization::MultiOnDiskHashTable< Info >::external_key_type

Definition at line 38 of file MultiOnDiskHashTable.h.

template<typename Info>
typedef Info::file_type clang::serialization::MultiOnDiskHashTable< Info >::file_type

A handle to a file, used when overriding tables.

Definition at line 34 of file MultiOnDiskHashTable.h.

template<typename Info>
typedef unsigned clang::serialization::MultiOnDiskHashTable< Info >::hash_value_type

Definition at line 42 of file MultiOnDiskHashTable.h.

template<typename Info>
typedef Info::internal_key_type clang::serialization::MultiOnDiskHashTable< Info >::internal_key_type

Definition at line 39 of file MultiOnDiskHashTable.h.

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

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

Definition at line 36 of file MultiOnDiskHashTable.h.

Constructor & Destructor Documentation

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

Definition at line 164 of file MultiOnDiskHashTable.h.

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

Definition at line 165 of file MultiOnDiskHashTable.h.

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

Definition at line 179 of file MultiOnDiskHashTable.h.

Member Function Documentation

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

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

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

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

Definition at line 170 of file MultiOnDiskHashTable.h.

Friends And Related Function Documentation

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

The generator is permitted to read our merged table.

Definition at line 161 of file MultiOnDiskHashTable.h.


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