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

◆ upper_bound() [1/2]

template<typename Key, typename Less = fl::less<Key>>
iterator fl::flat_set< Key, Less >::upper_bound ( const Key & key)
inline

Definition at line 155 of file flat_set.h.

155 {
156 // Binary search: find first element where key < element
157 iterator first = mData.begin();
158 size_type count = mData.size();
159
160 while (count > 0) {
161 size_type step = count / 2;
162 iterator it = first + step;
163 if (!mLess(key, *it)) {
164 first = it + 1;
165 count -= step + 1;
166 } else {
167 count = step;
168 }
169 }
170 return first;
171 }
fl::size size_type
Definition flat_set.h:28
vector_type mData
Definition flat_set.h:44
size_type count(const Key &key) const
Definition flat_set.h:110
typename vector_type::iterator iterator
Definition flat_set.h:38

References count(), mData, mLess, and fl::step().

Referenced by equal_range(), and equal_range().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: