1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-29 22:24:26 +00:00
This commit is contained in:
J. Nick Koston
2025-10-13 19:05:26 -10:00
parent ac35c97a44
commit 45014db027
2 changed files with 6 additions and 27 deletions

View File

@@ -175,8 +175,8 @@ void MDNSComponent::compile_records_(StaticVector<MDNSService, MDNS_SERVICE_COUN
#endif
#ifdef USE_MDNS_STORE_SERVICES
// Copy to member variable if storage is enabled (verbose logging, OpenThread, or extra services)
this->services_ = services;
// Move to member variable if storage is enabled (verbose logging, OpenThread, or extra services)
this->services_ = std::move(services);
#endif
}

View File

@@ -208,32 +208,11 @@ template<typename T> class FixedVector {
~FixedVector() { cleanup_(); }
// Copy constructor - performs deep copy
FixedVector(const FixedVector &other) {
if (other.size_ > 0) {
init(other.size_);
for (size_t i = 0; i < other.size_; i++) {
push_back(other.data_[i]);
}
}
}
// Disable copy operations - use std::move() to transfer ownership
FixedVector(const FixedVector &) = delete;
FixedVector &operator=(const FixedVector &) = delete;
// Copy assignment operator - performs deep copy
FixedVector &operator=(const FixedVector &other) {
if (this != &other) {
cleanup_();
reset_();
if (other.size_ > 0) {
init(other.size_);
for (size_t i = 0; i < other.size_; i++) {
push_back(other.data_[i]);
}
}
}
return *this;
}
// Enable move semantics (allows use in move-only containers like std::vector)
// Enable move semantics
FixedVector(FixedVector &&other) noexcept : data_(other.data_), size_(other.size_), capacity_(other.capacity_) {
other.reset_();
}