Skip to content

Commit ca41a19

Browse files
author
Julian LALU
committed
Update piecewise construction for pair and tuple
Add hashset test
1 parent 59566b0 commit ca41a19

File tree

5 files changed

+2688
-86
lines changed

5 files changed

+2688
-86
lines changed

core.vscode.code-workspace

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
],
77
"settings": {
88
"editor.renderWhitespace": "boundary",
9-
"editor.fontSize": 10,
10-
"terminal.integrated.fontSize": 10,
9+
"editor.fontSize": 12,
10+
"terminal.integrated.fontSize": 12,
1111
"cmake.buildDirectory": "${workspaceFolder}/target",
1212
"cmake.configureOnEdit": false,
1313
"C_Cpp.autoAddFileAssociations": false,

interface/core/containers/hashmap.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ namespace hud
240240
/** hashmap_storage with other key or value can access private members of hashmap_storage. */
241241
template<typename u_key_t, typename u_value_t>
242242
friend class hashmap_storage;
243+
243244
/** Only the slot can move construct storage. */
244245
template<typename u_storage>
245246
friend struct slot;
@@ -289,7 +290,6 @@ namespace hud
289290
using value_type = typename storage_type::value_type;
290291

291292
/** Inherit constructors and methods from the base class. */
292-
// using super::add;
293293
using super::reserve;
294294
using super::super;
295295
using typename super::allocator_type;
@@ -367,7 +367,7 @@ namespace hud
367367
template<typename u_key_t = key_t, typename u_value_t = value_t>
368368
constexpr iterator add(hud::pair<u_key_t, u_value_t> &&pair) noexcept
369369
{
370-
return super::add(hud::forward<u_key_t &&>(pair.first), hud::forward<u_value_t &&>(pair.second));
370+
return super::add_impl(hud::forward<u_key_t &&>(pair.first), hud::forward<u_value_t &&>(pair.second));
371371
}
372372

373373
/**
@@ -380,7 +380,7 @@ namespace hud
380380
constexpr iterator add(u_key_t &&key, u_value_t &&value) noexcept
381381
requires(hud::is_constructible_v<storage_type, u_key_t, u_value_t>)
382382
{
383-
return super::add(hud::forward<u_key_t>(key), hud::forward<u_value_t>(value));
383+
return super::add_impl(hud::forward<u_key_t>(key), hud::forward<u_value_t>(value));
384384
}
385385

386386
/**
@@ -404,13 +404,13 @@ namespace hud
404404
template<typename key_tuple_t, typename value_tuple_t>
405405
constexpr iterator add(hud::tag_piecewise_construct_t, key_tuple_t &&key_tuple, value_tuple_t &&value_tuple) noexcept
406406
{
407-
return super::add(hud::tag_piecewise_construct, hud::forward<key_tuple_t>(key_tuple), hud::forward<value_tuple_t>(value_tuple));
407+
return super::add_impl(hud::tag_piecewise_construct, hud::forward<key_tuple_t>(key_tuple), hud::forward<value_tuple_t>(value_tuple));
408408
}
409409

410410
template<typename KeyArgs>
411411
constexpr value_type &operator[](KeyArgs &&args) noexcept
412412
{
413-
iterator it = super::add(hud::forward<KeyArgs>(args));
413+
iterator it = super::add_impl(hud::forward<KeyArgs>(args));
414414
return it->value();
415415
}
416416
};

0 commit comments

Comments
 (0)