FastLED 3.10.6
Loading...
Searching...
No Matches

◆ bindIterator()

void fl::PixelIteratorAny::bindIterator ( )
inlineprivate

Point mPixelIterator at this object's own controller.

Every path that changes mController has to end here, because the iterator holds a raw pointer into it and nothing else fixes that up.

One PixelController<RGB> for every order. This used to hold a variant of six PixelController<EOrder> instantiations and visit it – six copies of a ~870 B vtable set plus a 127 B visit thunk each, of which a sketch uses one, measured at ~5.9 KB on an esp32dev Blink build. A colour order is a pure permutation of the three per-channel values, so the iterator applies it and the other five instantiations are never referenced (FastLED#4402).

Definition at line 115 of file pixel_iterator_any.h.

115 {
117 mPixelIterator->setColorOrder(mOrder);
118 }
PixelController< RGB > mController
fl::Optional< PixelIterator > mPixelIterator
fl::PixelIterator PixelIterator

References mController, mOrder, mPixelIterator, mRgbw, and mRgbww.

Referenced by PixelIteratorAny(), PixelIteratorAny(), PixelIteratorAny(), PixelIteratorAny(), operator=(), and operator=().

+ Here is the caller graph for this function: