From 2ba33e8e631ac707239949a4580303e5ad46bc8b Mon Sep 17 00:00:00 2001 From: jerrrrycho Date: Sat, 10 Oct 2026 17:21:07 +0200 Subject: [PATCH] refactor(sonar): use transparent comparators for string-keyed maps (cpp:S6045) std::unordered_map instances and map types exposed in headers used by other modules are left as they are. Co-Authored-By: Claude Opus 5.5 --- McZapkie/Mover.cpp | 42 +++++++++++++++++++-------------------- audio/sound.cpp | 4 ++-- scripting/ladderlogic.cpp | 2 +- scripting/ladderlogic.h | 2 +- vehicle/Gauge.cpp | 2 +- world/EvLaunch.cpp | 2 +- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index 760f1fbd..e7fe3274 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -463,7 +463,7 @@ double TMoverParameters::Current(double n, double U) TMoverParameters::TMoverParameters(double VelInitial, std::string const &TypeNameInit, std::string const &NameInit, int Cab) : TypeName(TypeNameInit), Name(NameInit), CabOccupied(Cab) { WriteLog("------------------------------------------------------"); - WriteLog("init default physic values for " + NameInit + ", [" + TypeNameInit + "]"); + WriteLog("init default physic values for " + NameInit + ", [" + TypeNameInit + "]"); // BrakeLevelSet(-2); //Pascal ustawia na 0, przestawimy na odcięcie (CHK jest jeszcze nie wczytane!) iLights[0] = 0; @@ -9524,7 +9524,7 @@ void TMoverParameters::BrakeValveDecode(std::string const &Valve) { using enum TBrakeValve; - std::map valvetypes{{"W", W}, + std::map> valvetypes{{"W", W}, {"W_Lu_L", W_Lu_L}, {"W_Lu_XR", W_Lu_XR}, {"W_Lu_VI", W_Lu_VI}, @@ -10255,7 +10255,7 @@ void TMoverParameters::LoadFIZ_Param(std::string const &line) extract_value(LightPower, "LightP", line, "0"); { - std::map categories{{"train", 1}, {"road", 2}, {"unimog", 3}, {"ship", 4}, {"airplane,", 8}}; + std::map> categories{{"train", 1}, {"road", 2}, {"unimog", 3}, {"ship", 4}, {"airplane,", 8}}; std::string category; extract_value(category, "Category", line, "none"); auto lookup = categories.find(category); @@ -10267,7 +10267,7 @@ void TMoverParameters::LoadFIZ_Param(std::string const &line) } { - std::map types{ + std::map> types{ {"pseudodiesel", dt_PseudoDiesel}, {"ezt", dt_EZT}, {"dmu", dt_DMU}, @@ -10452,7 +10452,7 @@ void TMoverParameters::LoadFIZ_Brake(std::string const &line) extract_value(BrakeVVolume, "BVV", line, ""); { - std::map brakemethods{{"P10-Bg", bp_P10Bg}, {"P10-Bgu", bp_P10Bgu}, {"FR513", bp_FR513}, {"FR510", bp_FR510}, {"Cosid", bp_Cosid}, + std::map> brakemethods{{"P10-Bg", bp_P10Bg}, {"P10-Bgu", bp_P10Bgu}, {"FR513", bp_FR513}, {"FR510", bp_FR510}, {"Cosid", bp_Cosid}, {"P10yBg", bp_P10yBg}, {"P10yBgu", bp_P10yBgu}, {"Disk1", bp_D1}, {"Disk1+Mg", bp_D1 + bp_MHS}, {"Disk2", bp_D2}}; auto lookup = brakemethods.find(extract_value("BM", line)); BrakeMethod = lookup != brakemethods.end() ? lookup->second : 0; @@ -10496,7 +10496,7 @@ void TMoverParameters::LoadFIZ_Brake(std::string const &line) extract_value(HandleUnlock, "HandlePipeUnlockPos", line, "-3"); extract_value(EmergencyCutsOffHandle, "EmergencyCutsOffHandle", line, ""); { - std::map compressorpowers{ + std::map> compressorpowers{ {"Main", 0}, // 1: default, powered by converter, with manual state control {"Converter", 2}, @@ -10539,7 +10539,7 @@ void TMoverParameters::LoadFIZ_Brake(std::string const &line) void TMoverParameters::LoadFIZ_Doors(std::string const &line) { - std::map doorcontrols{ + std::map> doorcontrols{ {"Passenger", control_t::passenger}, {"AutomaticCtrl", control_t::autonomous}, {"DriverCtrl", control_t::driver}, {"Conductor", control_t::conductor}, {"Mixed", control_t::mixed}}; // opening method { @@ -10579,7 +10579,7 @@ void TMoverParameters::LoadFIZ_Doors(std::string const &line) extract_value(Doors.range, "DoorMaxShiftR", line, ""); extract_value(Doors.range_out, "DoorMaxShiftPlug", line, ""); - std::map doortypes{ + std::map> doortypes{ {"Shift", 1}, {"Rotate", 2}, {"Fold", 3}, @@ -10631,7 +10631,7 @@ void TMoverParameters::LoadFIZ_BuffCoupl(std::string const &line, int const Inde thiscoupler = &Couplers[0]; } - std::map couplertypes{ + std::map> couplertypes{ {"Automatic", TCouplerType::Automatic}, {"Screw", TCouplerType::Screw}, {"Chain", TCouplerType::Chain}, {"Bare", TCouplerType::Bare}, {"Articulated", TCouplerType::Articulated}, }; auto lookup = couplertypes.find(extract_value("CType", line)); @@ -10711,7 +10711,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) { using enum TBrakeSystem; - std::map brakesystems{{"Pneumatic", Pneumatic}, {"ElectroPneumatic", ElectroPneumatic}}; + std::map> brakesystems{{"Pneumatic", Pneumatic}, {"ElectroPneumatic", ElectroPneumatic}}; auto lookup = brakesystems.find(extract_value("BrakeSystem", line)); BrakeSystem = lookup != brakesystems.end() ? lookup->second : Individual; } @@ -10727,7 +10727,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) } // brakedelays, brakedelayflag { - std::map brakedelays{{"GPR", bdelay_G + bdelay_P + bdelay_R}, + std::map> brakedelays{{"GPR", bdelay_G + bdelay_P + bdelay_R}, {"PR", bdelay_P + bdelay_R}, {"GP", bdelay_G + bdelay_P}, {"R", bdelay_R}, @@ -10735,7 +10735,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) {"G", bdelay_G}, {"GPR+Mg", bdelay_G + bdelay_P + bdelay_R + bdelay_M}, {"PR+Mg", bdelay_P + bdelay_R + bdelay_M}}; - std::map brakedelayflags{{"R", bdelay_R}, {"P", bdelay_P}, {"G", bdelay_G}}; + std::map> brakedelayflags{{"R", bdelay_R}, {"P", bdelay_P}, {"G", bdelay_G}}; std::string brakedelay; extract_value(brakedelay, "BrakeDelays", line, ""); auto lookup = brakedelays.find(brakedelay); @@ -10745,13 +10745,13 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) } // brakeopmode { - std::map brakeopmodes{{"PN", bom_PS + bom_PN}, {"PNEP", bom_PS + bom_PN + bom_EP}, {"PNEPMED", bom_PS + bom_PN + bom_EP + bom_MED}}; + std::map> brakeopmodes{{"PN", bom_PS + bom_PN}, {"PNEP", bom_PS + bom_PN + bom_EP}, {"PNEPMED", bom_PS + bom_PN + bom_EP + bom_MED}}; auto lookup = brakeopmodes.find(extract_value("BrakeOpModes", line)); BrakeOpModes = lookup != brakeopmodes.end() ? lookup->second : 0; } // brakehandle { - std::map brakehandles{ + std::map> brakehandles{ {"FV4a", FV4a}, {"test", testH}, {"D2", D2}, {"MHZ_EN57", MHZ_EN57}, {"MHZ_K5P", MHZ_K5P}, {"MHZ_K8P", MHZ_K8P}, {"MHZ_6P", MHZ_6P}, {"M394", M394}, {"Knorr", Knorr}, {"Westinghouse", West}, {"FVel6", FVel6}, {"FVE408", FVE408}, {"St113", St113}}; @@ -10766,7 +10766,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) extract_value(Handle_OverloadPressureDecrease, "OPD", line, ""); // brakelochandle { - std::map locbrakehandles{{"FD1", FD1}, {"Knorr", Knorr}, {"Westinghouse", West}}; + std::map> locbrakehandles{{"FD1", FD1}, {"Knorr", Knorr}, {"Westinghouse", West}}; auto lookup = locbrakehandles.find(extract_value("LocBrakeHandle", line)); BrakeLocHandle = lookup != locbrakehandles.end() ? lookup->second : NoHandle; } @@ -10809,7 +10809,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) // localbrake { using enum TLocalBrake; - std::map localbrakes{{"ManualBrake", ManualBrake}, {"PneumaticBrake", PneumaticBrake}, {"HydraulicBrake", HydraulicBrake}}; + std::map> localbrakes{{"ManualBrake", ManualBrake}, {"PneumaticBrake", PneumaticBrake}, {"HydraulicBrake", HydraulicBrake}}; auto lookup = localbrakes.find(extract_value("LocalBrake", line)); LocalBrake = lookup != localbrakes.end() ? lookup->second : NoBrake; } @@ -10821,7 +10821,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) // dynamicbrake { - std::map dynamicbrakes{{"Passive", dbrake_passive}, {"Switch", dbrake_switch}, {"Reversal", dbrake_reversal}, {"Automatic", dbrake_automatic}}; + std::map> dynamicbrakes{{"Passive", dbrake_passive}, {"Switch", dbrake_switch}, {"Reversal", dbrake_reversal}, {"Automatic", dbrake_automatic}}; auto lookup = dynamicbrakes.find(extract_value("DynamicBrake", line)); DynamicBrakeType = lookup != dynamicbrakes.end() ? lookup->second : dbrake_none; extract_value(DynamicBrakeAmpmeters, "DBAM", line, ""); @@ -10894,7 +10894,7 @@ void TMoverParameters::LoadFIZ_Cntrl(std::string const &line) extract_value(shouldHoldBatteryButton, "SBBBH", line, ""); extract_value(BatteryButtonHoldTime, "BBHT", line, ""); - std::map starts{{"Disabled", start_t::disabled}, {"Manual", start_t::manual}, {"Automatic", start_t::automatic}, {"Mixed", start_t::manualwithautofallback}, + std::map> starts{{"Disabled", start_t::disabled}, {"Manual", start_t::manual}, {"Automatic", start_t::automatic}, {"Mixed", start_t::manualwithautofallback}, {"Battery", start_t::battery}, {"Converter", start_t::converter}, {"Direction", start_t::direction}}; // main circuit @@ -11671,7 +11671,7 @@ TPowerType TMoverParameters::LoadFIZ_PowerDecode(std::string const &Powertype) c { using enum TPowerType; - std::map powertypes{ + std::map> powertypes{ {"BioPower", BioPower}, {"MechPower", MechPower}, {"ElectricPower", ElectricPower}, {"SteamPower", SteamPower}}; auto lookup = powertypes.find(Powertype); return lookup != powertypes.end() ? lookup->second : NoPower; @@ -11681,7 +11681,7 @@ TPowerSource TMoverParameters::LoadFIZ_SourceDecode(std::string const &Source) c { using enum TPowerSource; - std::map powersources{{"Transducer", Transducer}, {"Generator", Generator}, + std::map> powersources{{"Transducer", Transducer}, {"Generator", Generator}, {"Accu", Accumulator}, // legacy compatibility leftover. TODO: check if we can get rid of it {"Accumulator", Accumulator}, {"CurrentCollector", CurrentCollector}, {"PowerCable", PowerCable}, {"Heater", Heater}, @@ -11694,7 +11694,7 @@ TEngineType TMoverParameters::LoadFIZ_EngineDecode(std::string const &Engine) co { using enum TEngineType; - std::map enginetypes{{"ElectricSeriesMotor", ElectricSeriesMotor}, + std::map> enginetypes{{"ElectricSeriesMotor", ElectricSeriesMotor}, {"DieselEngine", DieselEngine}, {"SteamEngine", SteamEngine}, {"WheelsDriven", WheelsDriven}, diff --git a/audio/sound.cpp b/audio/sound.cpp index 18d2d107..785b976f 100644 --- a/audio/sound.cpp +++ b/audio/sound.cpp @@ -235,7 +235,7 @@ sound_source::deserialize_mapping( cParser &Input ) { else if( key == "placement:" ) { using enum sound_placement; auto const value { Input.getToken( true, "\n\r\t ,;" ) }; - std::map const placements { + std::map> const placements { { "internal", internal }, { "engine", engine }, { "external", external }, @@ -256,7 +256,7 @@ sound_source::deserialize_mapping( cParser &Input ) { } else { // floating point properties - std::map const properties { + std::map> const properties { { "frequencyfactor:", m_frequencyfactor }, { "frequencyoffset:", m_frequencyoffset }, { "amplitudefactor:", m_amplitudefactor }, diff --git a/scripting/ladderlogic.cpp b/scripting/ladderlogic.cpp index 0534fefc..9c55101c 100644 --- a/scripting/ladderlogic.cpp +++ b/scripting/ladderlogic.cpp @@ -111,7 +111,7 @@ basic_controller::update( double const Timestep ) -> int { return run(); } -std::map const basic_controller::m_operationcodemap = { +std::map> const basic_controller::m_operationcodemap = { { "ld", opcode_e::op_ld }, { "ldi", opcode_e::op_ldi }, { "and", opcode_e::op_and }, { "ani", opcode_e::op_ani }, { "anb", opcode_e::op_anb }, { "or", opcode_e::op_or }, { "ori", opcode_e::op_ori }, { "orb", opcode_e::op_orb }, diff --git a/scripting/ladderlogic.h b/scripting/ladderlogic.h index 80266ce5..2c2152c9 100644 --- a/scripting/ladderlogic.h +++ b/scripting/ladderlogic.h @@ -116,7 +116,7 @@ private: auto element( element_handle const Element ) -> basic_element & { return m_elements[ Element - 1 ]; } // members - static std::map const m_operationcodemap; + static std::map> const m_operationcodemap; element_sequence m_elements; // collection of elements accessed by the plc program name_sequence m_elementnames; handle_sequence m_timerhandles; // indices of timer elements, timer update optimization helper diff --git a/vehicle/Gauge.cpp b/vehicle/Gauge.cpp index c5ed123b..48d351f9 100644 --- a/vehicle/Gauge.cpp +++ b/vehicle/Gauge.cpp @@ -216,7 +216,7 @@ void TGauge::Load( cParser &Parser, TDynamicObject const *Owner, double const mu } } - std::map gaugetypes { + std::map> gaugetypes { { "rot", TGaugeAnimation::gt_Rotate }, { "rotvar", TGaugeAnimation::gt_Rotate }, { "mov", TGaugeAnimation::gt_Move }, diff --git a/world/EvLaunch.cpp b/world/EvLaunch.cpp index 018a70e9..5856d9d8 100644 --- a/world/EvLaunch.cpp +++ b/world/EvLaunch.cpp @@ -66,7 +66,7 @@ bool TEventLauncher::Load(cParser *parser) } else { // this launcher may be activated by radio message - std::map messages { + std::map> messages { { "radio_call1", radio_message::call1 }, { "radio_call3", radio_message::call3 } };