From b1195f622e7167dc7f533a32f44ea5a889c9503f Mon Sep 17 00:00:00 2001 From: LGM-Doyle Date: Wed, 12 Apr 2017 15:20:27 -0400 Subject: [PATCH] In Universe and Effect code flatten some lambdas used for logging. For review #1481. This trades code clarity for an unnecessary iteration over a set. --- universe/Effect.cpp | 46 ++++++++++++++---------------------------- universe/Universe.cpp | 47 ++++++++++++------------------------------- 2 files changed, 28 insertions(+), 65 deletions(-) diff --git a/universe/Effect.cpp b/universe/Effect.cpp index ff6d534fdfa..d9a80d1885b 100644 --- a/universe/Effect.cpp +++ b/universe/Effect.cpp @@ -366,14 +366,11 @@ void SetMeter::Execute(const TargetsCauses& targets_causes, AccountingMap* accou const TargetsAndCause& targets_and_cause = targets_entry.second; TargetSet targets = targets_and_cause.target_set; - DebugLogger(effects) << [&targets, this]() { - std::stringstream ss; - ss << "\n\nExecute SetMeter effect: \n" << Dump(); - ss << "SetMeter execute targets before: "; - for (std::shared_ptr target : targets) - ss << " ... " << target->Dump(); - return ss.str(); - }(); + + DebugLogger(effects) << "\n\nExecute SetMeter effect: \n" << Dump(); + DebugLogger(effects) << "SetMeter execute targets before: "; + for (std::shared_ptr target : targets) + DebugLogger(effects) << " ... " << target->Dump(); if (!accounting_map) { // without accounting, can do default batch execute @@ -419,14 +416,9 @@ void SetMeter::Execute(const TargetsCauses& targets_causes, AccountingMap* accou } } - DebugLogger(effects) << [&targets]() { - std::stringstream ss; - ss << "SetMeter execute targets after: "; - for (std::shared_ptr target : targets) { - ss << " ... " << target->Dump(); - } - return ss.str(); - }(); + DebugLogger(effects) << "SetMeter execute targets after: "; + for (std::shared_ptr target : targets) + DebugLogger(effects) << " ... " << target->Dump(); } } @@ -590,24 +582,16 @@ void SetShipPartMeter::Execute(const TargetsCauses& targets_causes, AccountingMa const TargetsAndCause& targets_and_cause = targets_entry.second; TargetSet targets = targets_and_cause.target_set; - DebugLogger(effects) << [&targets, this]() { - std::stringstream ss; - ss << "\n\nExecute SetShipPartMeter effect: \n" << Dump(); - ss << "SetShipPartMeter execute targets before: "; - for (std::shared_ptr target : targets) - ss << " ... " << target->Dump(); - return ss.str(); - }(); + DebugLogger(effects) << "\n\nExecute SetShipPartMeter effect: \n" << Dump(); + DebugLogger(effects) << "SetShipPartMeter execute targets before: "; + for (std::shared_ptr target : targets) + DebugLogger(effects) << " ... " << target->Dump(); Execute(source_context, targets); - DebugLogger(effects) << [&targets, this]() { - std::stringstream ss; - ss << "SetShipPartMeter execute targets after: "; - for (std::shared_ptr target : targets) - ss << " ... " << target->Dump(); - return ss.str(); - }(); + DebugLogger(effects) << "SetShipPartMeter execute targets after: "; + for (std::shared_ptr target : targets) + DebugLogger(effects) << " ... " << target->Dump(); } } diff --git a/universe/Universe.cpp b/universe/Universe.cpp index d31dcd902a3..df047b294db 100644 --- a/universe/Universe.cpp +++ b/universe/Universe.cpp @@ -691,14 +691,9 @@ void Universe::UpdateMeterEstimatesImpl(const std::vector& objects_vec) { } } - DebugLogger(effects) << [&object_ptrs]() { - std::stringstream ss; - ss << "UpdateMeterEstimatesImpl after resetting meters objects:"; - for (std::shared_ptr obj : object_ptrs) { - ss << obj->Dump(); - } - return ss.str(); - }(); + DebugLogger(effects) << "UpdateMeterEstimatesImpl after resetting meters objects:"; + for (std::shared_ptr obj : object_ptrs) + DebugLogger(effects) << obj->Dump(); // cache all activation and scoping condition results before applying Effects, since the application of // these Effects may affect the activation and scoping evaluations @@ -708,14 +703,9 @@ void Universe::UpdateMeterEstimatesImpl(const std::vector& objects_vec) { // Apply and record effect meter adjustments ExecuteEffects(targets_causes, do_accounting, true, false, false, false); - DebugLogger(effects) << [&object_ptrs]() { - std::stringstream ss; - ss << "UpdateMeterEstimatesImpl after executing effects objects:"; - for (std::shared_ptr obj : object_ptrs) { - ss << obj->Dump(); - } - return ss.str(); - }(); + DebugLogger(effects) << "UpdateMeterEstimatesImpl after executing effects objects:"; + for (std::shared_ptr obj : object_ptrs) + DebugLogger(effects) << obj->Dump(); // Apply known discrepancies between expected and calculated meter maxes at start of turn. This // accounts for the unknown effects on the meter, and brings the estimate in line with the actual @@ -740,7 +730,7 @@ void Universe::UpdateMeterEstimatesImpl(const std::vector& objects_vec) { if (meter) { DebugLogger(effects) << "object " << obj_id << " has meter " << type - << ": discrepancy: " << discrepancy << " and : " << meter->Dump(); + << ": discrepancy: " << discrepancy << " and : " << meter->Dump(); meter->AddToCurrent(discrepancy); @@ -763,14 +753,9 @@ void Universe::UpdateMeterEstimatesImpl(const std::vector& objects_vec) { obj->ClampMeters(); } - DebugLogger(effects) << [&object_ptrs]() { - std::stringstream ss; - ss << "UpdateMeterEstimatesImpl after discrepancies and clamping objects:"; - for (std::shared_ptr obj : object_ptrs) { - ss << obj->Dump(); - } - return ss.str(); - }(); + DebugLogger(effects) << "UpdateMeterEstimatesImpl after discrepancies and clamping objects:"; + for (std::shared_ptr obj : object_ptrs) + DebugLogger(effects) << obj->Dump(); } @@ -1057,15 +1042,9 @@ void Universe::GetEffectsAndTargets(Effect::TargetsCauses& targets_causes, // transfer target objects from input vector to a set Effect::TargetSet all_potential_targets = m_objects.FindObjects(target_objects); - DebugLogger(effects) << [&all_potential_targets]() { - std::stringstream ss; - ss << "target objects:"; - for (std::shared_ptr obj : all_potential_targets) { - ss << obj->Dump(); - } - return ss.str(); - }(); - + DebugLogger(effects) << "target objects:"; + for (std::shared_ptr obj : all_potential_targets) + DebugLogger(effects) << obj->Dump(); // caching space for each source object's results of finding matches for // scope conditions. Index INVALID_OBJECT_ID stores results for