FastLED 3.9.15
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 265 of file flat_map.h.

265 {
266 auto key = value.first;
267 auto it = lower_bound(key);
268 if (it != end() && !mLess(key, it->first) && !mLess(it->first, key)) {
269 return fl::pair<iterator, bool>(it, false); // Already exists
270 }
271 bool success = mData.insert(it, fl::move(value));
272 if (success) {
273 // After insert, find the newly inserted element
274 it = find(key);
275 return fl::pair<iterator, bool>(it, true);
276 }
277 return fl::pair<iterator, bool>(end(), false);
278 }
iterator lower_bound(const Key &key) FL_NOEXCEPT
Definition flat_map.h:166
iterator end() FL_NOEXCEPT
Definition flat_map.h:84
iterator find(const Key &key) FL_NOEXCEPT
Definition flat_map.h:136
vector_type mData
Definition flat_map.h:51