FastLED 3.10.8
Loading...
Searching...
No Matches

◆ insert() [6/6]

template<typename Key, typename Value, typename Less = fl::less<Key>>
fl::pair< iterator, bool > fl::flat_map< Key, Value, Less >::insert ( value_type && value)
inline

Definition at line 259 of file flat_map.h.

259 {
260 auto key = value.first;
261 auto it = lower_bound(key);
262 if (it != end() && !mLess(key, it->first) && !mLess(it->first, key)) {
263 return fl::pair<iterator, bool>(it, false); // Already exists
264 }
265 bool success = mData.insert(it, fl::move(value));
266 if (success) {
267 // After insert, find the newly inserted element
268 it = find(key);
269 return fl::pair<iterator, bool>(it, true);
270 }
271 return fl::pair<iterator, bool>(end(), false);
272 }
iterator find(const Key &key) FL_NO_EXCEPT
Definition flat_map.h:156
iterator lower_bound(const Key &key) FL_NO_EXCEPT
Definition flat_map.h:208
iterator end() FL_NO_EXCEPT
Definition flat_map.h:86
vector_type mData
Definition flat_map.h:53