xo-arena: DArenaHashMap move impl to xo::map namespace
This commit is contained in:
parent
d75458fbc9
commit
7ffb47bfc5
6 changed files with 18 additions and 16 deletions
|
|
@ -16,7 +16,7 @@
|
|||
#include <cstring>
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
namespace map {
|
||||
#ifdef NOT_YET
|
||||
enum class insert_error : int32_t {
|
||||
/** sentinel **/
|
||||
|
|
@ -654,7 +654,7 @@ namespace xo {
|
|||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} /*namespace map*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end DArenaHashMap.hpp */
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
#include <cstring>
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
namespace map {
|
||||
namespace detail {
|
||||
/** @brief 16x 8-bit control bytes.
|
||||
*
|
||||
|
|
@ -77,7 +77,7 @@ namespace xo {
|
|||
#endif
|
||||
};
|
||||
}
|
||||
} /*namespace mm*/
|
||||
} /*namespace map*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end ControlGroup.hpp */
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "hashmap/DArenaHashMapUtil.hpp"
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
namespace map {
|
||||
namespace detail {
|
||||
|
||||
template <typename Key,
|
||||
|
|
@ -76,7 +76,7 @@ namespace xo {
|
|||
};
|
||||
|
||||
}
|
||||
} /*namespace mm*/
|
||||
} /*namespace map*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end DArenaHashMapIterator.hpp */
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include <cstdint>
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
namespace map {
|
||||
/** @class DArenaHashMapUtil
|
||||
*
|
||||
* @pre
|
||||
|
|
@ -103,7 +103,7 @@ namespace xo {
|
|||
return std::make_pair(ngx, ng);;
|
||||
}
|
||||
};
|
||||
} /*namespace mm*/
|
||||
} /*namespace map*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end DArenaHashMapUtil.hpp */
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include "hashmap/ControlGroup.hpp"
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
namespace map {
|
||||
namespace detail {
|
||||
template <typename Key,
|
||||
typename Value>
|
||||
|
|
@ -17,6 +17,8 @@ namespace xo {
|
|||
public:
|
||||
using value_type = std::pair<const Key, Value>;
|
||||
using group_type = detail::ControlGroup;
|
||||
using control_vector_type = xo::mm::DArenaVector<uint8_t>;
|
||||
using slot_vector_type = xo::mm::DArenaVector<value_type>;
|
||||
|
||||
public:
|
||||
/** group_exp2: number of groups {x, 2^x} **/
|
||||
|
|
@ -26,8 +28,8 @@ namespace xo {
|
|||
n_group_exponent_{group_exp2.first},
|
||||
n_group_{group_exp2.second},
|
||||
n_slot_{group_exp2.second * c_group_size},
|
||||
control_{DArenaVector<uint8_t>::map(ArenaConfig{.size_ = control_size(n_slot_)})},
|
||||
slots_{DArenaVector<value_type>::map(ArenaConfig{.size_ = n_slot_ * sizeof(value_type)})}
|
||||
control_{control_vector_type::map(xo::mm::ArenaConfig{.size_ = control_size(n_slot_)})},
|
||||
slots_{slot_vector_type::map(xo::mm::ArenaConfig{.size_ = n_slot_ * sizeof(value_type)})}
|
||||
{
|
||||
/* here: arenas have allocated address range, but no committed memory yet */
|
||||
|
||||
|
|
@ -121,12 +123,12 @@ namespace xo {
|
|||
/** control_[] partitioned into groups of
|
||||
* c_group_size (16) consecutive elements
|
||||
**/
|
||||
DArenaVector<uint8_t> control_;
|
||||
control_vector_type control_;
|
||||
/** slots_[] holds {key,value} pairs **/
|
||||
DArenaVector<value_type> slots_;
|
||||
slot_vector_type slots_;
|
||||
};
|
||||
}
|
||||
} /*namespace mm*/
|
||||
} /*namespace map*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end HashMapStore.hpp */
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
#include <catch2/catch.hpp>
|
||||
|
||||
namespace xo {
|
||||
using xo::mm::DArenaHashMapUtil;
|
||||
using xo::mm::DArenaHashMap;
|
||||
using xo::map::DArenaHashMapUtil;
|
||||
using xo::map::DArenaHashMap;
|
||||
using xo::rng::random_seed;
|
||||
using xo::rng::xoshiro256ss;
|
||||
using utest::UtestTools;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue