mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 08:55:36 +00:00
9621c5a3d30ea91b879f2ce33f56fd009e2456de
Replace the runtime GCC-specific pointer-to-member-function comparison in has_overridden_loop() with a compile-time std::is_same_v check in a templated register_component_(). The template resolves &T::loop vs &Component::loop at compile time and passes the result to register_component_impl_(), which stores it as bit 5 in the existing component_state_ byte (zero additional RAM). This eliminates: - The non-standard -Wpmf-conversions GCC extension - The USE_HOST/CLANG_TIDY special case that incorrectly returned true for all components (putting every component in the loop list) - Runtime vtable probing during calculate_looping_components_()
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
545 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
