FastLED
3.10.9
Loading...
Searching...
No Matches
◆
insert_or_assign()
[2/2]
template<typename
Key
, typename T, typename
Hash
= Hash<Key>, typename KeyEqual = EqualTo<Key>, int INLINED_COUNT = FASTLED_HASHMAP_INLINED_COUNT>
pair
<
iterator
, bool >
fl::unordered_map
<
Key
, T,
Hash
, KeyEqual, INLINED_COUNT >::insert_or_assign
(
Key
&&
key
,
T &&
value
)
inline
Definition at line
443
of file
unordered_map.h
.
443
{
444
const
bool
will_rehash
=
needs_rehash
();
445
if
(
will_rehash
) {
446
if
(
_tombstones
>
_size
) {
447
rehash_inline_no_resize
();
448
}
else
{
449
rehash_internal
(
_buckets
.size() * 2);
450
}
451
}
452
fl::size
idx
;
453
bool
is_new
;
454
fl::pair<fl::size, bool>
p
=
find_slot
(
key
);
455
idx
=
p
.first;
456
is_new
=
p
.second;
457
if
(
is_new
) {
458
_buckets
[
idx
].key =
fl::move
(
key
);
459
_buckets
[
idx
].value =
fl::move
(
value
);
460
mark_occupied
(
idx
);
461
++
_size
;
462
}
else
{
463
FASTLED_ASSERT
(
idx
!=
npos
(),
"unordered_map::insert_or_assign: invalid index"
);
464
_buckets
[
idx
].value =
fl::move
(
value
);
465
}
466
return
{
iterator
(
this
,
idx
),
is_new
};
467
}
fl::unordered_map::rehash_internal
void rehash_internal(fl::size new_cap) FL_NO_EXCEPT
Definition
unordered_map.h:916
fl::unordered_map::needs_rehash
bool needs_rehash() const FL_NO_EXCEPT
Definition
unordered_map.h:321
fl::unordered_map::npos
static fl::size npos() FL_NO_EXCEPT
Definition
unordered_map.h:805
fl::unordered_map::_buckets
fl::vector_inlined< Entry, INLINED_COUNT > _buckets
Definition
unordered_map.h:1078
fl::unordered_map::_size
fl::size _size
Definition
unordered_map.h:1079
fl::unordered_map::mark_occupied
void mark_occupied(fl::size idx) FL_NO_EXCEPT
Definition
unordered_map.h:818
fl::unordered_map::rehash_inline_no_resize
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_NULL_DEREFERENCE void rehash_inline_no_resize() FL_NO_EXCEPT
Definition
unordered_map.h:972
fl::unordered_map::find_slot
pair< fl::size, bool > find_slot(const Key &key) const FL_NO_EXCEPT
Definition
unordered_map.h:850
fl::unordered_map::_tombstones
fl::size _tombstones
Definition
unordered_map.h:1080
fl::unordered_map
Definition
unordered_map.h:61
fl::fl::adl_barrier::move
constexpr remove_reference< T >::type && move(T &&t) FL_NO_EXCEPT
Definition
s16x16x4.h:30
fl::unordered_map::iterator
Definition
unordered_map.h:190
fl
unordered_map
Generated on Mon Nov 2 2026 09:25:25 for FastLED by
1.13.2