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

◆ operator=() [1/3]

template<typename Key, typename T, typename Hash = Hash<Key>, typename KeyEqual = EqualTo<Key>, int INLINED_COUNT = FASTLED_HASHMAP_INLINED_COUNT>
unordered_map & fl::unordered_map< Key, T, Hash, KeyEqual, INLINED_COUNT >::operator= ( const unordered_map< Key, T, Hash, KeyEqual, INLINED_COUNT > & other)
inline

Definition at line 124 of file unordered_map.h.

124 {
125 if (this != &other) {
126 // Clear current content
127 clear();
128
129 // Resize if necessary
130 if (_buckets.size() != other._buckets.size()) {
131 _buckets.clear();
132 _buckets.assign(other._buckets.size(), Entry{});
133 _occupied.reset();
134 _occupied.resize(other._buckets.size());
135 _deleted.reset();
136 _deleted.resize(other._buckets.size());
137 }
138
139 // Copy all occupied entries
140 for (fl::size i = 0; i < other._buckets.size(); ++i) {
141 if (other.is_occupied(i)) {
144 ++_size;
145 }
146 }
147
149 _hash = other._hash;
151 }
152 return *this;
153 }
fl::bitset< 1024 > _occupied
void mark_occupied(fl::size idx)
fl::vector_inlined< Entry, INLINED_COUNT > _buckets
bool is_occupied(fl::size idx) const
fl::bitset< 1024 > _deleted