#include "fiko/parametre/tasarim_tablosu.hpp" #include namespace fiko::parametre { void TasarimTablosu::ekle(Konfigurasyon k) { for (Konfigurasyon& mevcut : konfigler_) { if (mevcut.ad == k.ad) { mevcut.degerler = std::move(k.degerler); return; } } konfigler_.push_back(std::move(k)); } void TasarimTablosu::sil(const std::string& ad) { std::erase_if(konfigler_, [&](const Konfigurasyon& k) { return k.ad == ad; }); if (aktif_ == ad) aktif_.clear(); } const Konfigurasyon* TasarimTablosu::bul(const std::string& ad) const { for (const Konfigurasyon& k : konfigler_) if (k.ad == ad) return &k; return nullptr; } bool TasarimTablosu::uygula(const std::string& konfigAd, ParametreDeposu& depo) { const Konfigurasyon* k = bul(konfigAd); if (!k) return false; for (const auto& [ad, ifade] : k->degerler) depo.ayarla(ad, ifade); const bool ok = depo.cozumle(); if (ok) aktif_ = konfigAd; return ok; } } // namespace fiko::parametre