ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
select_traits.h
Go to the documentation of this file.
1#pragma once
2
4#include <initializer_list>
5
6namespace esphome::select {
7
10
12 public:
13 SelectTraits() = default;
14 SelectTraits(const SelectTraits &) = delete;
16
19 void set_options_static(const char *const *options, size_t count) { this->options_.assign_static(options, count); }
21 void set_options(const SelectOptions &options) { this->set_options_copy_(options.data(), options.size()); }
22 void set_options(const std::initializer_list<const char *> &options);
24 const SelectOptions &get_options() const { return this->options_; }
25
26 protected:
27 void set_options_copy_(const char *const *options, size_t count);
28
30};
31
32} // namespace esphome::select
const T * data() const
Definition helpers.h:139
Fixed-capacity vector - sized once through init() or try_init(); push_back never reallocates This avo...
Definition helpers.h:624
void set_options(const SelectOptions &options)
Runtime lists: the pointer list is copied, as before; the strings must still outlive the select.
void set_options_static(const char *const *options, size_t count)
Codegen only: points at a table that outlives the select.
SelectTraits(const SelectTraits &)=delete
SelectTraits & operator=(const SelectTraits &)=delete
const SelectOptions & get_options() const
void set_options_copy_(const char *const *options, size_t count)
uint8_t options
unsigned count
Definition gif.cpp:51