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

◆ flip() [1/2]

FL_DISABLE_WARNING_POP void fl::bitset_dynamic::flip ( )
inline

Definition at line 224 of file bitset_dynamic.h.

224 {
225 if (!_blocks) return;
226
227 for (fl::u32 i = 0; i < _block_count; ++i) {
228 _blocks[i] = ~_blocks[i];
229 }
230
231 // Clear any bits beyond size
232 if (_block_count > 0 && _size % bits_per_block != 0) {
233 fl::u32 last_block_idx = (_size - 1) / bits_per_block;
234 fl::u32 last_bit_pos = (_size - 1) % bits_per_block;
235 block_type mask =
236 static_cast<block_type>((static_cast<block_type>(1) << (last_bit_pos + 1)) - 1);
237 _blocks[last_block_idx] &= mask;
238 }
239 }
fl::unique_ptr< block_type[]> _blocks
static constexpr fl::u32 bits_per_block

References _block_count, _blocks, _size, bits_per_block, and FL_NOEXCEPT.