25 void play(
const Ts &...
x)
override {
40 void play(
const Ts &...
x)
override {
56 void
play(const Ts &...
x)
override {
59 if (this->cycle_.has_value()) {
60 call.with_cycle(this->cycle_.value(x...));
73 bool check(
const Ts &...
x)
override {
75 for (
size_t i = 0; i != N; i++) {
virtual void play(const Ts &...x)=0
Base class for all automation conditions.
StringRef is a reference to a string owned by something else.
void trigger(const Ts &...x)
SelectCall & with_operation(SelectOperation operation)
SelectCall & set_index(size_t index)
SelectCall & set_option(const char *option, size_t len)
Base-class for all selects.
const char * option_at(size_t index) const
Return the option value at the provided index offset (as const char* from flash).
SelectCall make_call()
Instantiate a SelectCall object to modify this select component's state.
void add_on_state_callback(std::function< void(size_t)> &&callback)
StringRef current_option() const
Return the currently selected option, or empty StringRef if no state.
SelectIsCondition(Select *parent, std::function< bool(const StringRef &, const Ts &...)> &&f)
bool check(const Ts &...x) override
std::function< bool(const StringRef &, const Ts &...)> f_
bool check(const Ts &...x) override
const char *const * option_list_
SelectIsCondition(Select *parent, const char *const *option_list)
TEMPLATABLE_VALUE(bool, cycle) TEMPLATABLE_VALUE(SelectOperation
SelectOperationAction(Select *select)
operation void play(const Ts &...x) override
SelectSetAction(Select *select)
TEMPLATABLE_VALUE(std::string, option) void play(const Ts &...x) override
SelectSetIndexAction(Select *select)
TEMPLATABLE_VALUE(size_t, index) void play(const Ts &...x) override
SelectStateTrigger(Select *parent)