#include <big_hash_map.hpp>
Public Types | |
typedef cmph_map< T > | map_type |
typedef map_type::key_type | key_type |
typedef map_type::value_type | value_type |
typedef map_type::checksum_type | checksum_type |
Public Member Functions | |
~big_hash_map () | |
bool | find (const key_type &key, value_type &value) |
bool | find (const std::string &key, char *value_buffer) |
uint64_t | size () const |
Static Public Member Functions | |
static const bfs::path | build (const bfs::path &input_dir, const bfs::path &output_dir, algorithm algo=algorithm::bdz) |
static big_hash_map * | open (const bfs::path &idx_file, util::memory_type mem) |
Static Public Attributes | |
static const std::string | index_file_name |
Private Member Functions | |
big_hash_map () | |
big_hash_map (const std::vector< map_type * > &sub_maps) | |
Static Private Member Functions | |
static uint64_t | table_size (const bfs::path &dir) |
Private Attributes | |
std::vector< map_type * > | maps_ |
uint64_t | size_ |
See external_map for any comments.
Definition at line 25 of file big_hash_map.hpp.
typedef map_type::checksum_type aitools::bighashmap::core::big_hash_map< T >::checksum_type |
Definition at line 32 of file big_hash_map.hpp.
typedef map_type::key_type aitools::bighashmap::core::big_hash_map< T >::key_type |
Definition at line 30 of file big_hash_map.hpp.
typedef cmph_map<T> aitools::bighashmap::core::big_hash_map< T >::map_type |
Definition at line 29 of file big_hash_map.hpp.
typedef map_type::value_type aitools::bighashmap::core::big_hash_map< T >::value_type |
Definition at line 31 of file big_hash_map.hpp.
aitools::bighashmap::core::big_hash_map< T >::big_hash_map | ( | ) | [inline, private] |
Definition at line 40 of file big_hash_map.hpp.
Referenced by aitools::bighashmap::core::big_hash_map< T >::open().
aitools::bighashmap::core::big_hash_map< T >::big_hash_map | ( | const std::vector< map_type * > & | sub_maps | ) | [inline, private] |
Definition at line 43 of file big_hash_map.hpp.
References aitools::bighashmap::core::big_hash_map< T >::maps_, and aitools::bighashmap::core::big_hash_map< T >::size_.
aitools::bighashmap::core::big_hash_map< T >::~big_hash_map | ( | ) | [inline] |
Definition at line 76 of file big_hash_map.hpp.
References aitools::bighashmap::core::big_hash_map< T >::maps_.
static const bfs::path aitools::bighashmap::core::big_hash_map< T >::build | ( | const bfs::path & | input_dir, | |
const bfs::path & | output_dir, | |||
algorithm | algo = algorithm::bdz | |||
) | [inline, static] |
Definition at line 87 of file big_hash_map.hpp.
bool aitools::bighashmap::core::big_hash_map< T >::find | ( | const std::string & | key, | |
char * | value_buffer | |||
) | [inline, virtual] |
Implements aitools::bighashmap::core::raw_big_hash_map.
Definition at line 134 of file big_hash_map.hpp.
References aitools::util::hash32(), and aitools::bighashmap::core::big_hash_map< T >::maps_.
bool aitools::bighashmap::core::big_hash_map< T >::find | ( | const key_type & | key, | |
value_type & | value | |||
) | [inline] |
Definition at line 127 of file big_hash_map.hpp.
References aitools::util::hash32(), and aitools::bighashmap::core::big_hash_map< T >::maps_.
static big_hash_map* aitools::bighashmap::core::big_hash_map< T >::open | ( | const bfs::path & | idx_file, | |
util::memory_type | mem | |||
) | [inline, static] |
Definition at line 94 of file big_hash_map.hpp.
References aitools::bighashmap::core::big_hash_map< T >::big_hash_map(), aitools::bighashmap::core::big_hash_map< T >::table_size(), aitools::util::throw_runtime_error(), and aitools::util::to_bytes().
uint64_t aitools::bighashmap::core::big_hash_map< T >::size | ( | ) | const [inline, virtual] |
Implements aitools::bighashmap::core::raw_big_hash_map.
Definition at line 146 of file big_hash_map.hpp.
References aitools::bighashmap::core::big_hash_map< T >::size_.
Referenced by aitools::bighashmap::core::big_hash_map< T >::table_size().
static uint64_t aitools::bighashmap::core::big_hash_map< T >::table_size | ( | const bfs::path & | dir | ) | [inline, static, private] |
Definition at line 55 of file big_hash_map.hpp.
References aitools::bighashmap::core::big_hash_map< T >::size().
Referenced by aitools::bighashmap::core::big_hash_map< T >::open().
const std::string aitools::bighashmap::core::big_hash_map< T >::index_file_name [inline, static] |
Definition at line 36 of file big_hash_map.hpp.
std::vector<map_type*> aitools::bighashmap::core::big_hash_map< T >::maps_ [private] |
Definition at line 153 of file big_hash_map.hpp.
Referenced by aitools::bighashmap::core::big_hash_map< T >::big_hash_map(), aitools::bighashmap::core::big_hash_map< T >::find(), and aitools::bighashmap::core::big_hash_map< T >::~big_hash_map().
uint64_t aitools::bighashmap::core::big_hash_map< T >::size_ [private] |
Definition at line 154 of file big_hash_map.hpp.
Referenced by aitools::bighashmap::core::big_hash_map< T >::big_hash_map(), and aitools::bighashmap::core::big_hash_map< T >::size().