libfoedus-core
FOEDUS Core Library
|
Compactly represents the route of intermediate pages to reach the given hash bin. More...
Compactly represents the route of intermediate pages to reach the given hash bin.
Like array package, kHashIntermediatePageFanout is less than 256, so we have a similar route struct. The only difference is that this is about intermediate pages (bins). Data pages have no notion of route unlike array package.
Definition at line 196 of file hash_hashinate.hpp.
#include <hash_hashinate.hpp>
Public Member Functions | |
bool | operator== (const IntermediateRoute &rhs) const |
bool | operator!= (const IntermediateRoute &rhs) const |
bool | operator< (const IntermediateRoute &rhs) const |
bool | operator<= (const IntermediateRoute &rhs) const |
HashBin | convert_back () const |
Static Public Member Functions | |
static IntermediateRoute | construct (HashBin bin) |
Calculates the rout for the given hash bin. More... | |
Public Attributes | |
uint64_t | word |
This is a 64bit data. More... | |
uint8_t | route [8] |
[0] means ordinal in level-0 intermediate page, [1] in its parent page, [2]... More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const IntermediateRoute &v) |
|
inlinestatic |
Calculates the rout for the given hash bin.
Definition at line 233 of file hash_hashinate.hpp.
References ASSERT_ND, convert_back(), foedus::storage::hash::kHashIntermediatePageFanout, route, and word.
Referenced by foedus::storage::hash::HashCombo::HashCombo(), and foedus::storage::hash::ComposedBinsMergedStream::open_path().
|
inline |
Definition at line 224 of file hash_hashinate.hpp.
References foedus::storage::hash::kHashMaxBins, and foedus::storage::hash::kHashMaxLevels.
Referenced by construct().
|
inline |
Definition at line 206 of file hash_hashinate.hpp.
References word.
|
inline |
Definition at line 207 of file hash_hashinate.hpp.
References route.
|
inline |
Definition at line 217 of file hash_hashinate.hpp.
|
inline |
Definition at line 205 of file hash_hashinate.hpp.
References word.
|
friend |
Definition at line 64 of file hash_hashinate.cpp.
uint8_t foedus::storage::hash::IntermediateRoute::route[8] |
[0] means ordinal in level-0 intermediate page, [1] in its parent page, [2]...
[levels - 1] is the ordinal in root intermediate page.
Definition at line 203 of file hash_hashinate.hpp.
Referenced by construct(), foedus::storage::hash::HashStoragePimpl::locate_bin(), foedus::storage::hash::ComposedBinsMergedStream::open_path(), operator<(), and foedus::storage::hash::operator<<().
uint64_t foedus::storage::hash::IntermediateRoute::word |
This is a 64bit data.
Definition at line 198 of file hash_hashinate.hpp.
Referenced by construct(), operator!=(), and operator==().