22template <
typename Key,
23 typename Less = fl::less<Key>>
111 return find(key) !=
end() ? 1 : 0;
127 if (
mLess(*it, key)) {
145 if (
mLess(*it, key)) {
163 if (!
mLess(key, *it)) {
181 if (!
mLess(key, *it)) {
244 template <
typename... Args>
250 template <
typename... Args>
275 fl::size
count = last - first;
278 for (fl::size i = 0; i <
count &&
pos !=
end(); ++i) {
303 mData.swap(other.mData);
325template <
typename Key,
typename Less>
332template <
typename Key,
typename Less>
335 return !(lhs == rhs);
338template <
typename Key,
typename Less>
345template <
typename Key,
typename Less>
351template <
typename Key,
typename Less>
357template <
typename Key,
typename Less>
364template <
typename Key,
typename Less>
flat_set & operator=(flat_set &&other) FL_NOEXCEPT
const_iterator find(const Key &key) const
fl::pair< iterator, bool > insert(value_type &&value)
flat_set() FL_NOEXCEPT=default
flat_set(const Less &less)
iterator emplace_hint(const_iterator hint, Args &&... args)
fl::vector< value_type > vector_type
bool contains(const Key &key) const
const value_type * const_pointer
iterator erase(const_iterator pos)
fl::pair< iterator, iterator > equal_range(const Key &key)
typename vector_type::reverse_iterator reverse_iterator
const_iterator cend() const
iterator upper_bound(const Key &key)
iterator insert(const_iterator hint, value_type &&value)
const_iterator begin() const
typename vector_type::const_reverse_iterator const_reverse_iterator
fl::pair< const_iterator, const_iterator > equal_range(const Key &key) const
const_iterator cbegin() const
iterator erase(iterator pos)
key_compare key_comp() const
void swap(flat_set &other) FL_NOEXCEPT
flat_set(flat_set &&other) FL_NOEXCEPT
flat_set(const Less &less, memory_resource *resource)
const_iterator end() const
flat_set(const flat_set &other) FL_NOEXCEPT=default
iterator insert(const_iterator hint, const value_type &value)
value_compare value_comp() const
typename vector_type::const_iterator const_iterator
size_type max_size() const
size_type count(const Key &key) const
fl::pair< iterator, bool > emplace(Args &&... args)
const_iterator lower_bound(const Key &key) const
size_type erase(const Key &key)
ptrdiff_t difference_type
const value_type & const_reference
iterator find(const Key &key)
const_reverse_iterator rend() const
const_iterator upper_bound(const Key &key) const
fl::pair< iterator, bool > insert(const value_type &value)
memory_resource * get_memory_resource() const
iterator erase(const_iterator first, const_iterator last)
void reserve(size_type n)
iterator lower_bound(const Key &key)
typename vector_type::iterator iterator
reverse_iterator rbegin()
flat_set & operator=(const flat_set &other)=default
size_type capacity() const
const_reverse_iterator rbegin() const
Polymorphic memory resource base class (PMR-style).
const value_type * const_iterator
PMR-style polymorphic memory resource for type-erased allocation.
constexpr T && forward(typename remove_reference< T >::type &t) FL_NOEXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
void swap(T &a, T &b) FL_NOEXCEPT
constexpr int type_rank< T >::value
bool lexicographical_compare(Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator!=(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if two CRGB objects do not have the same color data.
bool equal(Iterator1 first1, Iterator1 last1, Iterator2 first2) FL_NOEXCEPT
void swap(array< T, N > &lhs, array< T, N > &rhs) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator<(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is less than another.
FASTLED_FORCE_INLINE bool operator==(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if two CRGB objects have the same color data.
FASTLED_FORCE_INLINE bool operator>(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is greater than another.
FASTLED_FORCE_INLINE bool operator<=(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is less than or equal to another.
constexpr enable_if< is_fixed_point< T >::value, T >::type step(T edge, T x) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator>=(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is greater than or equal to another.
Base definition for an LED controller.
Binary function object that returns whether the first argument is less than the second.