From dda7b52f944a9cbcca865715fbe300dbdca8f37d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 30 Oct 2025 19:44:30 -0500 Subject: [PATCH] simplify --- esphome/components/climate/climate_traits.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/esphome/components/climate/climate_traits.h b/esphome/components/climate/climate_traits.h index 65103cdaad..cbd9d1dbf4 100644 --- a/esphome/components/climate/climate_traits.h +++ b/esphome/components/climate/climate_traits.h @@ -9,6 +9,16 @@ namespace esphome { namespace climate { +// Type aliases for climate enum bitmasks +// These replace std::set to eliminate red-black tree overhead +// For contiguous enums starting at 0, DefaultBitPolicy provides 1:1 mapping (enum value = bit position) +// Bitmask size is automatically calculated from the last enum value +using ClimateModeMask = FiniteSetMask>; +using ClimateFanModeMask = FiniteSetMask>; +using ClimateSwingModeMask = + FiniteSetMask>; +using ClimatePresetMask = FiniteSetMask>; + // Lightweight linear search for small vectors (1-20 items) of const char* pointers // Avoids std::find template overhead inline bool vector_contains(const std::vector &vec, const char *value) { @@ -28,16 +38,6 @@ inline const char *vector_find(const std::vector &vec, const char return nullptr; } -// Type aliases for climate enum bitmasks -// These replace std::set to eliminate red-black tree overhead -// For contiguous enums starting at 0, DefaultBitPolicy provides 1:1 mapping (enum value = bit position) -// Bitmask size is automatically calculated from the last enum value -using ClimateModeMask = FiniteSetMask>; -using ClimateFanModeMask = FiniteSetMask>; -using ClimateSwingModeMask = - FiniteSetMask>; -using ClimatePresetMask = FiniteSetMask>; - /** This class contains all static data for climate devices. * * All climate devices must support these features: