enum class EffectID { OFF, STATIC, CIRCULAR, CIRCLE_WAVE, COLOR_FADE, RAINBOW_FADE, }; template class AbstractEffect { public: virtual int operator()(TLedStrip &s) = 0; };