FastLED 3.9.15
Loading...
Searching...
No Matches

◆ insert_or_assign() [4/4]

template<typename Key, typename Value, typename Compare = less<Key>, typename Allocator = allocator_slab<char>>
template<typename M>
fl::pair< iterator, bool > fl::MapRedBlackTree< Key, Value, Compare, Allocator >::insert_or_assign ( Key && key,
M && obj )
inline

Definition at line 1212 of file rbtree.h.

1212 {
1213 auto it = mTree.find(value_type(key, Value()));
1214 if (it != mTree.end()) {
1215 // Key exists, assign new value
1216 it->second = fl::forward<M>(obj);
1217 return fl::pair<iterator, bool>(it, false);
1218 } else {
1219 // Key doesn't exist, insert with moved key
1220 return mTree.insert(value_type(fl::move(key), fl::forward<M>(obj)));
1221 }
1222 }
fl::pair< Key, Value > value_type
Definition rbtree.h:1002
constexpr T && forward(typename remove_reference< T >::type &t) FL_NOEXCEPT
Definition s16x16x4.h:234