You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is hashable and comparable with the given tuple but cannot be constructed from its values. ");
static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is neither hashable nor comparable with the given tuple, and cannot be constructed from its values. "
1206
+
"Ensure that hud::equal and hud::hash support hud::tuple<...&&>&&, or provide a constructor for key_type that accepts the tuple elements.");
static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is hashable and comparable with the given tuple but cannot be constructed from its values. ");
1199
-
return hud::forward<key_tuple_t>(key_tuple);
1200
-
}
1201
-
else
1202
-
{
1203
-
static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is neither hashable nor comparable with the given tuple, and cannot be constructed from its values. "
1204
-
"Ensure that hud::equal and hud::hash support hud::tuple<...&&>&&, or provide a constructor for key_type that accepts the tuple elements.");
hud::pair<usize, bool> res = find_or_insert_no_construct(forward_key(hud::forward<key_tuple_t>(key_tuple), hud::make_index_sequence<hud::tuple_size_v<key_tuple_t>> {}));
1235
+
// /**
1236
+
// * If the tuple can't be used directly as a hashable/comparable key,
1237
+
// * we unpack its elements and construct a key_type from them.
1238
+
// */
1239
+
//constexpr auto forward_key = []<usize... indices_key>(
1240
+
// key_tuple_t &&key_tuple,
1241
+
// hud::index_sequence<indices_key...>
1242
+
// ) -> decltype(auto)
1243
+
//{
1244
+
// if constexpr (is_hashable_and_comparable_v<key_tuple_t>)
1245
+
// {
1246
+
// static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is hashable and comparable with the given tuple but cannot be constructed from its values. ");
1247
+
// return hud::forward<key_tuple_t>(key_tuple);
1248
+
// }
1249
+
// else
1250
+
// {
1251
+
// static_assert(hud::is_constructible_v<key_type, decltype(hud::get<indices_key>(key_tuple))...>, "key_type is neither hashable nor comparable with the given tuple, and cannot be constructed from its values. "
1252
+
// "Ensure that hud::equal and hud::hash support hud::tuple<...&&>&&, or provide a constructor for key_type that accepts the tuple elements.");
0 commit comments