From ca382018b7a9b5b744f0669bf1442a30ead63c15 Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Sat, 2 Apr 2016 03:02:13 -0400 Subject: [PATCH] BOOST_FOREACH -> range for --- src/about.cpp | 21 ++- src/actions/attack.cpp | 2 - src/actions/create.cpp | 5 +- src/actions/heal.cpp | 10 +- src/actions/move.cpp | 5 +- src/actions/undo.cpp | 5 +- src/actions/undo_action.cpp | 7 +- src/actions/unit_creator.cpp | 3 +- src/actions/vision.cpp | 22 ++- src/addon/info.cpp | 13 +- src/addon/manager.cpp | 6 +- src/addon/manager_ui.cpp | 29 ++-- src/addon/validation.cpp | 6 +- src/ai/composite/ai.cpp | 11 +- src/ai/composite/aspect.hpp | 10 +- src/ai/composite/component.cpp | 7 +- src/ai/composite/goal.cpp | 13 +- src/ai/composite/property_handler.hpp | 13 +- src/ai/configuration.cpp | 24 ++- src/ai/contexts.cpp | 21 ++- src/ai/default/ca.cpp | 24 ++- src/ai/default/recruitment.cpp | 143 +++++++++--------- src/ai/default/recruitment.hpp | 7 +- src/ai/default/stage_rca.cpp | 9 +- src/ai/formula/ai.cpp | 12 +- src/ai/formula/candidates.cpp | 4 +- src/ai/formula/function_table.cpp | 12 +- src/ai/manager.cpp | 9 +- src/arrow.cpp | 4 +- src/campaign_server/addon_utils.cpp | 2 - src/campaign_server/blacklist.cpp | 2 - src/campaign_server/campaign_server.cpp | 1 - src/carryover.cpp | 26 ++-- src/commandline_options.cpp | 9 +- src/config.cpp | 69 +++++---- src/config_cache.cpp | 13 +- src/controller_base.cpp | 6 +- src/dialogs.cpp | 21 ++- src/display.cpp | 54 ++++--- src/display_chat_manager.cpp | 3 +- src/display_context.cpp | 12 +- src/editor/action/action.cpp | 16 +- src/editor/action/action_select.cpp | 14 +- src/editor/controller/editor_controller.cpp | 11 +- src/editor/editor_preferences.cpp | 6 +- src/editor/map/context_manager.cpp | 22 ++- src/editor/map/editor_map.cpp | 5 +- src/editor/map/map_context.cpp | 19 ++- src/editor/map/map_fragment.cpp | 26 ++-- src/editor/palette/editor_palettes.cpp | 6 +- src/editor/palette/editor_palettes.hpp | 4 +- src/editor/palette/item_palette.cpp | 5 +- src/editor/palette/palette_manager.cpp | 3 +- src/editor/palette/terrain_palettes.cpp | 10 +- src/editor/palette/unit_palette.cpp | 6 +- src/editor/toolkit/brush.cpp | 8 +- src/editor/toolkit/editor_toolkit.cpp | 10 +- src/filesystem_boost.cpp | 9 +- src/font.cpp | 19 ++- src/formula/formula.cpp | 12 +- src/formula/function.cpp | 9 +- src/game_board.cpp | 19 ++- src/game_config.cpp | 10 +- src/game_config_manager.cpp | 43 +++--- src/game_display.cpp | 7 +- src/game_events/action_wml.cpp | 20 +-- src/game_events/conditional_wml.cpp | 5 +- src/game_events/handlers.cpp | 1 - src/game_events/manager.cpp | 9 +- src/game_events/manager_impl.cpp | 5 +- src/game_events/pump.cpp | 15 +- src/game_events/wmi_container.cpp | 10 +- src/game_initialization/configure_engine.cpp | 5 +- src/game_initialization/connect_engine.cpp | 89 +++++------ src/game_initialization/create_engine.cpp | 71 ++++----- src/game_initialization/flg_manager.cpp | 30 ++-- src/game_initialization/mp_game_utils.cpp | 2 - src/game_initialization/mp_options.cpp | 44 +++--- src/game_initialization/multiplayer.cpp | 3 +- .../multiplayer_configure.cpp | 1 - .../multiplayer_connect.cpp | 17 +-- .../multiplayer_create.cpp | 7 +- src/game_initialization/multiplayer_lobby.cpp | 20 ++- src/game_initialization/multiplayer_ui.cpp | 8 +- src/game_initialization/multiplayer_wait.cpp | 13 +- src/game_initialization/playcampaign.cpp | 6 +- src/game_launcher.cpp | 5 +- src/game_preferences.cpp | 23 ++- src/game_state.cpp | 9 +- src/generators/cave_map_generator.cpp | 7 +- src/generators/default_map_generator_job.cpp | 5 +- src/generators/lua_map_generator.cpp | 4 +- src/gettext_boost.cpp | 3 +- src/gui/dialogs/advanced_graphics_options.cpp | 5 +- .../dialogs/editor/set_starting_position.cpp | 1 - src/gui/dialogs/lobby/lobby.cpp | 1 - .../dialogs/multiplayer/mp_alerts_options.cpp | 5 +- src/gui/widgets/grid_private.hpp | 6 +- src/gui/widgets/list.cpp | 3 +- src/help/help_impl.cpp | 45 +++--- src/help/help_topic_generators.cpp | 21 ++- src/hotkey/command_executor.cpp | 10 +- src/hotkey/hotkey_command.cpp | 6 +- src/hotkey/hotkey_item.cpp | 13 +- src/image.cpp | 5 +- src/image_modifications.cpp | 7 +- src/language.cpp | 11 +- src/leader_scroll_dialog.cpp | 3 - src/log.cpp | 7 +- src/log_windows.cpp | 1 - src/map/label.cpp | 18 +-- src/map/map.cpp | 3 +- src/menu_events.cpp | 19 ++- src/minimap.cpp | 6 +- src/mouse_events.cpp | 5 +- src/movetype.cpp | 30 ++-- src/mp_game_settings.cpp | 6 +- src/pathfind/pathfind.cpp | 6 +- src/pathfind/teleport.cpp | 12 +- src/pathutils.cpp | 8 +- src/persist_manager.cpp | 8 +- src/play_controller.cpp | 25 ++- src/playmp_controller.cpp | 2 - src/playsingle_controller.cpp | 6 +- src/playturn.cpp | 5 +- src/preferences_display.cpp | 1 - src/quit_confirmation.cpp | 4 +- src/recall_list_manager.cpp | 1 - src/replay.cpp | 9 +- src/replay_controller.cpp | 1 - src/replay_recorder_base.cpp | 6 +- src/reports.cpp | 33 ++-- src/save_index.cpp | 9 +- src/saved_game.cpp | 31 ++-- src/savegame.cpp | 28 ++-- src/scripting/application_lua_kernel.cpp | 7 +- src/scripting/game_lua_kernel.cpp | 65 ++++---- src/scripting/lua_api.cpp | 1 - src/scripting/lua_common.cpp | 7 +- src/scripting/lua_common.hpp | 2 +- src/scripting/lua_race.cpp | 7 +- src/scripting/lua_team.cpp | 3 +- src/scripting/lua_unit_type.cpp | 3 +- src/scripting/push_check.hpp | 3 +- src/serialization/parser.cpp | 7 +- src/serialization/preprocessor.cpp | 16 +- src/serialization/schema_validator.cpp | 8 +- src/serialization/unicode.cpp | 1 - src/server/ban.cpp | 7 +- src/server/game.cpp | 3 +- src/server/room_manager.cpp | 22 ++- src/server/server.cpp | 15 +- src/side_filter.cpp | 20 ++- src/sound.cpp | 6 +- src/statistics.cpp | 10 +- src/storyscreen/controller.cpp | 4 +- src/storyscreen/render.cpp | 12 +- src/synced_commands.cpp | 4 +- src/synced_user_choice.cpp | 13 +- src/syncmp_handler.cpp | 6 +- src/team.cpp | 10 +- src/teambuilder.cpp | 11 +- src/terrain/builder.cpp | 76 +++++----- src/terrain/filter.cpp | 18 +-- src/terrain/terrain.cpp | 10 +- src/tests/create_images.cpp | 1 - src/tests/gui/test_gui2.cpp | 11 +- src/tests/test_addons.cpp | 4 +- src/tests/test_config.cpp | 7 +- src/tests/test_filesystem.cpp | 6 +- src/tests/test_mp_connect.cpp | 1 - src/tests/test_whiteboard_side_actions.cpp | 5 +- src/text.cpp | 6 +- src/time_of_day.cpp | 4 +- src/tod_manager.cpp | 7 +- src/tools/exploder_cutter.cpp | 2 - src/tools/schema/tag.cpp | 8 +- src/tools/sdl2/sdl2.cpp | 2 - src/tooltips.cpp | 2 - src/tracer.cpp | 2 - src/units/abilities.cpp | 48 +++--- src/units/animation.cpp | 85 +++++------ src/units/attack_type.cpp | 7 +- src/units/drawer.cpp | 2 - src/units/filter.cpp | 21 ++- src/units/formula_manager.cpp | 4 +- src/units/map.cpp | 4 +- src/units/types.cpp | 81 +++++----- src/units/udisplay.cpp | 14 +- src/units/unit.cpp | 65 ++++---- src/units/unit.hpp | 2 +- src/utils/iterable_pair.hpp | 33 ++++ src/utils/smart_list.hpp | 2 +- src/variable.cpp | 21 ++- src/video.cpp | 2 - src/wesmage/filter.cpp | 1 - src/wesmage/options.cpp | 2 - src/wesmage/wesmage.cpp | 2 - src/wesnoth.cpp | 10 +- src/whiteboard/highlighter.cpp | 11 +- src/whiteboard/manager.cpp | 26 ++-- src/whiteboard/mapbuilder.cpp | 12 +- src/whiteboard/move.cpp | 10 +- src/whiteboard/recall.cpp | 4 +- src/whiteboard/side_actions.cpp | 12 +- src/whiteboard/utility.cpp | 14 +- 206 files changed, 1263 insertions(+), 1520 deletions(-) diff --git a/src/about.cpp b/src/about.cpp index 86def503b649..e5ea733c9530 100644 --- a/src/about.cpp +++ b/src/about.cpp @@ -38,7 +38,6 @@ #include "widgets/button.hpp" // for button #include // for max -#include // for auto_any_base, etc #include // for scoped_ptr #include // for map, map<>::mapped_type #include // for operator<<, basic_ostream, etc @@ -71,7 +70,7 @@ static void add_lines(std::vector &res, config const &c, bool split // get slight scrolling glitches in the credits screen. const std::vector& lines = utils::split(c["title"], '\n'); bool first = true; - BOOST_FOREACH(const std::string& line, lines) { + for(const std::string& line : lines) { if(first) { res.push_back("+" + line); first = false; @@ -87,7 +86,7 @@ static void add_lines(std::vector &res, config const &c, bool split } std::vector lines = utils::split(c["text"], '\n'); - BOOST_FOREACH(std::string &line, lines) + for(std::string &line : lines) { if (line.size() > 1 && line[0] == '+') line = "+ " + line.substr(1); @@ -102,7 +101,7 @@ static void add_lines(std::vector &res, config const &c, bool split } } - BOOST_FOREACH(const config &entry, c.child_range("entry")) { + for (const config &entry : c.child_range("entry")) { res.push_back("- "+ entry["name"].str()); } } @@ -115,7 +114,7 @@ std::vector get_text(const std::string &campaign, bool split_multil config::child_itors about_entries = about_list.child_range("about"); if (!campaign.empty()) { - BOOST_FOREACH(const config &about, about_entries) { + for (const config &about : about_entries) { // just finished a particular campaign if (campaign == about["id"]) { add_lines(res, about, split_multiline_headers); @@ -123,7 +122,7 @@ std::vector get_text(const std::string &campaign, bool split_multil } } - BOOST_FOREACH(const config &about, about_entries) { + for (const config &about : about_entries) { add_lines(res, about, split_multiline_headers); } @@ -136,7 +135,7 @@ void set_about(const config &cfg) images.clear(); images_default = ""; - BOOST_FOREACH(const config &about, cfg.child_range("about")) + for (const config &about : cfg.child_range("about")) { about_list.add_child("about", about); const std::string &im = about["images"]; @@ -149,7 +148,7 @@ void set_about(const config &cfg) } } - BOOST_FOREACH(const config &campaign, cfg.child_range("campaign")) + for (const config &campaign : cfg.child_range("campaign")) { config::const_child_itors abouts = campaign.child_range("about"); if (abouts.first == abouts.second) continue; @@ -161,7 +160,7 @@ void set_about(const config &cfg) temp["id"] = id; std::string campaign_images; - BOOST_FOREACH(const config &about, abouts) + for (const config &about : abouts) { const std::string &subtitle = about["title"]; if (!subtitle.empty()) @@ -174,12 +173,12 @@ void set_about(const config &cfg) text << '\n'; } - BOOST_FOREACH(const std::string &line, utils::split(about["text"], '\n')) + for (const std::string &line : utils::split(about["text"], '\n')) { text << " " << line << '\n'; } - BOOST_FOREACH(const config &entry, about.child_range("entry")) + for (const config &entry : about.child_range("entry")) { text << " " << entry["name"] << '\n'; } diff --git a/src/actions/attack.cpp b/src/actions/attack.cpp index 89277075a13e..489c78ff4505 100644 --- a/src/actions/attack.cpp +++ b/src/actions/attack.cpp @@ -53,8 +53,6 @@ #include "whiteboard/manager.hpp" #include "wml_exception.hpp" -#include - static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) diff --git a/src/actions/create.cpp b/src/actions/create.cpp index aad3e4304462..2a491746031d 100644 --- a/src/actions/create.cpp +++ b/src/actions/create.cpp @@ -51,7 +51,6 @@ #include "variable.hpp" #include "whiteboard/manager.hpp" -#include #include static lg::log_domain log_engine("engine"); @@ -140,7 +139,7 @@ namespace { // Helpers for get_recalls() const unit_filter ufilt(vconfig(leader->recall_filter()), resources::filter_con); - BOOST_FOREACH(const unit_const_ptr & recall_unit_ptr, leader_team.recall_list()) + for (const unit_const_ptr & recall_unit_ptr : leader_team.recall_list()) { const unit & recall_unit = *recall_unit_ptr; // Do not add a unit twice. @@ -220,7 +219,7 @@ std::vector get_recalls(int side, const map_location &recall_lo if ( !leader_in_place ) { // Return the full recall list. - BOOST_FOREACH(const unit_const_ptr & recall, (*resources::teams)[side-1].recall_list()) + for (const unit_const_ptr & recall : (*resources::teams)[side-1].recall_list()) { result.push_back(recall); } diff --git a/src/actions/heal.cpp b/src/actions/heal.cpp index 10c8a227c71e..a36d6edf07f7 100644 --- a/src/actions/heal.cpp +++ b/src/actions/heal.cpp @@ -32,7 +32,6 @@ #include "units/udisplay.hpp" #include "units/map.hpp" -#include #include #include @@ -98,8 +97,7 @@ namespace { return POISON_CURE; // Regeneration? - BOOST_FOREACH (const unit_ability & regen, - patient.get_abilities("regenerate")) + for (const unit_ability & regen : patient.get_abilities("regenerate")) { curing = std::max(curing, poison_status((*regen.first)["poison"])); if ( curing == POISON_CURE ) @@ -111,7 +109,7 @@ namespace { // Look through the healers to find a curer. unit_map::iterator curer = units.end(); // Assumed: curing is not POISON_CURE at the start of any iteration. - BOOST_FOREACH (const unit_ability & heal, patient.get_abilities("heals")) + for (const unit_ability & heal : patient.get_abilities("heals")) { POISON_STATUS this_cure = poison_status((*heal.first)["poison"]); if ( this_cure <= curing ) @@ -219,7 +217,7 @@ namespace { if ( update_healing(healing, harming, heal_effect.get_composite_value()) ) { // Collect the healers involved. - BOOST_FOREACH (const unit_abilities::individual_effect & heal, heal_effect) + for (const unit_abilities::individual_effect & heal : heal_effect) healers.push_back(&*units.find(heal.loc)); if ( !healers.empty() ) { @@ -300,7 +298,7 @@ void calculate_healing(int side, bool update_display) std::list unit_list; // We look for all allied units, then we see if our healer is near them. - BOOST_FOREACH(unit &patient, *resources::units) { + for (unit &patient : *resources::units) { if ( patient.get_state("unhealable") || patient.incapacitated() ) { if ( patient.side() == side ) diff --git a/src/actions/move.cpp b/src/actions/move.cpp index 78365cba4c49..3e73c3e2c158 100644 --- a/src/actions/move.cpp +++ b/src/actions/move.cpp @@ -46,7 +46,6 @@ #include "units/animation_component.hpp" #include "whiteboard/manager.hpp" -#include #include #include #include @@ -585,7 +584,7 @@ namespace { // Private helpers for move_unit() reveal_ambusher(blocked_loc_, false); // Reveal ambushers. - BOOST_FOREACH(const map_location & reveal, ambushers_) { + for(const map_location & reveal : ambushers_) { reveal_ambusher(reveal, true); } @@ -840,7 +839,7 @@ namespace { // Private helpers for move_unit() */ std::string unit_mover::read_ambush_string(const unit & ambusher) { - BOOST_FOREACH( const unit_ability &hide, ambusher.get_abilities("hides") ) + for(const unit_ability &hide : ambusher.get_abilities("hides")) { const std::string & ambush_string = (*hide.first)["alert"].str(); if ( !ambush_string.empty() ) diff --git a/src/actions/undo.cpp b/src/actions/undo.cpp index 0beb25327790..fb71811734ca 100644 --- a/src/actions/undo.cpp +++ b/src/actions/undo.cpp @@ -54,7 +54,6 @@ #include "undo_update_shroud_action.hpp" #include // for reverse -#include // for auto_any_base, etc #include // for intrusive_ptr #include #include @@ -299,7 +298,7 @@ void undo_list::read(const config & cfg) committed_actions_ = committed_actions_ || cfg["committed"].to_bool(); // Build the undo stack. - BOOST_FOREACH( const config & child, cfg.child_range("undo") ) { + for (const config & child : cfg.child_range("undo")) { try { undo_action_base * action = create_action(child); if ( action ) { @@ -317,7 +316,7 @@ void undo_list::read(const config & cfg) } // Build the redo stack. - BOOST_FOREACH( const config & child, cfg.child_range("redo") ) { + for (const config & child : cfg.child_range("redo")) { try { undo_action_base * action = create_action(child); if ( undo_action* undoable_action = dynamic_cast(action)) { diff --git a/src/actions/undo_action.cpp b/src/actions/undo_action.cpp index 97d5e81d8409..eac5b74b7233 100644 --- a/src/actions/undo_action.cpp +++ b/src/actions/undo_action.cpp @@ -5,14 +5,13 @@ #include "game_events/pump.hpp" //game_events::queued_event #include -#include namespace actions { void undo_action::execute_undo_umc_wml() { assert(resources::lua_kernel); - BOOST_FOREACH(const config& c, umc_commands_undo) + for(const config& c : umc_commands_undo) { resources::lua_kernel->run_wml_action("command", vconfig(c), game_events::queued_event("undo", map_location(), map_location(), config())); } @@ -21,7 +20,7 @@ void undo_action::execute_undo_umc_wml() void undo_action::execute_redo_umc_wml() { assert(resources::lua_kernel); - BOOST_FOREACH(const config& c, umc_commands_redo) + for(const config& c : umc_commands_redo) { resources::lua_kernel->run_wml_action("command", vconfig(c), game_events::queued_event("redo", map_location(), map_location(), config())); } @@ -34,7 +33,7 @@ void undo_action::read_tconfig_vector(tconfig_vector& vec, const config& cfg, co } void undo_action::write_tconfig_vector(const tconfig_vector& vec, config& cfg, const std::string& tag) { - BOOST_FOREACH(const config& c, vec) + for(const config& c : vec) { cfg.add_child(tag, c); } diff --git a/src/actions/unit_creator.cpp b/src/actions/unit_creator.cpp index 0a705a11c193..fe9b57efb892 100644 --- a/src/actions/unit_creator.cpp +++ b/src/actions/unit_creator.cpp @@ -40,7 +40,6 @@ #include "game_display.hpp" // for resources::screen -#include #include static lg::log_domain log_engine("engine"); @@ -113,7 +112,7 @@ map_location unit_creator::find_location(const config &cfg, const unit* pass_che placements.push_back("map"); placements.push_back("recall"); - BOOST_FOREACH(const std::string& place, placements) + for (const std::string& place : placements) { map_location loc; diff --git a/src/actions/vision.cpp b/src/actions/vision.cpp index 7842da7c2d81..6a0015d91e46 100644 --- a/src/actions/vision.cpp +++ b/src/actions/vision.cpp @@ -35,8 +35,6 @@ #include "team.hpp" #include "units/unit.hpp" -#include - class unit_animation; static lg::log_domain log_engine("engine"); @@ -57,13 +55,13 @@ static void create_jamming_map(std::map & jamming, jamming.clear(); // Build the map. - BOOST_FOREACH (const unit &u, *resources::units) + for (const unit &u : *resources::units) { if ( u.jamming() < 1 || !view_team.is_enemy(u.side()) ) continue; pathfind::jamming_path jam_path(u, u.get_location()); - BOOST_FOREACH(const pathfind::paths::step& st, jam_path.destinations) { + for (const pathfind::paths::step& st : jam_path.destinations) { if ( jamming[st.curr] < st.move_left ) jamming[st.curr] = st.move_left; } @@ -365,14 +363,14 @@ bool shroud_clearer::clear_unit(const map_location &view_loc, team &view_team, resources::screen->draw(true); // Clear the fog. - BOOST_FOREACH (const pathfind::paths::step &dest, sight.destinations) { + for (const pathfind::paths::step &dest : sight.destinations) { bool known = known_units && known_units->count(dest.curr) != 0; if ( clear_loc(view_team, dest.curr, view_loc, real_loc, viewer_id, !known, *enemy_count, *friend_count, spectator) ) cleared_something = true; } //TODO guard with game_config option - BOOST_FOREACH (const map_location &dest, sight.edges) { + for (const map_location &dest : sight.edges) { bool known = known_units && known_units->count(dest) != 0; if ( clear_loc(view_team, dest, view_loc, real_loc, viewer_id, !known, *enemy_count, *friend_count, spectator) ) @@ -558,7 +556,7 @@ bool shroud_clearer::fire_events() std::vector sight_list; sight_list.swap(sightings_); - BOOST_FOREACH (const sight_data & event, sight_list) { + for (const sight_data & event : sight_list) { // Try to locate the sighting unit. unit_map::const_iterator find_it = units.find(event.sighter_id); const map_location & sight_loc = @@ -641,7 +639,7 @@ bool actor_sighted(const unit & target, const std::vector * cache) std::vector needs_event(teams_size, cache == nullptr); if ( cache != nullptr ) { // Flag just the sides in the cache as needing events. - BOOST_FOREACH (int side, *cache) + for (int side : *cache) needs_event[side-1] = true; } // Exclude the target's own team. @@ -659,7 +657,7 @@ bool actor_sighted(const unit & target, const std::vector * cache) // Look for units that can be used as the second unit in sighted events. std::vector second_units(teams_size, nullptr); std::vector distances(teams_size, UINT_MAX); - BOOST_FOREACH (const unit & viewer, *resources::units) { + for (const unit & viewer : *resources::units) { const size_t index = viewer.side() - 1; // Does viewer belong to a team for which we still need a unit? if ( needs_event[index] && distances[index] != 0 ) { @@ -713,7 +711,7 @@ void recalculate_fog(int side) // Exclude currently seen units from sighted events. std::set visible_locs; - BOOST_FOREACH (const unit &u, *resources::units) { + for (const unit &u : *resources::units) { const map_location & u_location = u.get_location(); if ( !tm.fogged(u_location) ) @@ -726,7 +724,7 @@ void recalculate_fog(int side) resources::screen->invalidate_all(); shroud_clearer clearer; - BOOST_FOREACH(const unit &u, *resources::units) + for (const unit &u : *resources::units) { if ( u.side() == side ) clearer.clear_unit(u.get_location(), u, tm, &visible_locs); @@ -762,7 +760,7 @@ bool clear_shroud(int side, bool reset_fog, bool fire_events) bool result = false; shroud_clearer clearer; - BOOST_FOREACH(const unit &u, *resources::units) + for (const unit &u : *resources::units) { if ( u.side() == side ) result |= clearer.clear_unit(u.get_location(), u, tm); diff --git a/src/addon/info.cpp b/src/addon/info.cpp index 5104b7323ffe..b741266f05f8 100644 --- a/src/addon/info.cpp +++ b/src/addon/info.cpp @@ -22,8 +22,6 @@ #include "log.hpp" #include "serialization/string_utils.hpp" -#include - static lg::log_domain log_addons_client("addons-client"); #define ERR_AC LOG_STREAM(err , log_addons_client) #define LOG_AC LOG_STREAM(info, log_addons_client) @@ -45,7 +43,7 @@ namespace { return; } - BOOST_FOREACH(const std::string& dep, base_deps) { + for(const std::string& dep : base_deps) { if(base_id == dep) { LOG_AC << dep << " depends upon itself; breaking circular dependency\n"; continue; @@ -76,7 +74,7 @@ void addon_info::read(const config& cfg) const config::const_child_itors& locales = cfg.child_range("translation"); - BOOST_FOREACH(const config& locale, locales) { + for(const config& locale : locales) { this->locales.push_back(locale["language"].str()); } @@ -101,7 +99,7 @@ void addon_info::write(config& cfg) const cfg["uploads"] = this->uploads; cfg["type"] = get_addon_type_string(this->type); - BOOST_FOREACH(const std::string& locale_id, this->locales) { + for (const std::string& locale_id : this->locales) { cfg.add_child("translation")["language"] = locale_id; } @@ -204,9 +202,10 @@ void read_addons_list(const config& cfg, addons_list& dest) unsigned order = 0; - /** @todo FIXME: get rid of this legacy "campaign"/"campaigns" silliness */ + /** @todo FIXME: get rid of this legacy "campaign"/"campaigns" silliness + */ const config::const_child_itors &addon_cfgs = cfg.child_range("campaign"); - BOOST_FOREACH(const config& addon_cfg, addon_cfgs) { + for(const config& addon_cfg : addon_cfgs) { const std::string& id = addon_cfg["name"].str(); if(dest.find(id) != dest.end()) { ERR_AC << "add-ons list has multiple entries for '" << id << "', not good; ignoring them" << std::endl; diff --git a/src/addon/manager.cpp b/src/addon/manager.cpp index 27e7354bc2fe..3decfa161679 100644 --- a/src/addon/manager.cpp +++ b/src/addon/manager.cpp @@ -40,8 +40,6 @@ #include "formula/string_utils.hpp" #include "addon/client.hpp" -#include - static lg::log_domain log_config("config"); #define ERR_CFG LOG_STREAM(err , log_config) #define LOG_CFG LOG_STREAM(info, log_config) @@ -317,11 +315,11 @@ static void unarchive_dir(const std::string& path, const config& cfg) filesystem::make_directory(dir); - BOOST_FOREACH(const config &d, cfg.child_range("dir")) { + for(const config &d : cfg.child_range("dir")) { unarchive_dir(dir, d); } - BOOST_FOREACH(const config &f, cfg.child_range("file")) { + for(const config &f : cfg.child_range("file")) { unarchive_file(dir, f); } } diff --git a/src/addon/manager_ui.cpp b/src/addon/manager_ui.cpp index 24a81ec53a38..672022a0cadc 100644 --- a/src/addon/manager_ui.cpp +++ b/src/addon/manager_ui.cpp @@ -42,7 +42,6 @@ #include "wml_exception.hpp" #include -#include #include "addon/client.hpp" @@ -166,7 +165,7 @@ addon_op_result do_resolve_addon_dependencies(CVideo& v, addons_client& client, std::vector missing_deps; std::vector broken_deps; - BOOST_FOREACH(const std::string& dep, deps) { + for(const std::string& dep : deps) { if(!is_addon_installed(dep)) { if(addons.find(dep) != addons.end()) { missing_deps.push_back(dep); @@ -187,7 +186,7 @@ addon_op_result do_resolve_addon_dependencies(CVideo& v, addons_client& client, broken_deps.size()); broken_deps_report += "\n"; - BOOST_FOREACH(const std::string& broken_dep_id, broken_deps) { + for(const std::string& broken_dep_id : broken_deps) { broken_deps_report += "\n " + utils::unicode_bullet + " " + make_addon_title(broken_dep_id); } @@ -216,7 +215,7 @@ addon_op_result do_resolve_addon_dependencies(CVideo& v, addons_client& client, cursor_setter.reset(new cursor::setter(cursor::WAIT)); - BOOST_FOREACH(const std::string& dep, missing_deps) { + for(const std::string& dep : missing_deps) { const addon_info& addon = addon_at(dep, addons); const std::string& display_size = size_display_string(addon.size); @@ -264,7 +263,7 @@ addon_op_result do_resolve_addon_dependencies(CVideo& v, addons_client& client, std::vector failed_titles; - BOOST_FOREACH(const std::string& dep, missing_deps) { + for(const std::string& dep : missing_deps) { const addon_info& addon = addon_at(dep, addons); if(!try_fetch_addon(v, client, addon)) { @@ -599,7 +598,7 @@ sorted_addon_pointer_list sort_addons_list(addons_list& addons, ADDON_SORT sort, sorted_addon_pointer_list res; addon_pointer_list_sorter sorter(sort, direction); - BOOST_FOREACH(const addons_list::value_type& entry, addons) { + for(const addons_list::value_type& entry : addons) { res.push_back(&entry); } @@ -681,7 +680,7 @@ void show_addons_manager_dialog(CVideo& v, addons_client& client, addons_list& a bool have_upgradable_addons = false; - BOOST_FOREACH(const sorted_addon_pointer_list::value_type& sorted_entry, sorted_addons) { + for(const sorted_addon_pointer_list::value_type& sorted_entry : sorted_addons) { const addons_list::value_type& entry = *sorted_entry; const addon_info& addon = entry.second; tracking[addon.id] = get_addon_tracking_info(addon); @@ -781,7 +780,7 @@ void show_addons_manager_dialog(CVideo& v, addons_client& client, addons_list& a utils::string_map i18n_syms; // Enter publish and remote deletion options - BOOST_FOREACH(const std::string& pub_id, can_publish_ids) { + for(const std::string& pub_id : can_publish_ids) { i18n_syms["addon_title"] = make_addon_title(pub_id); static const std::string publish_icon = "icons/icon-game.png~BLIT(icons/icon-addon-publish.png)"; @@ -790,7 +789,7 @@ void show_addons_manager_dialog(CVideo& v, addons_client& client, addons_list& a options.push_back(IMAGE_PREFIX + publish_icon + COLUMN_SEPARATOR + font::GOOD_TEXT + text); filter_options.push_back(text); } - BOOST_FOREACH(const std::string& del_id, can_delete_ids) { + for(const std::string& del_id : can_delete_ids) { i18n_syms["addon_title"] = make_addon_title(del_id); static const std::string delete_icon = "icons/icon-game.png~BLIT(icons/icon-addon-delete.png)"; @@ -929,7 +928,7 @@ void show_addons_manager_dialog(CVideo& v, addons_client& client, addons_list& a std::vector failed_titles; if(update_everything) { - BOOST_FOREACH(const std::string& id, option_ids) { + for(const std::string& id : option_ids) { if(tracking[id].state == ADDON_INSTALLED_UPGRADABLE) { ids_to_install.push_back(id); } @@ -940,7 +939,7 @@ void show_addons_manager_dialog(CVideo& v, addons_client& client, addons_list& a ids_to_install.push_back(option_ids[result]); } - BOOST_FOREACH(const std::string& id, ids_to_install) { + for(const std::string& id : ids_to_install) { const addon_info& addon = addon_at(id, addons); addon_op_result res = try_fetch_addon_with_checks(v, client, addons, addon); @@ -1093,7 +1092,7 @@ bool uninstall_local_addons(CVideo& v) std::map addon_titles_map; - BOOST_FOREACH(const std::string& id, addons) { + for(const std::string& id : addons) { std::string title; if(have_addon_install_info(id)) { @@ -1133,7 +1132,7 @@ bool uninstall_local_addons(CVideo& v) remove_names.clear(); - BOOST_FOREACH(const std::string& id, remove_ids) { + for(const std::string& id : remove_ids) { remove_names.insert(addon_titles_map[id]); } @@ -1150,7 +1149,7 @@ bool uninstall_local_addons(CVideo& v) std::set failed_names, skipped_names, succeeded_names; - BOOST_FOREACH(const std::string& id, remove_ids) { + for(const std::string& id : remove_ids) { const std::string& name = addon_titles_map[id]; if(have_addon_pbl_info(id) || have_addon_in_vcs_tree(id)) { @@ -1244,7 +1243,7 @@ bool ad_hoc_addon_fetch_session(CVideo& v, const std::vector& addon } bool return_value = true; - BOOST_FOREACH(const std::string & addon_id, addon_ids) { + for(const std::string & addon_id : addon_ids) { addons_list::const_iterator it = addons.find(addon_id); if(it != addons.end()) { const addon_info& addon = it->second; diff --git a/src/addon/validation.cpp b/src/addon/validation.cpp index ce464f2cef22..1abdab6fd783 100644 --- a/src/addon/validation.cpp +++ b/src/addon/validation.cpp @@ -17,8 +17,6 @@ #include "addon/validation.hpp" #include "config.hpp" -#include - const unsigned short default_campaignd_port = 15008; namespace { @@ -71,10 +69,10 @@ bool addon_filename_legal(const std::string& name) bool check_names_legal(const config& dir) { - BOOST_FOREACH(const config &path, dir.child_range("file")) { + for (const config &path : dir.child_range("file")) { if (!addon_filename_legal(path["name"])) return false; } - BOOST_FOREACH(const config &path, dir.child_range("dir")) { + for (const config &path : dir.child_range("dir")) { if (!addon_filename_legal(path["name"])) return false; if (!check_names_legal(path)) return false; } diff --git a/src/ai/composite/ai.cpp b/src/ai/composite/ai.cpp index 2c94376fde12..906752cb1649 100644 --- a/src/ai/composite/ai.cpp +++ b/src/ai/composite/ai.cpp @@ -31,7 +31,6 @@ #include #include "utils/boost_function_guarded.hpp" -#include namespace ai { @@ -60,7 +59,7 @@ void ai_composite::on_create() cfg_["id"]<<"]"< stages; create_stage(stages,cfg); int j=0; - BOOST_FOREACH(stage_ptr b, stages ){ + for (stage_ptr b : stages) { stages_.push_back(b); j++; } @@ -139,7 +138,7 @@ bool ai_composite::add_goal(const config &cfg) std::vector< goal_ptr > goals; create_goal(goals,cfg); int j=0; - BOOST_FOREACH(goal_ptr b, goals ){ + for (goal_ptr b : goals) { get_goals().push_back(b); j++; } @@ -148,7 +147,7 @@ bool ai_composite::add_goal(const config &cfg) void ai_composite::play_turn(){ - BOOST_FOREACH(stage_ptr &s, stages_){ + for (stage_ptr &s : stages_) { s->play_stage(); } } @@ -218,7 +217,7 @@ config ai_composite::to_config() const config cfg; //serialize the composite ai stages - BOOST_FOREACH(const stage_ptr &s, stages_){ + for (const stage_ptr &s : stages_) { cfg.add_child("stage",s->to_config()); } diff --git a/src/ai/composite/aspect.hpp b/src/ai/composite/aspect.hpp index c811f5184070..50b72f11e932 100644 --- a/src/ai/composite/aspect.hpp +++ b/src/ai/composite/aspect.hpp @@ -265,7 +265,7 @@ class composite_aspect : public typesafe_aspect { , default_() , parent_id_(id) { - BOOST_FOREACH(const config &cfg_element, this->cfg_.child_range("facet") ){ + for (const config &cfg_element : this->cfg_.child_range("facet")) { add_facet(-1,cfg_element); } @@ -295,7 +295,7 @@ class composite_aspect : public typesafe_aspect { { std::vector facets_base; engine::parse_aspect_from_config(*this,cfg,parent_id_,std::back_inserter(facets_base)); - BOOST_FOREACH(aspect_ptr a, facets_base ){ + for (aspect_ptr a : facets_base) { typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); if (composite_aspect* c = dynamic_cast*>(b.get())) { c->parent_id_ = parent_id_; @@ -308,7 +308,7 @@ class composite_aspect : public typesafe_aspect { virtual void recalculate() const { ///@todo 1.9 optimize in case of an aspect which returns variant - BOOST_FOREACH(const typename aspect_type::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) { + for (const typename aspect_type::typesafe_ptr &f : make_pair(facets_.rbegin(),facets_.rend())) { if (f->active()) { this->value_ = boost::shared_ptr(f->get_ptr()); this->valid_ = true; @@ -325,7 +325,7 @@ class composite_aspect : public typesafe_aspect { virtual config to_config() const { config cfg = aspect::to_config(); - BOOST_FOREACH(const typename aspect_type::typesafe_ptr f, facets_) { + for (const typename aspect_type::typesafe_ptr f : facets_) { cfg.add_child("facet",f->to_config()); } if (default_) { @@ -344,7 +344,7 @@ class composite_aspect : public typesafe_aspect { std::vector< aspect_ptr > facets; engine::parse_aspect_from_config(*this,cfg,parent_id_,std::back_inserter(facets)); int j=0; - BOOST_FOREACH(aspect_ptr a, facets ){ + for (aspect_ptr a : facets) { typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); if (composite_aspect* c = dynamic_cast*>(b.get())) { c->parent_id_ = parent_id_; diff --git a/src/ai/composite/component.cpp b/src/ai/composite/component.cpp index 52eda4a40164..8a25ab839394 100644 --- a/src/ai/composite/component.cpp +++ b/src/ai/composite/component.cpp @@ -28,7 +28,6 @@ #include #include -#include namespace pathfind { @@ -124,7 +123,7 @@ std::vector component::get_children(const std::string &type) std::vector component::get_children_types() { std::vector types; - BOOST_FOREACH(property_handler_map::value_type &ph, property_handlers_) { + for (property_handler_map::value_type &ph : property_handlers_) { types.push_back(ph.first); } return types; @@ -240,9 +239,9 @@ static void print_component(component *root, const std::string &type, std::strin s << offset_str << type<<"["<get_id() <<"] "<get_engine()<<" "<get_name()<< std::endl; - BOOST_FOREACH(std::string t, t_list) { + for (std::string t : t_list) { std::vector c_list = root->get_children(t); - BOOST_FOREACH(component *c, c_list) { + for (component *c : c_list) { print_component(c,t,s,offset+1); } } diff --git a/src/ai/composite/goal.cpp b/src/ai/composite/goal.cpp index a1994f915757..9ca842212190 100644 --- a/src/ai/composite/goal.cpp +++ b/src/ai/composite/goal.cpp @@ -37,7 +37,6 @@ #include "wml_exception.hpp" #include -#include #include #include @@ -154,7 +153,7 @@ void target_unit_goal::add_targets(std::back_insert_iterator< std::vector< targe //find the enemy leaders and explicit targets const unit_filter ufilt(vconfig(criteria), resources::filter_con); - BOOST_FOREACH(const unit &u, *resources::units) { + for (const unit &u : *resources::units) { if (ufilt( u )) { LOG_AI_GOAL << "found explicit target unit at ... " << u.get_location() << " with value: " << value() << "\n"; *target_list = target(u.get_location(), value(), target::TYPE::EXPLICIT); @@ -204,7 +203,7 @@ void target_location_goal::add_targets(std::back_insert_iterator< std::vector< t std::set items; filter_ptr_->get_locations(items); - BOOST_FOREACH(const map_location &loc, items) + for (const map_location &loc : items) { LOG_AI_GOAL << "found explicit target location ... " << loc << " with value: " << value() << std::endl; *target_list = target(loc, value(), target::TYPE::EXPLICIT); @@ -285,7 +284,7 @@ void protect_goal::add_targets(std::back_insert_iterator< std::vector< target > std::set items; if (protect_unit_) { const unit_filter ufilt(vconfig(criteria), resources::filter_con); - BOOST_FOREACH(const unit &u, units) + for (const unit &u : units) { //TODO: we will protect hidden units, by not testing for invisibility to current side if (ufilt(u)) { @@ -298,9 +297,9 @@ void protect_goal::add_targets(std::back_insert_iterator< std::vector< target > } DBG_AI_GOAL << "side " << get_side() << ": seaching for threats in "+goal_type+" goal" << std::endl; // Look for directions to protect a specific location or specific unit. - BOOST_FOREACH(const map_location &loc, items) + for (const map_location &loc : items) { - BOOST_FOREACH(const unit &u, units) + for (const unit &u : units) { int distance = distance_between(u.get_location(), loc); if (current_team().is_enemy(u.side()) && distance < radius_ && @@ -355,7 +354,7 @@ void lua_goal::add_targets(std::back_insert_iterator< std::vector< target > > ta try { std::vector < target > targets = *(l_obj->get()); - BOOST_FOREACH(target tg, targets) + for (target tg : targets) { *target_list = tg; } diff --git a/src/ai/composite/property_handler.hpp b/src/ai/composite/property_handler.hpp index 831ec37a2405..31ddbbeb4f0b 100644 --- a/src/ai/composite/property_handler.hpp +++ b/src/ai/composite/property_handler.hpp @@ -22,7 +22,6 @@ #define AI_COMPOSITE_PROPERTY_HANDLER_HPP_INCLUDED #include "utils/boost_function_guarded.hpp" -#include #include "config.hpp" #include "ai/composite/component.hpp" @@ -136,7 +135,7 @@ class vector_property_handler : public base_property_handler { std::vector handle_get_children() { std::vector children; - BOOST_FOREACH(t_ptr v, values_) { + for (t_ptr v : values_) { children.push_back(&*v); } return children; @@ -156,7 +155,7 @@ class vector_property_handler : public base_property_handler { t_ptr_vector values; call_factory(values,cfg); int j=0; - BOOST_FOREACH(t_ptr b, values ){ + for (t_ptr b : values ) { values_.insert(values_.begin()+pos+j,b); j++; } @@ -261,9 +260,9 @@ class aspect_property_handler : public base_property_handler { //* is a special case - 'delete all facets' if (child.id == "*") { bool b = false; - BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { - b |= a.second->delete_all_facets(); - } + for (typename aspect_map::value_type a : aspects_) { + b |= a.second->delete_all_facets(); + } return b; } return false; @@ -273,7 +272,7 @@ class aspect_property_handler : public base_property_handler { std::vector handle_get_children() { std::vector children; - BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { + for (typename aspect_map::value_type a : aspects_) { children.push_back(&*a.second); } return children; diff --git a/src/ai/configuration.cpp b/src/ai/configuration.cpp index 7d00da410e29..fe750c776430 100644 --- a/src/ai/configuration.cpp +++ b/src/ai/configuration.cpp @@ -27,8 +27,6 @@ #include "wml_exception.hpp" #include "config_assign.hpp" -#include - #include #include #include @@ -55,7 +53,7 @@ void configuration::init(const config &game_config) } - BOOST_FOREACH(const config &ai_configuration, ais.child_range("ai")) { + for (const config &ai_configuration : ais.child_range("ai")) { const std::string &id = ai_configuration["id"]; if (id.empty()){ @@ -80,7 +78,7 @@ void configuration::init(const config &game_config) namespace { void extract_ai_configurations(std::map &storage, const config &input) { - BOOST_FOREACH(const config &ai_configuration, input.child_range("ai")) { + for (const config &ai_configuration : input.child_range("ai")) { const std::string &id = ai_configuration["id"]; if (id.empty()){ @@ -112,7 +110,7 @@ void configuration::add_era_ai_from_config(const config &era) void configuration::add_mod_ai_from_config(config::const_child_itors mods) { mod_ai_configurations_.clear(); - BOOST_FOREACH(const config &mod, mods) { + for (const config &mod : mods) { extract_ai_configurations(mod_ai_configurations_, mod); } } @@ -184,7 +182,7 @@ bool configuration::parse_side_config(side_number side, const config& original_c //leave only the [ai] children cfg = config(); - BOOST_FOREACH(const config &aiparam, original_cfg.child_range("ai")) { + for (const config &aiparam : original_cfg.child_range("ai")) { cfg.add_child("ai",aiparam); } @@ -212,7 +210,7 @@ bool configuration::parse_side_config(side_number side, const config& original_c config parsed_cfg = config(); LOG_AI_CONFIGURATION << "side "<< side <<": merging AI configurations"<< std::endl; - BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { + for (const config &aiparam : cfg.child_range("ai")) { parsed_cfg.append(aiparam); } @@ -221,7 +219,7 @@ bool configuration::parse_side_config(side_number side, const config& original_c parsed_cfg.merge_children_by_attribute("aspect","id"); LOG_AI_CONFIGURATION << "side "<< side <<": removing duplicate [default] tags from aspects"<< std::endl; - BOOST_FOREACH(config &aspect_cfg, parsed_cfg.child_range("aspect")) { + for (config &aspect_cfg : parsed_cfg.child_range("aspect")) { if (aspect_cfg["name"] != "composite_aspect") { // No point in warning about Lua or standard aspects lacking [default] continue; @@ -254,7 +252,7 @@ static const std::set old_goal_tags = {"target", "target_location", void configuration::expand_simplified_aspects(side_number side, config &cfg) { std::string algorithm; config base_config, parsed_config; - BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { + for (const config &aiparam : cfg.child_range("ai")) { std::string turns, time_of_day, engine = "cpp"; if (aiparam.has_attribute("turns")) { turns = aiparam["turns"].str(); @@ -274,7 +272,7 @@ void configuration::expand_simplified_aspects(side_number side, config &cfg) { } } std::deque > facet_configs; - BOOST_FOREACH(const config::attribute &attr, aiparam.attribute_range()) { + for (const config::attribute &attr : aiparam.attribute_range()) { if (non_aspect_attributes.count(attr.first)) { continue; } @@ -286,7 +284,7 @@ void configuration::expand_simplified_aspects(side_number side, config &cfg) { facet_config["value"] = attr.second; facet_configs.push_back(std::make_pair(attr.first, facet_config)); } - BOOST_FOREACH(const config::any_child &child, aiparam.all_children_range()) { + for (const config::any_child &child : aiparam.all_children_range()) { if (just_copy_tags.count(child.key)) { // These aren't simplified, so just copy over unchanged. parsed_config.add_child(child.key, child.cfg); @@ -340,14 +338,14 @@ void configuration::expand_simplified_aspects(side_number side, config &cfg) { facet_configs.pop_front(); } typedef std::map::value_type aspect_pair; - BOOST_FOREACH(const aspect_pair& p, aspect_configs) { + for (const aspect_pair& p : aspect_configs) { parsed_config.add_child("aspect", p.second); } } if (algorithm.empty() && !parsed_config.has_child("stage")) { base_config = get_ai_config_for("ai_default_rca"); } - BOOST_FOREACH(const config::any_child &child, parsed_config.all_children_range()) { + for (const config::any_child &child : parsed_config.all_children_range()) { base_config.add_child(child.key, child.cfg); } cfg.clear_children("ai"); diff --git a/src/ai/contexts.cpp b/src/ai/contexts.cpp index 94ec86969cd0..42b79ce33c72 100644 --- a/src/ai/contexts.cpp +++ b/src/ai/contexts.cpp @@ -58,7 +58,6 @@ #include "formula/variant.hpp" // for variant #include // for find, count, max, fill_n -#include // for auto_any_base, etc #include // for intrusive_ptr #include // for dynamic_pointer_cast, etc #include // for sqrt @@ -265,19 +264,19 @@ readonly_context_impl::readonly_context_impl(side_context &context, const config void readonly_context_impl::on_readonly_context_create() { //init the composite ai engines - BOOST_FOREACH(const config &cfg_element, cfg_.child_range("engine")){ + for(const config &cfg_element : cfg_.child_range("engine")) { engine::parse_engine_from_config(*this,cfg_element,std::back_inserter(engines_)); } // init the composite ai aspects - BOOST_FOREACH(const config &cfg_element, cfg_.child_range("aspect")){ + for(const config &cfg_element : cfg_.child_range("aspect")) { std::vector aspects; engine::parse_aspect_from_config(*this,cfg_element,cfg_element["id"],std::back_inserter(aspects)); add_aspects(aspects); } // init the composite ai goals - BOOST_FOREACH(const config &cfg_element, cfg_.child_range("goal")){ + for(const config &cfg_element : cfg_.child_range("goal")) { engine::parse_goal_from_config(*this,cfg_element,std::back_inserter(get_goals())); } } @@ -297,13 +296,13 @@ config readwrite_context_impl::to_readwrite_context_config() const config readonly_context_impl::to_readonly_context_config() const { config cfg; - BOOST_FOREACH(const engine_ptr e, engines_) { + for(const engine_ptr e : engines_) { cfg.add_child("engine",e->to_config()); } - BOOST_FOREACH(const aspect_map::value_type a, aspects_) { + for(const aspect_map::value_type a : aspects_) { cfg.add_child("aspect",a.second->to_config()); } - BOOST_FOREACH(const goal_ptr g, goals_) { + for(const goal_ptr g : goals_) { cfg.add_child("goal",g->to_config()); } return cfg; @@ -419,7 +418,7 @@ void readonly_context_impl::calculate_moves(const unit_map& units, std::map::iterator m = res.begin(); m != res.end(); ++m) { - BOOST_FOREACH(const pathfind::paths::step &dest, m->second.destinations) + for(const pathfind::paths::step &dest : m->second.destinations) { const map_location& src = m->first; const map_location& dst = dest.curr; @@ -459,7 +458,7 @@ void readonly_context_impl::calculate_moves(const unit_map& units, std::map &aspects ) { - BOOST_FOREACH(aspect_ptr a, aspects) { + for(aspect_ptr a : aspects) { const std::string id = a->get_id(); known_aspect_map::iterator i = known_aspects_.find(id); if (i != known_aspects_.end()) { @@ -1130,7 +1129,7 @@ double readonly_context_impl::power_projection(const map_location& loc, const mo // The 0.5 power avoids underestimating too much the damage of a wounded unit. int hp = int(sqrt(double(un.hitpoints()) / un.max_hitpoints()) * 1000); int most_damage = 0; - BOOST_FOREACH(const attack_type &att, un.attacks()) + for(const attack_type &att : un.attacks()) { int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); if (damage > most_damage) { @@ -1245,7 +1244,7 @@ const map_location& readonly_context_impl::suitable_keep(const map_location& lea map_location const* best_occupied_keep = &map_location::null_location(); double move_left_at_best_occupied_keep = 0.0; - BOOST_FOREACH(const pathfind::paths::step &dest, leader_paths.destinations) + for(const pathfind::paths::step &dest : leader_paths.destinations) { const map_location &loc = dest.curr; if (keeps().find(loc)!=keeps().end()){ diff --git a/src/ai/default/ca.cpp b/src/ai/default/ca.cpp index d4a51dce2560..504700c621dd 100644 --- a/src/ai/default/ca.cpp +++ b/src/ai/default/ca.cpp @@ -34,8 +34,6 @@ #include "pathfind/pathfind.hpp" #include "pathfind/teleport.hpp" -#include - #include #include @@ -307,7 +305,7 @@ double move_leader_to_goals_phase::evaluate() possible_moves.insert(std::pair(leader->get_location(), leader_paths)); map_location loc; - BOOST_FOREACH(const map_location &l, route.steps) + for (const map_location &l : route.steps) { if (leader_paths.destinations.contains(l) && power_projection(l, get_enemy_dstsrc()) < leader->hitpoints() * max_risk) @@ -390,7 +388,7 @@ double move_leader_to_keep_phase::evaluate() map_location best_keep; int shortest_distance = 99999; - BOOST_FOREACH(const unit_map::const_iterator& leader, leaders) { + for (const unit_map::const_iterator& leader : leaders) { if (leader->incapacitated() || leader->movement_left() == 0) { continue; } @@ -454,7 +452,7 @@ double move_leader_to_keep_phase::evaluate() // find next hop map_location next_hop = map_location::null_location(); int next_hop_cost = 0; - BOOST_FOREACH(const map_location& step, route.steps) { + for (const map_location& step : route.steps) { if (leader_paths.destinations.contains(step)) { next_hop = step; next_hop_cost += leader->movement_cost(resources::gameboard->map().get_terrain(step)); @@ -468,7 +466,7 @@ double move_leader_to_keep_phase::evaluate() //define the next hop to have the lowest cost (0) moves_toward_keep.insert(std::make_pair(0, next_hop)); - BOOST_FOREACH(const pathfind::paths::step &dest, leader_paths.destinations) { + for (const pathfind::paths::step &dest : leader_paths.destinations) { if (!units_.find(dest.curr).valid()) { route = pathfind::a_star_search(dest.curr, next_hop, 10000.0, &calc, resources::gameboard->map().w(), resources::gameboard->map().h(), &allowed_teleports); @@ -480,7 +478,7 @@ double move_leader_to_keep_phase::evaluate() // Find the first location which we can move to, // without the threat of enemies. - BOOST_FOREACH(const ordered_locations::value_type& pair, moves_toward_keep) { + for (const ordered_locations::value_type& pair : moves_toward_keep) { const map_location& loc = pair.second; if (get_enemy_dstsrc().count(loc) == 0) { move_ = check_move_action(leader->get_location(), loc, true); @@ -1415,12 +1413,12 @@ double retreat_phase::evaluate() }*/ //int leader_adj_count = 0; std::vector leaders_adj_v; - BOOST_FOREACH(unit_map::const_iterator leader, leaders){ + for (unit_map::const_iterator leader : leaders) { map_location tmp_leader_adj[6]; get_adjacent_tiles(leader->get_location(), tmp_leader_adj); - BOOST_FOREACH(map_location &loc, tmp_leader_adj){ + for (map_location &loc : tmp_leader_adj) { bool found = false; - BOOST_FOREACH(map_location &new_loc, leaders_adj_v){ + for (map_location &new_loc : leaders_adj_v) { if(new_loc == loc){ found = true; break; @@ -1591,7 +1589,7 @@ double leader_shares_keep_phase::evaluate() return BAD_SCORE; } bool allied_leaders_available = false; - BOOST_FOREACH(team &tmp_team, *resources::teams){ + for(team &tmp_team : *resources::teams) { if(!current_team().is_enemy(tmp_team.side())){ std::vector allied_leaders = resources::units->find_leaders(get_side()); if (!allied_leaders.empty()){ @@ -1618,7 +1616,7 @@ void leader_shares_keep_phase::execute() calculate_moves(*resources::units, possible_moves, friends_srcdst, friends_dstsrc, false, true); //check for each ai leader if he should move away from his keep - BOOST_FOREACH(unit_map::unit_iterator &ai_leader, ai_leaders){ + for (unit_map::unit_iterator &ai_leader : ai_leaders) { //only if leader is on a keep const map_location &keep = ai_leader->get_location(); if ( !resources::gameboard->map().is_keep(keep) ) { @@ -1679,7 +1677,7 @@ void leader_shares_keep_phase::execute() } ai_leader->remove_movement_ai(); } - BOOST_FOREACH(unit_map::unit_iterator &leader, ai_leaders){ + for(unit_map::unit_iterator &leader : ai_leaders) { leader->remove_movement_ai(); } //ERR_AI_TESTING_AI_DEFAULT << get_name() << ": evaluate - not yet implemented" << std::endl; diff --git a/src/ai/default/recruitment.cpp b/src/ai/default/recruitment.cpp index 4c5e5c92ce68..f58805eb619c 100644 --- a/src/ai/default/recruitment.cpp +++ b/src/ai/default/recruitment.cpp @@ -44,7 +44,6 @@ #include "wml_exception.hpp" #include "config_assign.hpp" -#include #include #include @@ -170,7 +169,7 @@ double recruitment::evaluate() { const unit_map& units = *resources::units; const std::vector leaders = units.find_leaders(get_side()); - BOOST_FOREACH(const unit_map::const_iterator& leader, leaders) { + for (const unit_map::const_iterator& leader : leaders) { if (leader == resources::units->end()) { return BAD_SCORE; } @@ -208,7 +207,7 @@ void recruitment::execute() { std::set global_recruits; - BOOST_FOREACH(const unit_map::const_iterator& leader, leaders) { + for (const unit_map::const_iterator& leader : leaders) { const map_location& keep = leader->get_location(); if (!resources::gameboard->map().is_keep(keep)) { LOG_AI_RECRUITMENT << "Leader " << leader->name() << " is not on keep. \n"; @@ -229,7 +228,7 @@ void recruitment::execute() { data data(leader); // Add team recruits. - BOOST_FOREACH(const std::string& recruit, current_team().recruits()) { + for (const std::string& recruit : current_team().recruits()) { if (!unit_types.find(recruit)) { lg::wml_error() << "Unit-type \"" << recruit << "\" doesn't exist.\n"; } @@ -239,7 +238,7 @@ void recruitment::execute() { } // Add extra recruits. - BOOST_FOREACH(const std::string& recruit, leader->recruits()) { + for (const std::string& recruit : leader->recruits()) { if (!unit_types.find(recruit)) { lg::wml_error() << "Unit-type \"" << recruit << "\" doesn't exist.\n"; } @@ -251,7 +250,7 @@ void recruitment::execute() { // Add recalls. // Recalls are treated as recruits. While recruiting // we'll check if we can do a recall instead of a recruitment. - BOOST_FOREACH(const unit_const_ptr & recall, current_team().recall_list()) { + for (const unit_const_ptr & recall : current_team().recall_list()) { // Check if this leader is allowed to recall this unit. const unit_filter ufilt( vconfig(leader->recall_filter()), resources::filter_con); if (!ufilt(*recall, map_location::null_location())) { @@ -296,7 +295,7 @@ void recruitment::execute() { show_important_hexes(); } - BOOST_FOREACH(const map_location& hex, important_hexes_) { + for (const map_location& hex : important_hexes_) { ++important_terrain_[map[hex]]; } @@ -311,7 +310,7 @@ void recruitment::execute() { do_combat_analysis(&leader_data); LOG_AI_RECRUITMENT << "Scores before extra treatments:\n"; - BOOST_FOREACH(const data& data, leader_data) { + for (const data& data : leader_data) { LOG_AI_RECRUITMENT << "\n" << data.to_string(); } @@ -320,7 +319,7 @@ void recruitment::execute() { handle_recruitment_more(&leader_data); LOG_AI_RECRUITMENT << "Scores after extra treatments:\n"; - BOOST_FOREACH(const data& data, leader_data) { + for (const data& data : leader_data) { LOG_AI_RECRUITMENT << "\n" << data.to_string(); } @@ -473,7 +472,7 @@ const std::string* recruitment::get_appropriate_recall(const std::string& type, const data& leader_data) const { const std::string* best_recall_id = nullptr; double best_recall_value = -1; - BOOST_FOREACH(const unit_const_ptr & recall_unit, current_team().recall_list()) { + for (const unit_const_ptr & recall_unit : current_team().recall_list()) { if (type != recall_unit->type_id()) { continue; } @@ -485,7 +484,7 @@ const std::string* recruitment::get_appropriate_recall(const std::string& type, } double average_cost_of_advanced_unit = 0; int counter = 0; - BOOST_FOREACH(const std::string& advancement, recall_unit->advances_to()) { + for (const std::string& advancement : recall_unit->advances_to()) { const unit_type* advancement_type = unit_types.find(advancement); if (!advancement_type) { continue; @@ -523,7 +522,7 @@ data* recruitment::get_best_leader_from_ratio_scores(std::vector& leader_d // Find things for normalization. int total_recruit_count = 0; double ratio_score_sum = 0.0; - BOOST_FOREACH(const data& data, leader_data) { + for (const data& data : leader_data) { ratio_score_sum += data.ratio_score; total_recruit_count += data.recruit_count; } @@ -535,7 +534,7 @@ data* recruitment::get_best_leader_from_ratio_scores(std::vector& leader_d // Find which leader should recruit according to ratio_scores. data* best_leader_data = nullptr; double biggest_difference = -99999.; - BOOST_FOREACH(data& data, leader_data) { + for (data& data : leader_data) { if (!leader_matches_job(data, job)) { continue; } @@ -564,7 +563,7 @@ const std::string recruitment::get_best_recruit_from_scores(const data& leader_d } std::string best_recruit = ""; double biggest_difference = -99999.; - BOOST_FOREACH(const score_map::value_type& i, leader_data.get_normalized_scores()) { + for (const score_map::value_type& i : leader_data.get_normalized_scores()) { const std::string& unit = i.first; const double score = i.second; @@ -639,7 +638,7 @@ void recruitment::compare_cost_maps_and_update_important_hexes( } // for double threshold = (biggest_border_movecost - smallest_border_movecost) * MAP_BORDER_WIDTH + smallest_border_movecost; - BOOST_FOREACH(const border_cost_map::value_type& candidate, important_hexes_candidates) { + for (const border_cost_map::value_type& candidate : important_hexes_candidates) { if (candidate.second < threshold) { important_hexes_.insert(candidate.first); } @@ -658,7 +657,7 @@ double recruitment::get_average_defense(const std::string& u_type) const { } long summed_defense = 0; int total_terrains = 0; - BOOST_FOREACH(const terrain_count_map::value_type& entry, important_terrain_) { + for (const terrain_count_map::value_type& entry : important_terrain_) { const t_translation::t_terrain& terrain = entry.first; int count = entry.second; int defense = 100 - u_info->movement_type().defense_modifier(terrain); @@ -685,7 +684,7 @@ const pathfind::full_cost_map recruitment::get_cost_map_of_side(int side) const // First add all existing units to cost_map. unsigned int unit_count = 0; - BOOST_FOREACH(const unit& unit, units) { + for (const unit& unit : units) { if (unit.side() != side || unit.can_recruit() || unit.incapacitated() || unit.total_movement() <= 0) { continue; @@ -697,14 +696,14 @@ const pathfind::full_cost_map recruitment::get_cost_map_of_side(int side) const // If this side has not so many units yet, add unit_types with the leaders position as origin. if (unit_count < UNIT_THRESHOLD) { std::vector leaders = units.find_leaders(side); - BOOST_FOREACH(const unit_map::const_iterator& leader, leaders) { + for (const unit_map::const_iterator& leader : leaders) { // First add team-recruits (it's fine when (team-)recruits are added multiple times). - BOOST_FOREACH(const std::string& recruit, team.recruits()) { + for (const std::string& recruit : team.recruits()) { cost_map.add_unit(leader->get_location(), unit_types.find(recruit), side); } // Next add extra-recruits. - BOOST_FOREACH(const std::string& recruit, leader->recruits()) { + for (const std::string& recruit : leader->recruits()) { cost_map.add_unit(leader->get_location(), unit_types.find(recruit), side); } } @@ -721,7 +720,7 @@ void recruitment::show_important_hexes() const { return; } resources::screen->labels().clear_all(); - BOOST_FOREACH(const map_location& loc, important_hexes_) { + for (const map_location& loc : important_hexes_) { // Little hack: use map_location north from loc and make 2 linebreaks to center the "X". resources::screen->labels().set_label(loc.get_direction(map_location::NORTH), "\n\nX"); } @@ -734,7 +733,7 @@ void recruitment::show_important_hexes() const { void recruitment::update_average_lawful_bonus() { int sum = 0; int counter = 0; - BOOST_FOREACH(const time_of_day& time, resources::tod_manager->times()) { + for (const time_of_day& time : resources::tod_manager->times()) { sum += time.lawful_bonus; ++counter; } @@ -757,7 +756,7 @@ void recruitment::update_average_local_cost() { map_location loc(x, y); int summed_cost = 0; int count = 0; - BOOST_FOREACH(const std::string& recruit, team.recruits()){ + for (const std::string& recruit : team.recruits()) { const unit_type* const unit_type = unit_types.find(recruit); if (!unit_type) { continue; @@ -789,7 +788,7 @@ void recruitment::update_important_hexes() { // Mark battle areas as important // This are locations where one of my units is adjacent // to a enemies unit. - BOOST_FOREACH(const unit& unit, units) { + for (const unit& unit : units) { if (unit.side() != get_side()) { continue; } @@ -812,7 +811,7 @@ void recruitment::update_important_hexes() { // The important hexes are those where my value on the cost map is // similar to a enemies one. const pathfind::full_cost_map my_cost_map = get_cost_map_of_side(get_side()); - BOOST_FOREACH(const team& team, *resources::teams) { + for (const team& team : *resources::teams) { if (current_team().is_enemy(team.side())) { const pathfind::full_cost_map enemy_cost_map = get_cost_map_of_side(team.side()); @@ -825,21 +824,21 @@ void recruitment::update_important_hexes() { // important villages first and add them and their surroundings // to important_hexes_ in a second step. std::vector important_villages; - BOOST_FOREACH(const map_location& village, map.villages()) { + for (const map_location& village : map.villages()) { std::vector surrounding; get_tiles_in_radius(village, MAP_VILLAGE_NEARNESS_THRESHOLD, surrounding); - BOOST_FOREACH(const map_location& hex, surrounding) { + for (const map_location& hex : surrounding) { if (important_hexes_.find(hex) != important_hexes_.end()) { important_villages.push_back(village); break; } } } - BOOST_FOREACH(const map_location& village, important_villages) { + for (const map_location& village : important_villages) { important_hexes_.insert(village); std::vector surrounding; get_tiles_in_radius(village, MAP_VILLAGE_SURROUNDING, surrounding); - BOOST_FOREACH(const map_location& hex, surrounding) { + for (const map_location& hex : surrounding) { // only add hex if one of our units can reach the hex if (map.on_board(hex) && my_cost_map.get_cost_at(hex.x, hex.y) != -1) { important_hexes_.insert(hex); @@ -926,7 +925,7 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { // Collect all enemy units (and their hp) we want to take into account in enemy_units. typedef std::vector > unit_hp_vector; unit_hp_vector enemy_units; - BOOST_FOREACH(const unit& unit, units) { + for (const unit& unit : units) { if (!current_team().is_enemy(unit.side()) || unit.incapacitated()) { continue; } @@ -934,7 +933,7 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { } if (enemy_units.size() < UNIT_THRESHOLD) { // Use also enemies recruitment lists and insert units into enemy_units. - BOOST_FOREACH(const team& team, *resources::teams) { + for (const team& team : *resources::teams) { if (!current_team().is_enemy(team.side())) { continue; } @@ -943,11 +942,11 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { possible_recruits.insert(team.recruits().begin(), team.recruits().end()); // Add extra recruits. const std::vector leaders = units.find_leaders(team.side()); - BOOST_FOREACH(unit_map::const_iterator leader, leaders) { + for (unit_map::const_iterator leader : leaders) { possible_recruits.insert(leader->recruits().begin(), leader->recruits().end()); } // Insert set in enemy_units. - BOOST_FOREACH(const std::string& possible_recruit, possible_recruits) { + for (const std::string& possible_recruit : possible_recruits) { const unit_type* recruit_type = unit_types.find(possible_recruit); if (recruit_type) { int hp = recruit_type->hitpoints(); @@ -957,17 +956,17 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { } } - BOOST_FOREACH(data& leader, *leader_data) { + for (data& leader : *leader_data) { if (leader.recruits.empty()) { continue; } typedef std::map simple_score_map; simple_score_map temp_scores; - BOOST_FOREACH(const unit_hp_vector::value_type& entry, enemy_units) { + for (const unit_hp_vector::value_type& entry : enemy_units) { const std::string& enemy_unit = entry.first; int enemy_unit_hp = entry.second; - BOOST_FOREACH(const std::string& recruit, leader.recruits) { + for (const std::string& recruit : leader.recruits) { double score = compare_unit_types(recruit, enemy_unit); score *= enemy_unit_hp; score = pow(score, COMBAT_SCORE_POWER); @@ -981,7 +980,7 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { // Find things for normalization. double max = -99999.; double sum = 0; - BOOST_FOREACH(const simple_score_map::value_type& entry, temp_scores) { + for (const simple_score_map::value_type& entry : temp_scores) { double score = entry.second; if (score > max) { max = score; @@ -1005,7 +1004,7 @@ void recruitment::do_combat_analysis(std::vector* leader_data) { new_0 -= 0.000001; } - BOOST_FOREACH(const simple_score_map::value_type& entry, temp_scores) { + for (const simple_score_map::value_type& entry : temp_scores) { const std::string& recruit = entry.first; double score = entry.second; @@ -1031,7 +1030,7 @@ const double* recruitment::get_cached_combat_value(const std::string& a, const s double best_distance = 999; const double* best_value = nullptr; const std::set& cache = combat_cache_[a][b]; - BOOST_FOREACH(const cached_combat_value& entry, cache) { + for (const cached_combat_value& entry : cache) { double distance_a = std::abs(entry.a_defense - a_defense); double distance_b = std::abs(entry.b_defense - b_defense); if (distance_a <= COMBAT_CACHE_TOLERANCY && distance_b <= COMBAT_CACHE_TOLERANCY) { @@ -1126,10 +1125,10 @@ void recruitment::simulate_attack( boost::shared_ptr best_att_attack; // Let attacker choose weapon - BOOST_FOREACH(const attack_type& att_weapon, attacker_weapons) { + for (const attack_type& att_weapon : attacker_weapons) { boost::shared_ptr best_def_response; // Let defender choose weapon - BOOST_FOREACH(const attack_type& def_weapon, defender_weapons) { + for (const attack_type& def_weapon : defender_weapons) { if (att_weapon.range() != def_weapon.range()) { continue; } @@ -1170,7 +1169,7 @@ config* recruitment::get_most_important_job() { config* most_important_job = nullptr; int most_important_importance = -1; int biggest_number = -1; - BOOST_FOREACH(config& job, recruitment_instructions_.child_range("recruit")) { + for (config& job : recruitment_instructions_.child_range("recruit")) { if (job.empty()) { continue; } @@ -1181,7 +1180,7 @@ config* recruitment::get_most_important_job() { // If the total flag is set we have to subtract // all existing units which matches the type. update_own_units_count(); - BOOST_FOREACH(const count_map::value_type& entry, own_units_count_) { + for (const count_map::value_type& entry : own_units_count_) { const std::string& unit_type = entry.first; const int count = entry.second; if (recruit_matches_job(unit_type, &job)) { @@ -1228,7 +1227,7 @@ const std::string recruitment::get_random_pattern_type_if_exists(const data& lea // Iteration through all elements. while (job_types_it != job_types.end()) { bool type_ok = false; - BOOST_FOREACH(const std::string& recruit, leader_data.recruits) { + for (const std::string& recruit : leader_data.recruits) { if (recruit_matches_type(recruit, *job_types_it) && limit_ok(recruit)) { type_ok = true; break; @@ -1288,7 +1287,7 @@ bool recruitment::leader_matches_job(const data& leader_data, const config* job) // First we make sure that this leader can recruit // at least one unit-type specified in the job. bool is_ok = false; - BOOST_FOREACH(const std::string& recruit, leader_data.recruits) { + for (const std::string& recruit : leader_data.recruits) { if (recruit_matches_job(recruit, job) && limit_ok(recruit)) { is_ok = true; break; @@ -1315,13 +1314,13 @@ bool recruitment::limit_ok(const std::string& recruit) const { // retrieve the aspect again. So the [limit]s can be altered during a turn. const config aspect = get_recruitment_instructions(); - BOOST_FOREACH(const config& limit, aspect.child_range("limit")) { + for (const config& limit : aspect.child_range("limit")) { std::vector types = utils::split(limit["type"]); // First check if the recruit matches one of the types. if (recruit_matches_types(recruit, types)) { // Count all own existing units which matches the type. int count = 0; - BOOST_FOREACH(const count_map::value_type& entry, own_units_count_) { + for (const count_map::value_type& entry : own_units_count_) { const std::string& unit = entry.first; int number = entry.second; if (recruit_matches_types(unit, types)) { @@ -1383,7 +1382,7 @@ bool recruitment::recruit_matches_types(const std::string& recruit, if (types.empty()) { return true; } - BOOST_FOREACH(const std::string& type, types) { + for (const std::string& type : types) { if (recruit_matches_type(recruit, type)) { return true; } @@ -1444,7 +1443,7 @@ double recruitment::get_estimated_unit_gain() const { double recruitment::get_estimated_village_gain() const { const gamemap& map = resources::gameboard->map(); int neutral_villages = 0; - BOOST_FOREACH(const map_location& village, map.villages()) { + for (const map_location& village : map.villages()) { if (resources::gameboard->village_owner(village) == -1) { ++neutral_villages; } @@ -1461,7 +1460,7 @@ double recruitment::get_unit_ratio() const { double own_total_value = 0.; double team_total_value = 0.; double enemy_total_value = 0.; - BOOST_FOREACH(const unit& unit, units) { + for (const unit& unit : units) { if (unit.incapacitated() || unit.total_movement() <= 0 || unit.can_recruit()) { continue; } @@ -1476,7 +1475,7 @@ double recruitment::get_unit_ratio() const { } } int allies_count = 0; - BOOST_FOREACH(const team& team, *resources::teams) { + for (const team& team : *resources::teams) { if (!current_team().is_enemy(team.side())) { ++allies_count; } @@ -1542,8 +1541,8 @@ void recruitment::do_randomness(std::vector* leader_data) const { if (!leader_data) { return; } - BOOST_FOREACH(data& data, *leader_data) { - BOOST_FOREACH(score_map::value_type& entry, data.scores) { + for (data& data : *leader_data) { + for (score_map::value_type& entry : data.scores) { double& score = entry.second; score += (static_cast(rand()) / RAND_MAX) * get_recruitment_randomness(); } @@ -1562,7 +1561,7 @@ void recruitment::do_similarity_penalty(std::vector* leader_data) const { if (!leader_data) { return; } - BOOST_FOREACH(data& data, *leader_data) { + for (data& data : *leader_data) { // First we count how many similarities each recruit have to other ones (in a map). // Some examples: // If unit A and unit B have nothing to do with each other, they have similarity = 0. @@ -1571,13 +1570,13 @@ void recruitment::do_similarity_penalty(std::vector* leader_data) const { // If A advances to B or C, A have similarity = 2. B and C have similarity = 1. typedef std::map similarity_map; similarity_map similarities; - BOOST_FOREACH(const score_map::value_type& entry, data.scores) { + for (const score_map::value_type& entry : data.scores) { const std::string& recruit = entry.first; const unit_type* recruit_type = unit_types.find(recruit); if (!recruit_type) { continue; } - BOOST_FOREACH(const std::string& advanced_type, recruit_type->advancement_tree()){ + for (const std::string& advanced_type : recruit_type->advancement_tree()) { if (data.scores.count(advanced_type) != 0) { ++similarities[recruit]; ++similarities[advanced_type]; @@ -1585,7 +1584,7 @@ void recruitment::do_similarity_penalty(std::vector* leader_data) const { } } // Now we divide each score by similarity + 1. - BOOST_FOREACH(score_map::value_type& entry, data.scores) { + for (score_map::value_type& entry : data.scores) { const std::string& recruit = entry.first; double& score = entry.second; score /= (similarities[recruit] + 1); @@ -1605,7 +1604,7 @@ int recruitment::get_cheapest_unit_cost_for_leader(const unit_map::const_iterato int cheapest_cost = 999999; // team recruits - BOOST_FOREACH(const std::string& recruit, current_team().recruits()) { + for (const std::string& recruit : current_team().recruits()) { const unit_type* const info = unit_types.find(recruit); if (!info) { continue; @@ -1615,7 +1614,7 @@ int recruitment::get_cheapest_unit_cost_for_leader(const unit_map::const_iterato } } // extra recruits - BOOST_FOREACH(const std::string& recruit, leader->recruits()) { + for (const std::string& recruit : leader->recruits()) { const unit_type* const info = unit_types.find(recruit); if (!info) { continue; @@ -1641,9 +1640,9 @@ void recruitment::handle_recruitment_more(std::vector* leader_data) const return; } const std::vector aspect = get_recruitment_more(); - BOOST_FOREACH(const std::string& type, aspect) { - BOOST_FOREACH(data& data, *leader_data) { - BOOST_FOREACH(score_map::value_type& entry, data.scores) { + for (const std::string& type : aspect) { + for (data& data : *leader_data) { + for (score_map::value_type& entry : data.scores) { const std::string& recruit = entry.first; double& score = entry.second; if (recruit_matches_type(recruit, type)) { @@ -1665,7 +1664,7 @@ bool recruitment::is_enemy_in_radius(const map_location& loc, int radius) const if (surrounding.empty()) { return false; } - BOOST_FOREACH(const map_location& loc, surrounding) { + for (const map_location& loc : surrounding) { const unit_map::const_iterator& enemy_it = units.find(loc); if(enemy_it == units.end()) { continue; @@ -1687,7 +1686,7 @@ void recruitment::update_own_units_count() { own_units_count_.clear(); total_own_units_ = 0; const unit_map& units = *resources::units; - BOOST_FOREACH(const unit& unit, units) { + for (const unit& unit : units) { if (unit.side() != get_side() || unit.can_recruit() || unit.incapacitated() || unit.total_movement() <= 0) { continue; @@ -1709,7 +1708,7 @@ void recruitment::update_scouts_wanted() { int neutral_villages = 0; // We recruit the initial allocation of scouts // based on how many neutral villages there are. - BOOST_FOREACH(const map_location& village, resources::gameboard->map().villages()) { + for (const map_location& village : resources::gameboard->map().villages()) { if (resources::gameboard->village_owner(village) == -1) { ++neutral_villages; } @@ -1729,7 +1728,7 @@ void recruitment::update_scouts_wanted() { } // Subtract already recruited scouts. - BOOST_FOREACH(const count_map::value_type& entry, own_units_count_) { + for (const count_map::value_type& entry : own_units_count_) { const std::string& unit_type = entry.first; const int count = entry.second; if (recruit_matches_type(unit_type, "scout")) { @@ -1783,12 +1782,12 @@ recruitment_aspect::recruitment_aspect(readonly_context &context, const config & { config parsed_cfg(cfg.has_child("value") ? cfg.child("value") : cfg); // First, transform simplified tags into [recruit] tags. - BOOST_FOREACH (config pattern, parsed_cfg.child_range("pattern")) { + for (config pattern : parsed_cfg.child_range("pattern")) { parsed_cfg["pattern"] = true; parsed_cfg.add_child("recruit", pattern); } parsed_cfg.clear_children("pattern"); - BOOST_FOREACH (config total, parsed_cfg.child_range("total")) { + for (config total : parsed_cfg.child_range("total")) { parsed_cfg["total"] = true; parsed_cfg.add_child("recruit", total); } @@ -1798,10 +1797,10 @@ recruitment_aspect::recruitment_aspect(readonly_context &context, const config & parsed_cfg.add_child("recruit", config_of("importance", 0)); } // Finally, populate our lists - BOOST_FOREACH (config job, parsed_cfg.child_range("recruit")) { + for (config job : parsed_cfg.child_range("recruit")) { create_job(jobs_, job); } - BOOST_FOREACH (config lim, parsed_cfg.child_range("limit")) { + for (config lim : parsed_cfg.child_range("limit")) { create_limit(limits_, lim); } boost::function2 >&, const config&> factory_jobs = @@ -1814,10 +1813,10 @@ recruitment_aspect::recruitment_aspect(readonly_context &context, const config & void recruitment_aspect::recalculate() const { config cfg; - BOOST_FOREACH (const boost::shared_ptr& job, jobs_) { + for (const boost::shared_ptr& job : jobs_) { cfg.add_child("recruit", job->to_config()); } - BOOST_FOREACH (const boost::shared_ptr& lim, limits_) { + for (const boost::shared_ptr& lim : limits_) { cfg.add_child("limit", lim->to_config()); } *this->value_ = cfg; diff --git a/src/ai/default/recruitment.hpp b/src/ai/default/recruitment.hpp index ce366a18e354..dae40729bc46 100644 --- a/src/ai/default/recruitment.hpp +++ b/src/ai/default/recruitment.hpp @@ -26,7 +26,6 @@ #include "units/unit.hpp" #include "units/map.hpp" -#include #include #include @@ -71,7 +70,7 @@ struct data { : leader(leader), ratio_score(1.0), recruit_count(0), in_danger(false) { } double get_score_sum() const { double sum = 0.0; - BOOST_FOREACH(const score_map::value_type& entry, scores) { + for (const score_map::value_type& entry : scores) { sum += entry.second; } return sum; @@ -82,7 +81,7 @@ struct data { return scores; } score_map normalized; - BOOST_FOREACH(const score_map::value_type& entry, scores) { + for (const score_map::value_type& entry : scores) { normalized[entry.first] = entry.second / sum; } return normalized; @@ -93,7 +92,7 @@ struct data { s << "For leader: " << leader->name() << "\n"; s << "ratio_score: " << ratio_score << "\n"; s << "recruit_count: " << recruit_count << "\n\n"; - BOOST_FOREACH(const score_map::value_type& entry, scores) { + for (const score_map::value_type& entry : scores) { s << std::setw(20) << entry.first << " score: " << std::setw(7) << entry.second << "\n"; } diff --git a/src/ai/default/stage_rca.cpp b/src/ai/default/stage_rca.cpp index 7fdc45f0b437..093cd51eb7df 100644 --- a/src/ai/default/stage_rca.cpp +++ b/src/ai/default/stage_rca.cpp @@ -28,7 +28,6 @@ #include "log.hpp" #include -#include namespace ai { @@ -49,7 +48,7 @@ candidate_action_evaluation_loop::candidate_action_evaluation_loop( ai_context & void candidate_action_evaluation_loop::on_create() { //init the candidate actions - BOOST_FOREACH(const config &cfg_element, cfg_.child_range("candidate_action")){ + for (const config &cfg_element : cfg_.child_range("candidate_action")) { engine::parse_candidate_action_from_config(*this,cfg_element,back_inserter(candidate_actions_)); } @@ -69,7 +68,7 @@ void candidate_action_evaluation_loop::create_candidate_action(std::vectorto_config()); } return cfg; @@ -88,7 +87,7 @@ bool candidate_action_evaluation_loop::do_play_stage() { LOG_AI_TESTING_RCA_DEFAULT << "Starting candidate action evaluation loop for side "<< get_side() << std::endl; - BOOST_FOREACH(candidate_action_ptr ca, candidate_actions_){ + for (candidate_action_ptr ca : candidate_actions_) { ca->enable(); } @@ -103,7 +102,7 @@ bool candidate_action_evaluation_loop::do_play_stage() candidate_action_ptr best_ptr; //Evaluation - BOOST_FOREACH(candidate_action_ptr ca_ptr, candidate_actions_){ + for (candidate_action_ptr ca_ptr : candidate_actions_) { if (!ca_ptr->is_enabled()){ DBG_AI_TESTING_RCA_DEFAULT << "Skipping disabled candidate action: "<< *ca_ptr << std::endl; continue; diff --git a/src/ai/formula/ai.cpp b/src/ai/formula/ai.cpp index df7c71b19435..76e81b739501 100644 --- a/src/ai/formula/ai.cpp +++ b/src/ai/formula/ai.cpp @@ -54,8 +54,6 @@ #include "ai/game_info.hpp" // for move_result_ptr, move_map, etc #include "candidates.hpp" // for base_candidate_action, etc - -#include // for auto_any_base, etc #include // for intrusive_ptr #include // for lexical_cast #include // for shared_ptr @@ -571,7 +569,7 @@ template variant villages_from_set(const Container& villages, const std::set* exclude=nullptr) { std::vector vars; - BOOST_FOREACH(const map_location& loc, villages) { + for(const map_location& loc : villages) { if(exclude && exclude->count(loc)) { continue; } @@ -632,7 +630,7 @@ variant formula_ai::get_value(const std::string& key) const { const std::vector &rp = get_recruitment_pattern(); std::vector vars; - BOOST_FOREACH(const std::string &i, rp) { + for(const std::string &i : rp) { vars.push_back(variant(i)); } return variant(&vars); @@ -766,7 +764,7 @@ variant formula_ai::get_value(const std::string& key) const std::vector v; tmp.push_back( v ); } - BOOST_FOREACH(const unit &u, units) { + for(const unit &u : units) { tmp[u.side() - 1].push_back(variant(new unit_callable(u))); } for( size_t i = 0; i - static lg::log_domain log_formula_ai("ai/engine/fai"); #define ERR_AI LOG_STREAM(err, log_formula_ai) @@ -66,7 +64,7 @@ candidate_action_with_filters::candidate_action_with_filters( const config & filter_params = cfg.child("filter"); if( filter_params ) { - BOOST_FOREACH( const config::attribute filter_param, filter_params.attribute_range() ) + for(const config::attribute filter_param : filter_params.attribute_range()) { game_logic::const_formula_ptr filter_formula( new game_logic::formula(filter_param.second, function_table)); diff --git a/src/ai/formula/function_table.cpp b/src/ai/formula/function_table.cpp index 1f81bfaec6c7..f22bc9dd49c6 100644 --- a/src/ai/formula/function_table.cpp +++ b/src/ai/formula/function_table.cpp @@ -37,8 +37,6 @@ #include "units/unit.hpp" #include "pathfind/pathfind.hpp" -#include - static lg::log_domain log_formula_ai("ai/engine/fai"); #define LOG_AI LOG_STREAM(info, log_formula_ai) #define WRN_AI LOG_STREAM(warn, log_formula_ai) @@ -343,7 +341,7 @@ class calculate_map_ownership_function : public function_expression { if( scores[current_side][i] > 98 ) continue; - BOOST_FOREACH( int side , enemies) { + for (int side : enemies) { int diff = scores[current_side][i] - scores[side][i]; if ( diff > enemy_tollerancy) { valid = false; @@ -353,7 +351,7 @@ class calculate_map_ownership_function : public function_expression { } if( valid ) { - BOOST_FOREACH( int side , allies) { + for (int side : allies) { if ( scores[current_side][i] - scores[side][i] > ally_tollerancy ) { valid = false; break; @@ -549,7 +547,7 @@ class castle_locs_function : public function_expression { visited_locs.erase(starting_loc); std::vector res; - BOOST_FOREACH( const map_location& ml, visited_locs) { + for (const map_location& ml : visited_locs) { res.push_back( variant(new location_callable( ml ) ) ); } @@ -825,7 +823,7 @@ class outcomes_function : public function_expression { ai::attack_analysis* analysis = convert_variant(attack); //unit_map units_with_moves(*resources::units); //typedef std::pair mv; - //BOOST_FOREACH(const mv &m, analysis->movements) { + //for(const mv &m : analysis->movements) { // units_with_moves.move(m.first, m.second); //} @@ -1602,7 +1600,7 @@ class max_possible_damage_with_retaliation_function : public function_expression std::vector attacks = attacker.attacks(); - BOOST_FOREACH(const attack_type &attack, attacks) { + for (const attack_type &attack : attacks) { const int dmg = round_damage(attack.damage(), defender.damage_from(attack), 100) * attack.num_attacks(); if (attack.range() == "melee") { highest_melee_damage = std::max(highest_melee_damage, dmg); diff --git a/src/ai/manager.cpp b/src/ai/manager.cpp index 111a012b4a63..879331f7b3df 100644 --- a/src/ai/manager.cpp +++ b/src/ai/manager.cpp @@ -45,7 +45,6 @@ #include // for min -#include // for auto_any_base, etc #include // for assert #include // for reverse_iterator, etc #include // for _Rb_tree_iterator, etc @@ -107,7 +106,7 @@ void holder::init( side_number side ) if (this->ai_) { ai_->on_create(); - BOOST_FOREACH(config &mod_ai, cfg_.child_range("modify_ai")) { + for (config &mod_ai : cfg_.child_range("modify_ai")) { if (!mod_ai.has_attribute("side")) { mod_ai["side"] = side; } @@ -169,8 +168,8 @@ void holder::modify_side_ai_config(config cfg) cfg_.merge_children_by_attribute("aspect","id"); } else { // else run 'add_facet' command on each [aspect][facet] - BOOST_FOREACH(const config &cfg_a, cfg.child_range("aspect")) { - BOOST_FOREACH(const config &cfg_f, cfg_a.child_range("facet")) { + for (const config &cfg_a : cfg.child_range("aspect")) { + for (const config &cfg_f : cfg_a.child_range("facet")) { readonly_context_->add_facet(cfg_a["id"],cfg_f); } } @@ -714,7 +713,7 @@ void manager::clear_ais() void manager::modify_active_ai_config_old_for_side ( side_number side, const config::const_child_itors &ai_parameters ) { - BOOST_FOREACH(const config& cfg, ai_parameters) { + for (const config& cfg : ai_parameters) { get_active_ai_holder_for_side(side).modify_side_ai_config(cfg); } } diff --git a/src/arrow.cpp b/src/arrow.cpp index 26d38757a120..b95676595469 100644 --- a/src/arrow.cpp +++ b/src/arrow.cpp @@ -23,8 +23,6 @@ #include "log.hpp" #include "resources.hpp" -#include - static lg::log_domain log_arrows("arrows"); #define ERR_ARR LOG_STREAM(err, log_arrows) #define WRN_ARR LOG_STREAM(warn, log_arrows) @@ -289,7 +287,7 @@ void arrow::invalidate_arrow_path(arrow_path_t const& path) { if(!SCREEN) return; - BOOST_FOREACH(map_location const& loc, path) + for (map_location const& loc : path) { SCREEN->invalidate(loc); } diff --git a/src/campaign_server/addon_utils.cpp b/src/campaign_server/addon_utils.cpp index b1bb9c7a294e..082584d857fc 100644 --- a/src/campaign_server/addon_utils.cpp +++ b/src/campaign_server/addon_utils.cpp @@ -21,8 +21,6 @@ #include "log.hpp" #include "serialization/string_utils.hpp" -#include - static lg::log_domain log_network("network"); #define LOG_CS if (lg::err().dont_log(log_network)) ; else lg::err()(log_network, false) diff --git a/src/campaign_server/blacklist.cpp b/src/campaign_server/blacklist.cpp index 2ed4a44cfa5e..a01be4b592c1 100644 --- a/src/campaign_server/blacklist.cpp +++ b/src/campaign_server/blacklist.cpp @@ -18,8 +18,6 @@ #include "serialization/string_utils.hpp" #include "serialization/unicode.hpp" -#include - static lg::log_domain log_campaignd_bl("campaignd/blacklist"); #define LOG_BL LOG_STREAM(err, log_campaignd_bl) diff --git a/src/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index e9e2913acff6..9adcd5994568 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -40,7 +40,6 @@ #include #include -#include #include #include #include diff --git a/src/carryover.cpp b/src/carryover.cpp index 1296727b6a1d..1b3d2f2b20cb 100644 --- a/src/carryover.cpp +++ b/src/carryover.cpp @@ -19,7 +19,6 @@ #include "config.hpp" #include "team.hpp" #include "units/unit.hpp" -#include #include carryover::carryover(const config& side) @@ -32,7 +31,7 @@ carryover::carryover(const config& side) , save_id_(side["save_id"]) , variables_(side.child_or_empty("variables")) { - BOOST_FOREACH(const config& u, side.child_range("unit")){ + for(const config& u : side.child_range("unit")) { recall_list_.push_back(u); config& u_back = recall_list_.back(); u_back.remove_attribute("side"); @@ -52,7 +51,7 @@ carryover::carryover(const team& t, const int gold, const bool add) , save_id_(t.save_id()) , variables_(t.variables()) { - BOOST_FOREACH(const unit_const_ptr & u, t.recall_list()) { + for(const unit_const_ptr & u : t.recall_list()) { recall_list_.push_back(config()); u->write(recall_list_.back()); } @@ -87,7 +86,7 @@ void carryover::transfer_all_recruits_to(config& side_cfg){ } void carryover::transfer_all_recalls_to(config& side_cfg){ - BOOST_FOREACH(const config & u_cfg, recall_list_) { + for(const config & u_cfg : recall_list_) { side_cfg.add_child("unit", u_cfg); } recall_list_.clear(); @@ -106,7 +105,7 @@ std::string carryover::get_recruits(bool erase){ const std::string carryover::to_string(){ std::string side = ""; side.append("Side " + save_id_ + ": gold " + std::to_string(gold_) + " recruits " + get_recruits(false) + " units "); - BOOST_FOREACH(const config & u_cfg, recall_list_) { + for(const config & u_cfg : recall_list_) { side.append(u_cfg["name"].str() + ", "); } return side; @@ -119,8 +118,9 @@ void carryover::to_config(config& cfg){ side["add"] = add_; side["current_player"] = current_player_; side["previous_recruits"] = get_recruits(false); - BOOST_FOREACH(const config & u_cfg, recall_list_) + for(const config & u_cfg : recall_list_) { side.add_child("unit", u_cfg); + } } carryover_info::carryover_info(const config& cfg, bool from_snpashot) @@ -131,7 +131,7 @@ carryover_info::carryover_info(const config& cfg, bool from_snpashot) , next_scenario_(cfg["next_scenario"]) , next_underlying_unit_id_(cfg["next_underlying_unit_id"].to_int(0)) { - BOOST_FOREACH(const config& side, cfg.child_range("side")) + for(const config& side : cfg.child_range("side")) { if(side["lost"].to_bool(false) || !side["persistent"].to_bool(true)) { @@ -141,7 +141,7 @@ carryover_info::carryover_info(const config& cfg, bool from_snpashot) } this->carryover_sides_.push_back(carryover(side)); } - BOOST_FOREACH(const config& item, cfg.child_range("menu_item")) + for(const config& item : cfg.child_range("menu_item")) { wml_menu_items_.push_back(new config(item)); } @@ -222,7 +222,7 @@ void carryover_info::transfer_to(config& level) } if(!level.has_child("menu_item")){ - BOOST_FOREACH(config& item , wml_menu_items_) + for(config& item : wml_menu_items_) { level.add_child("menu_item").swap(item); } @@ -240,7 +240,7 @@ const config carryover_info::to_config() cfg["next_underlying_unit_id"] = next_underlying_unit_id_; cfg["next_scenario"] = next_scenario_; - BOOST_FOREACH(carryover& c, carryover_sides_){ + for(carryover& c : carryover_sides_) { c.to_config(cfg); } @@ -248,7 +248,7 @@ const config carryover_info::to_config() cfg["random_calls"] = rng_.get_random_calls(); cfg.add_child("variables", variables_); - BOOST_FOREACH(const config& item , wml_menu_items_) + for(const config& item : wml_menu_items_) { cfg.add_child("menu_item", item); } @@ -256,7 +256,7 @@ const config carryover_info::to_config() } carryover* carryover_info::get_side(std::string save_id){ - BOOST_FOREACH(carryover& side, carryover_sides_){ + for(carryover& side : carryover_sides_) { if(side.get_save_id() == save_id){ return &side; } @@ -267,7 +267,7 @@ carryover* carryover_info::get_side(std::string save_id){ void carryover_info::merge_old_carryover(const carryover_info& old_carryover) { - BOOST_FOREACH(const carryover & old_side, old_carryover.carryover_sides_) + for(const carryover & old_side : old_carryover.carryover_sides_) { std::vector::iterator iside = std::find_if( carryover_sides_.begin(), diff --git a/src/commandline_options.cpp b/src/commandline_options.cpp index 66ce059fa09e..6cc779dab3f7 100644 --- a/src/commandline_options.cpp +++ b/src/commandline_options.cpp @@ -22,7 +22,6 @@ #include "util.hpp" // for lexical_cast #include // for any -#include // for auto_any_base, etc #include #include // for validation_error, etc #include @@ -497,7 +496,7 @@ commandline_options::commandline_options (const std::vector& args) void commandline_options::parse_log_domains_(const std::string &domains_string, const int severity) { const std::vector domains = utils::split(domains_string, ','); - BOOST_FOREACH(const std::string& domain, domains) + for (const std::string& domain : domains) { if (!log) log = std::vector >(); @@ -507,7 +506,7 @@ void commandline_options::parse_log_domains_(const std::string &domains_string, void commandline_options::parse_log_strictness (const std::string & severity ) { static lg::logger const *loggers[] = { &lg::err(), &lg::warn(), &lg::info(), &lg::debug() }; - BOOST_FOREACH (const lg::logger * l, loggers ) { + for (const lg::logger * l : loggers ) { if (severity == l->get_name()) { lg::set_strict_severity(*l); return ; @@ -543,7 +542,7 @@ std::vector > commandline_options::parse_ const std::string& expected_format = std::string() + "UINT" + separator + "STRING"; - BOOST_FOREACH(const std::string &s, strings) + for (const std::string &s : strings) { const std::vector tokens = utils::split(s, separator); if(tokens.size() != 2) { @@ -571,7 +570,7 @@ std::vector > commandline_opt const std::string& expected_format = std::string() + "UINT" + separator + "STRING" + separator + "STRING"; - BOOST_FOREACH(const std::string &s, strings) + for (const std::string &s : strings) { const std::vector tokens = utils::split(s, separator); if(tokens.size() != 3) { diff --git a/src/config.cpp b/src/config.cpp index 245d4d483820..6e9cc433d192 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -32,7 +32,6 @@ #include #include -#include #include #include #include @@ -501,7 +500,7 @@ bool config::valid_id(const std::string& id) if (id.empty()) { return false; } - BOOST_FOREACH(char c, id) { + for (char c : id) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_') { //valid character. } @@ -542,7 +541,7 @@ void config::append_children(const config &cfg) { check_valid(cfg); - BOOST_FOREACH(const any_child &value, cfg.all_children_range()) { + for (const any_child &value : cfg.all_children_range()) { add_child(value.key, value.cfg); } } @@ -550,7 +549,7 @@ void config::append_children(const config &cfg) void config::append_attributes(const config &cfg) { check_valid(cfg); - BOOST_FOREACH(const attribute &v, cfg.values) { + for (const attribute &v : cfg.values) { values[v.first] = v.second; } } @@ -559,7 +558,7 @@ void config::append_children(const config &cfg, const std::string& key) { check_valid(cfg); - BOOST_FOREACH(const config &value, cfg.child_range(key)) { + for (const config &value : cfg.child_range(key)) { add_child(key, value); } } @@ -567,7 +566,7 @@ void config::append_children(const config &cfg, const std::string& key) void config::append(const config &cfg) { append_children(cfg); - BOOST_FOREACH(const attribute &v, cfg.values) { + for (const attribute &v : cfg.values) { values[v.first] = v.second; } } @@ -579,7 +578,7 @@ void config::merge_children(const std::string& key) if (child_count(key) < 2) return; config merged_children; - BOOST_FOREACH(const config &cfg, child_range(key)) { + for (const config &cfg : child_range(key)) { merged_children.append(cfg); } @@ -595,7 +594,7 @@ void config::merge_children_by_attribute(const std::string& key, const std::stri typedef std::map config_map; config_map merged_children_map; - BOOST_FOREACH(const config &cfg, child_range(key)) { + for (const config &cfg : child_range(key)) { const std::string &value = cfg[attribute]; config_map::iterator m = merged_children_map.find(value); if ( m!=merged_children_map.end() ) { @@ -606,7 +605,7 @@ void config::merge_children_by_attribute(const std::string& key, const std::stri } clear_children(key); - BOOST_FOREACH(const config_map::value_type &i, merged_children_map) { + for (const config_map::value_type &i : merged_children_map) { add_child(key,i.second); } } @@ -828,7 +827,7 @@ void config::clear_children(const std::string& key) ordered_children.erase(std::remove_if(ordered_children.begin(), ordered_children.end(), remove_ordered(i)), ordered_children.end()); - BOOST_FOREACH(config *c, i->second) { + for (config *c : i->second) { delete c; } @@ -864,7 +863,7 @@ void config::recursive_clear_value(const std::string& key) values.erase(key); - BOOST_FOREACH(const any_child &value, all_children_range()) { + for (const any_child &value : all_children_range()) { const_cast(&value.cfg)->recursive_clear_value(key); } } @@ -875,7 +874,7 @@ std::vector::iterator config::remove_child( /* Find the position with the correct index and decrement all the indices in the ordering that are above this index. */ unsigned found = 0; - BOOST_FOREACH(child_pos &p, ordered_children) + for (child_pos &p : ordered_children) { if (p.pos != pos) continue; if (p.index == index) @@ -971,7 +970,7 @@ void config::merge_attributes(const config &cfg) check_valid(cfg); assert(this != &cfg); - BOOST_FOREACH(const attribute &v, cfg.values) { + for (const attribute &v : cfg.values) { std::string key = v.first; if (key.substr(0,7) == "add_to_") { @@ -1257,21 +1256,21 @@ void config::apply_diff(const config& diff, bool track /* = false */) if (track) values[diff_track_attribute] = "modified"; if (const config &inserts = diff.child("insert")) { - BOOST_FOREACH(const attribute &v, inserts.attribute_range()) { + for (const attribute &v : inserts.attribute_range()) { values[v.first] = v.second; } } if (const config &deletes = diff.child("delete")) { - BOOST_FOREACH(const attribute &v, deletes.attribute_range()) { + for (const attribute &v : deletes.attribute_range()) { values.erase(v.first); } } - BOOST_FOREACH(const config &i, diff.child_range("change_child")) + for (const config &i : diff.child_range("change_child")) { const size_t index = lexical_cast(i["index"].str()); - BOOST_FOREACH(const any_child &item, i.all_children_range()) + for (const any_child &item : i.all_children_range()) { if (item.key.empty()) { continue; @@ -1286,19 +1285,19 @@ void config::apply_diff(const config& diff, bool track /* = false */) } } - BOOST_FOREACH(const config &i, diff.child_range("insert_child")) + for (const config &i : diff.child_range("insert_child")) { const size_t index = lexical_cast(i["index"].str()); - BOOST_FOREACH(const any_child &item, i.all_children_range()) { + for (const any_child &item : i.all_children_range()) { config& inserted = add_child_at(item.key, item.cfg, index); if (track) inserted[diff_track_attribute] = "new"; } } - BOOST_FOREACH(const config &i, diff.child_range("delete_child")) + for (const config &i : diff.child_range("delete_child")) { const size_t index = lexical_cast(i["index"].str()); - BOOST_FOREACH(const any_child &item, i.all_children_range()) { + for (const any_child &item : i.all_children_range()) { if (!track) { remove_child(item.key, index); } else { @@ -1315,18 +1314,18 @@ void config::apply_diff(const config& diff, bool track /* = false */) void config::clear_diff_track(const config& diff) { remove_attribute(diff_track_attribute); - BOOST_FOREACH(const config &i, diff.child_range("delete_child")) + for (const config &i : diff.child_range("delete_child")) { const size_t index = lexical_cast(i["index"].str()); - BOOST_FOREACH(const any_child &item, i.all_children_range()) { + for (const any_child &item : i.all_children_range()) { remove_child(item.key, index); } } - BOOST_FOREACH(const config &i, diff.child_range("change_child")) + for (const config &i : diff.child_range("change_child")) { const size_t index = lexical_cast(i["index"].str()); - BOOST_FOREACH(const any_child &item, i.all_children_range()) + for (const any_child &item : i.all_children_range()) { if (item.key.empty()) { continue; @@ -1340,7 +1339,7 @@ void config::clear_diff_track(const config& diff) itor->second[index]->clear_diff_track(item.cfg); } } - BOOST_FOREACH(const any_child &value, all_children_range()) { + for (const any_child &value : all_children_range()) { const_cast(&value.cfg)->remove_attribute(diff_track_attribute); } } @@ -1388,7 +1387,7 @@ void config::merge_with(const config& c) // Remove those marked so std::map removals; - BOOST_FOREACH(const child_pos& pos, to_remove) { + for (const child_pos& pos : to_remove) { const std::string& tag = pos.pos->first; unsigned &removes = removals[tag]; remove_child(tag, pos.index - removes++); @@ -1412,20 +1411,20 @@ bool config::matches(const config &filter) const { check_valid(filter); - BOOST_FOREACH(const attribute &i, filter.attribute_range()) + for (const attribute &i : filter.attribute_range()) { const attribute_value *v = get(i.first); if (!v || *v != i.second) return false; } - BOOST_FOREACH(const any_child &i, filter.all_children_range()) + for (const any_child &i : filter.all_children_range()) { if (i.key == "not") { if (matches(i.cfg)) return false; continue; } bool found = false; - BOOST_FOREACH(const config &j, child_range(i.key)) { + for (const config &j : child_range(i.key)) { if (j.matches(i.cfg)) { found = true; break; @@ -1449,12 +1448,12 @@ std::ostream& operator << (std::ostream& outstream, const config& cfg) { static int i = 0; i++; - BOOST_FOREACH(const config::attribute &val, cfg.attribute_range()) { + for (const config::attribute &val : cfg.attribute_range()) { if(val.second.blank()) continue; for (int j = 0; j < i-1; j++){ outstream << char(9); } outstream << val.first << " = " << val.second << '\n'; } - BOOST_FOREACH(const config::any_child &child, cfg.all_children_range()) + for (const config::any_child &child : cfg.all_children_range()) { for (int j = 0; j < i - 1; ++j) outstream << char(9); outstream << "[" << child.key << "]\n"; @@ -1483,7 +1482,7 @@ std::string config::hash() const hash_str[hash_length] = 0; i = 0; - BOOST_FOREACH(const attribute &val, values) + for (const attribute &val : values) { for (c = val.first.begin(); c != val.first.end(); ++c) { hash_str[i] ^= *c; @@ -1496,10 +1495,10 @@ std::string config::hash() const } } - BOOST_FOREACH(const any_child &ch, all_children_range()) + for (const any_child &ch : all_children_range()) { std::string child_hash = ch.cfg.hash(); - BOOST_FOREACH(char c, child_hash) { + for (char c : child_hash) { hash_str[i] ^= c; ++i; if(i == hash_length) { diff --git a/src/config_cache.cpp b/src/config_cache.cpp index 25f07aec8fe2..dbdaf0517f31 100644 --- a/src/config_cache.cpp +++ b/src/config_cache.cpp @@ -26,7 +26,6 @@ #include "serialization/string_utils.hpp" #include "version.hpp" -#include #include #include @@ -112,7 +111,7 @@ void config_cache::write_file(std::string path, const preproc_map& defines) config_writer writer(*stream, true, game_config::cache_compression_level); // Write all defines to stream. - BOOST_FOREACH(const preproc_map::value_type& define, defines) { + for(const preproc_map::value_type& define : defines) { define.second.write(writer, define.first); } } @@ -149,7 +148,7 @@ void config_cache::read_cache(const std::string& path, config& cfg) bool is_valid = true; - BOOST_FOREACH(const preproc_map::value_type& d, defines_map_) { + for(const preproc_map::value_type& d : defines_map_) { // // Only WESNOTH_VERSION is allowed to be non-empty. // @@ -262,7 +261,7 @@ void config_cache::read_defines_file(const std::string& path) // use static preproc_define::read_pair(config) to make a object // and pass that object config_cache_transaction::insert_to_active method - BOOST_FOREACH(const config::any_child &value, cfg.all_children_range()) { + for(const config::any_child &value : cfg.all_children_range()) { config_cache_transaction::instance().insert_to_active( preproc_define::read_pair(value.cfg)); } @@ -272,7 +271,7 @@ void config_cache::read_defines_queue() { const std::vector& files = config_cache_transaction::instance().get_define_files(); - BOOST_FOREACH(const std::string &path, files) { + for(const std::string &path : files) { read_defines_file(path); } } @@ -378,7 +377,7 @@ bool config_cache::delete_cache_files(const std::vector& paths, const bool delete_everything = exclude_pattern.empty(); bool status = true; - BOOST_FOREACH(const std::string& path, paths) + for(const std::string& path : paths) { if(!delete_everything) { const std::string& fn = filesystem::base_name(path); @@ -479,7 +478,7 @@ void config_cache_transaction::add_defines_map_diff(preproc_map& new_map) std::insert_iterator(temp,temp.begin()), &compare_define); - BOOST_FOREACH(const preproc_map::value_type &def, temp) { + for(const preproc_map::value_type &def : temp) { insert_to_active(def); } diff --git a/src/controller_base.cpp b/src/controller_base.cpp index ec0b8fcb1b0a..ffe7ec5fb2f3 100644 --- a/src/controller_base.cpp +++ b/src/controller_base.cpp @@ -26,8 +26,6 @@ #include "scripting/plugins/context.hpp" #include "soundsource.hpp" -#include - static lg::log_domain log_display("display"); #define ERR_DP LOG_STREAM(err, log_display) @@ -139,7 +137,7 @@ bool controller_base::handle_scroll(CKey& key, int mousex, int mousey, int mouse int dx = 0, dy = 0; int scroll_threshold = (preferences::mouse_scroll_enabled()) ? preferences::mouse_scroll_threshold() : 0; - BOOST_FOREACH(const theme::menu& m, get_display().get_theme().menus()) { + for (const theme::menu& m : get_display().get_theme().menus()) { if (sdl::point_in_rect(mousex, mousey, m.get_location())) { scroll_threshold = 0; } @@ -307,7 +305,7 @@ void controller_base::execute_action(const std::vector& items_arg, } std::vector items; - BOOST_FOREACH(const std::string& item, items_arg) { + for (const std::string& item : items_arg) { const hotkey::hotkey_command& command = hotkey::get_hotkey_command(item); if(cmd_exec->can_execute_command(command)) diff --git a/src/dialogs.cpp b/src/dialogs.cpp index eafabec9817e..30db677a0905 100644 --- a/src/dialogs.cpp +++ b/src/dialogs.cpp @@ -61,7 +61,6 @@ #include "gui/dialogs/transient_message.hpp" #include "ai/lua/aspect_advancements.hpp" -#include #include #include @@ -107,7 +106,7 @@ template void dump(const T & units) LOG_DP << "size: " << units.size() << "\n"; size_t idx = 0; - BOOST_FOREACH(const unit_const_ptr & u_ptr, units) { + for (const unit_const_ptr & u_ptr : units) { LOG_DP << "unit[" << (idx++) << "]: " << u_ptr->id() << " name = '" << u_ptr->name() << "'\n"; } } @@ -194,7 +193,7 @@ int advance_unit_dialog(const map_location &loc) } bool always_display = false; - BOOST_FOREACH(const config &mod, u->get_modification_advances()) + for (const config &mod : u->get_modification_advances()) { if (mod["always_display"].to_bool()) always_display = true; sample_units->push_back(::get_amla_unit(*u, mod)); @@ -483,7 +482,7 @@ int recall_dialog(display& disp, const boost::shared_ptrname(); @@ -499,7 +498,7 @@ int recall_dialog(display& disp, const boost::shared_ptroverlays()) + for(const std::string& overlay : u->overlays()) { option << "~BLIT(" << overlay << ")"; } @@ -545,7 +544,7 @@ int recall_dialog(display& disp, const boost::shared_ptrtype_name() << " " << name << " " << u->level(); option << COLUMN_SEPARATOR; - BOOST_FOREACH(const t_string& trait, u->trait_names()) { + for(const t_string& trait : u->trait_names()) { option << trait << '\n'; option_to_filter << " " << trait; } @@ -711,7 +710,7 @@ void unit_preview_pane::draw_contents() image_rect = rect; if(!det.overlays.empty()) { - BOOST_FOREACH(const std::string& overlay, det.overlays) { + for(const std::string& overlay : det.overlays) { sdl::timage oi = image::get_texture(overlay); if(!oi.null()) { @@ -856,7 +855,7 @@ void unit_preview_pane::draw_contents() image_rect = rect; if(!det.overlays.empty()) { - BOOST_FOREACH(const std::string& overlay, det.overlays) { + for(const std::string& overlay : det.overlays) { surface os = image::get_image(overlay); if(!os) { @@ -1049,7 +1048,7 @@ const unit_preview_pane::details units_list_preview_pane::get_details() const det.overlays.push_back(unit::leader_crown()); }; - BOOST_FOREACH(const std::string& overlay, u.overlays()) { + for(const std::string& overlay : u.overlays()) { det.overlays.push_back(overlay); } @@ -1097,7 +1096,7 @@ const unit_types_preview_pane::details unit_types_preview_pane::get_details() co det.race = t->race()->name(t->genders().front()); //FIXME: This probably must be move into a unit_type function - BOOST_FOREACH(const config &tr, t->possible_traits()) + for (const config &tr : t->possible_traits()) { if (tr["availability"] != "musthave") continue; @@ -1128,7 +1127,7 @@ const unit_types_preview_pane::details unit_types_preview_pane::get_details() co // Check if AMLA color is needed // FIXME: not sure if it's fully accurate (but not very important for unit_type) // xp_color also need a simpler function for doing this - BOOST_FOREACH(const config &adv, t->modification_advancements()) + for (const config &adv : t->modification_advancements()) { if (!adv["strict_amla"].to_bool() || !t->can_advance()) { det.xp_color = "<170,0,255>"; // from unit::xp_color() diff --git a/src/display.cpp b/src/display.cpp index 4b4082e6a12a..32c78258df2a 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -50,8 +50,6 @@ #include -#include - #ifdef __SUNPRO_CC // GCC doesn't have hypot in cmath so include it for Sun Studio #include @@ -84,7 +82,7 @@ void display::parse_team_overlays() { const team& curr_team = dc_->teams()[playing_team()]; const team& prev_team = dc_->teams()[playing_team()-1 < dc_->teams().size() ? playing_team()-1 : dc_->teams().size()-1]; - BOOST_FOREACH(const game_display::overlay_map::value_type i, *overlays_) { + for (const game_display::overlay_map::value_type i : *overlays_) { const overlay& ov = i.second; if (!ov.team_name.empty() && ((ov.team_name.find(curr_team.team_name()) + 1) != 0) != @@ -976,15 +974,15 @@ void display::create_buttons() void display::render_buttons() { - BOOST_FOREACH(gui::button &btn, menu_buttons_) { + for (gui::button &btn : menu_buttons_) { btn.set_dirty(true); } - BOOST_FOREACH(gui::button &btn, action_buttons_) { + for (gui::button &btn : action_buttons_) { btn.set_dirty(true); } - BOOST_FOREACH(gui::slider &sld, sliders_) { + for (gui::slider &sld : sliders_) { sld.set_dirty(true); } } @@ -1094,7 +1092,7 @@ std::vector display::get_fog_shroud_images(const map_location& loc, ima std::vector res; #endif - BOOST_FOREACH(std::string& name, names) { + for (std::string& name : names) { #ifdef SDL_GPU const sdl::timage img(image::get_texture(name, image_type)); if (!img.null()) @@ -1336,8 +1334,8 @@ void display::drawing_buffer_commit() * layergroup > location > layer > 'tblit' > surface */ - BOOST_FOREACH(tblit &blit, drawing_buffer_) { - BOOST_FOREACH(sdl::timage& img, blit.images()) { + for (tblit &blit : drawing_buffer_) { + for (sdl::timage& img : blit.images()) { if (!img.null()) { screen_.draw_texture(img, blit.x(), blit.y()); } @@ -1363,8 +1361,8 @@ void display::drawing_buffer_commit() * layergroup > location > layer > 'tblit' > surface */ - BOOST_FOREACH(const tblit &blit, drawing_buffer_) { - BOOST_FOREACH(const surface& surf, blit.surf()) { + for (const tblit &blit : drawing_buffer_) { + for (const surface& surf : blit.surf()) { // Note that dstrect can be changed by sdl_blit // and so a new instance should be initialized // to pass to each call to sdl_blit. @@ -2678,7 +2676,7 @@ void display::redraw_everything() int ticks3 = SDL_GetTicks(); LOG_DP << "invalidate and draw: " << (ticks3 - ticks2) << " and " << (ticks2 - ticks1) << "\n"; - BOOST_FOREACH(boost::function f, redraw_observers_) { + for (boost::function f : redraw_observers_) { f(*this); } @@ -2789,7 +2787,7 @@ void display::draw_invalidated() { SDL_Rect clip_rect = get_clip_rect(); surface& screen = get_screen_surface(); clip_rect_setter set_clip_rect(screen, &clip_rect); - BOOST_FOREACH(const map_location& loc, invalidated_) { + for (const map_location& loc : invalidated_) { int xpos = get_location_x(loc); int ypos = get_location_y(loc); @@ -2811,7 +2809,7 @@ void display::draw_invalidated() { unit_drawer drawer = unit_drawer(*this, energy_bar_rects_); - BOOST_FOREACH(const map_location& loc, invalidated_) { + for (const map_location& loc : invalidated_) { unit_map::const_iterator u_it = dc_->units().find(loc); exclusive_unit_draw_requests_t::iterator request = exclusive_unit_draw_requests_.find(loc); if (u_it != dc_->units().end() @@ -2938,7 +2936,7 @@ void display::draw_hex(const map_location& loc) { // Paint arrows arrows_map_t::const_iterator arrows_in_hex = arrows_map_.find(loc); if(arrows_in_hex != arrows_map_.end()) { - BOOST_FOREACH(arrow* const a, arrows_in_hex->second) { + for (arrow* const a : arrows_in_hex->second) { a->draw_hex(loc); } } @@ -3543,7 +3541,7 @@ bool display::invalidate(const std::set& locs) if(invalidateAll_) return false; bool ret = false; - BOOST_FOREACH(const map_location& loc, locs) { + for (const map_location& loc : locs) { #ifdef _OPENMP #pragma omp critical(invalidated_) #endif //_OPENMP @@ -3593,7 +3591,7 @@ bool display::invalidate_locations_in_rect(const SDL_Rect& rect) return false; bool result = false; - BOOST_FOREACH(const map_location &loc, hexes_under_rect(rect)) { + for (const map_location &loc : hexes_under_rect(rect)) { result |= invalidate(loc); } return result; @@ -3614,7 +3612,7 @@ void display::invalidate_animations() new_animation_frame(); animate_map_ = preferences::animate_map(); if (animate_map_) { - BOOST_FOREACH(const map_location &loc, get_visible_hexes()) + for (const map_location &loc : get_visible_hexes()) { if (shrouded(loc)) continue; if (builder_->update_animation(loc)) { @@ -3626,22 +3624,22 @@ void display::invalidate_animations() } #ifndef _OPENMP - BOOST_FOREACH(const unit & u, dc_->units()) { + for (const unit & u : dc_->units()) { u.anim_comp().refresh(); } - BOOST_FOREACH(const unit* u, *fake_unit_man_) { + for (const unit* u : *fake_unit_man_) { u->anim_comp().refresh(); } #else std::vector open_mp_list; - BOOST_FOREACH(const unit & u, dc_->units()) { + for (const unit & u : dc_->units()) { open_mp_list.push_back(&u); } // Note that it is an important assumption of the // system that the fake units are added to the list // after the real units, so that e.g. whiteboard // planned moves are drawn over the real units. - BOOST_FOREACH(const unit* u, *fake_unit_man_) { + for (const unit* u : *fake_unit_man_) { open_mp_list.push_back(u); } @@ -3663,10 +3661,10 @@ void display::invalidate_animations() do { new_inval = false; #ifndef _OPENMP - BOOST_FOREACH(const unit & u, dc_->units()) { + for (const unit & u : dc_->units()) { new_inval |= u.anim_comp().invalidate(*this); } - BOOST_FOREACH(const unit* u, *fake_unit_man_) { + for (const unit* u : *fake_unit_man_) { new_inval |= u->anim_comp().invalidate(*this); } #else @@ -3681,7 +3679,7 @@ void display::invalidate_animations() void display::add_arrow(arrow& arrow) { const arrow_path_t & arrow_path = arrow.get_path(); - BOOST_FOREACH(const map_location& loc, arrow_path) + for (const map_location& loc : arrow_path) { arrows_map_[loc].push_back(&arrow); } @@ -3690,7 +3688,7 @@ void display::add_arrow(arrow& arrow) void display::remove_arrow(arrow& arrow) { const arrow_path_t & arrow_path = arrow.get_path(); - BOOST_FOREACH(const map_location& loc, arrow_path) + for (const map_location& loc : arrow_path) { arrows_map_[loc].remove(&arrow); } @@ -3699,12 +3697,12 @@ void display::remove_arrow(arrow& arrow) void display::update_arrow(arrow & arrow) { const arrow_path_t & previous_path = arrow.get_previous_path(); - BOOST_FOREACH(const map_location& loc, previous_path) + for (const map_location& loc : previous_path) { arrows_map_[loc].remove(&arrow); } const arrow_path_t & arrow_path = arrow.get_path(); - BOOST_FOREACH(const map_location& loc, arrow_path) + for (const map_location& loc : arrow_path) { arrows_map_[loc].push_back(&arrow); } diff --git a/src/display_chat_manager.cpp b/src/display_chat_manager.cpp index be0e5a54ced9..b261c46007d3 100644 --- a/src/display_chat_manager.cpp +++ b/src/display_chat_manager.cpp @@ -26,7 +26,6 @@ #include "serialization/string_utils.hpp" #include -#include #include #include @@ -205,7 +204,7 @@ void display_chat_manager::prune_chat_messages(bool remove_all) } } - BOOST_FOREACH(const chat_message &cm, chat_messages_) { + for(const chat_message &cm : chat_messages_) { font::move_floating_label(cm.speaker_handle, 0, - movement); font::move_floating_label(cm.handle, 0, - movement); } diff --git a/src/display_context.cpp b/src/display_context.cpp index f4f99550f74e..a94f7b95400c 100644 --- a/src/display_context.cpp +++ b/src/display_context.cpp @@ -20,8 +20,6 @@ #include "units/unit.hpp" #include "units/map.hpp" -#include - std::vector& display_context::hidden_label_categories_ref() { return const_cast&>(this->hidden_label_categories()); } @@ -31,7 +29,7 @@ bool display_context::would_be_discovered(const map_location & loc, int side_num map_location adjs[6]; get_adjacent_tiles(loc,adjs); - BOOST_FOREACH(const map_location &u_loc, adjs) + for (const map_location &u_loc : adjs) { unit_map::const_iterator u_it = units().find(u_loc); if (!u_it.valid()) { @@ -119,7 +117,7 @@ int display_context::village_owner(const map_location& loc) const */ bool display_context::is_observer() const { - BOOST_FOREACH(const team &t, teams()) { + for (const team &t : teams()) { if (t.is_local()) return false; } @@ -132,7 +130,7 @@ bool display_context::is_observer() const int display_context::side_units(int side) const { int res = 0; - BOOST_FOREACH(const unit &u, units()) { + for (const unit &u : units()) { if (u.side() == side) ++res; } return res; @@ -141,7 +139,7 @@ int display_context::side_units(int side) const int display_context::side_units_cost(int side) const { int res = 0; - BOOST_FOREACH(const unit &u, units()) { + for (const unit &u : units()) { if (u.side() == side) res += u.cost(); } return res; @@ -150,7 +148,7 @@ int display_context::side_units_cost(int side) const int display_context::side_upkeep(int side) const { int res = 0; - BOOST_FOREACH(const unit &u, units()) { + for (const unit &u : units()) { if (u.side() == side) res += u.upkeep(); } return res; diff --git a/src/editor/action/action.cpp b/src/editor/action/action.cpp index fdb9dfe977dd..2eb3333a544d 100644 --- a/src/editor/action/action.cpp +++ b/src/editor/action/action.cpp @@ -25,8 +25,6 @@ #include "resources.hpp" -#include - namespace editor { int editor_action::next_id_ = 1; @@ -77,25 +75,25 @@ void editor_action_whole_map::perform_without_undo(map_context& mc) const { editor_action_chain::editor_action_chain(const editor::editor_action_chain &other) : editor_action(), actions_() { - BOOST_FOREACH(editor_action* a, other.actions_) { + for (editor_action* a : other.actions_) { actions_.push_back(a->clone()); } } editor_action_chain& editor_action_chain::operator=(const editor_action_chain& other) { if (this == &other) return *this; - BOOST_FOREACH(editor_action* a, actions_) { + for (editor_action* a : actions_) { delete a; } actions_.clear(); - BOOST_FOREACH(editor_action* a, other.actions_) { + for (editor_action* a : other.actions_) { actions_.push_back(a->clone()); } return *this; } editor_action_chain::~editor_action_chain() { - BOOST_FOREACH(editor_action* a, actions_) { + for (editor_action* a : actions_) { delete a; } } @@ -105,7 +103,7 @@ editor_action_chain* editor_action_chain::clone() const } int editor_action_chain::action_count() const { int count = 0; - BOOST_FOREACH(const editor_action* a, actions_) { + for (const editor_action* a : actions_) { if (a) { count += a->action_count(); } @@ -135,7 +133,7 @@ editor_action* editor_action_chain::pop_first_action() { } editor_action_chain* editor_action_chain::perform(map_context& mc) const { util::unique_ptr undo(new editor_action_chain()); - BOOST_FOREACH(editor_action* a, actions_) { + for (editor_action* a : actions_) { if (a != nullptr) { undo->append_action(a->perform(mc)); } @@ -145,7 +143,7 @@ editor_action_chain* editor_action_chain::perform(map_context& mc) const { } void editor_action_chain::perform_without_undo(map_context& mc) const { - BOOST_FOREACH(editor_action* a, actions_) { + for (editor_action* a : actions_) { if (a != nullptr) { a->perform_without_undo(mc); } diff --git a/src/editor/action/action_select.cpp b/src/editor/action/action_select.cpp index 26aa98ed94ea..d7bc785613e1 100644 --- a/src/editor/action/action_select.cpp +++ b/src/editor/action/action_select.cpp @@ -21,8 +21,6 @@ #include "editor/action/action_select.hpp" #include "editor/map/map_context.hpp" -#include - namespace editor { editor_action_select* editor_action_select::clone() const @@ -32,7 +30,7 @@ editor_action_select* editor_action_select::clone() const void editor_action_select::extend(const editor_map& /*map*/, const std::set& locs) { - BOOST_FOREACH(const map_location& loc, locs) { + for (const map_location& loc : locs) { LOG_ED << "Extending by " << loc << "\n"; area_.insert(loc); } @@ -41,7 +39,7 @@ void editor_action_select::extend(const editor_map& /*map*/, const std::set undo_locs; - BOOST_FOREACH(const map_location& loc, area_) { + for (const map_location& loc : area_) { undo_locs.insert(loc); mc.add_changed_location(loc); } @@ -51,7 +49,7 @@ editor_action* editor_action_select::perform(map_context& mc) const void editor_action_select::perform_without_undo(map_context& mc) const { - BOOST_FOREACH(const map_location& loc, area_) { + for (const map_location& loc : area_) { mc.get_map().add_to_selection(loc); mc.add_changed_location(loc); @@ -65,7 +63,7 @@ editor_action_deselect* editor_action_deselect::clone() const void editor_action_deselect::extend(const editor_map& map, const std::set& locs) { - BOOST_FOREACH(const map_location& loc, locs) { + for (const map_location& loc : locs) { LOG_ED << "Checking " << loc << "\n"; if (!map.in_selection(loc)) { LOG_ED << "Extending by " << loc << "\n"; @@ -77,7 +75,7 @@ void editor_action_deselect::extend(const editor_map& map, const std::set undo_locs; - BOOST_FOREACH(const map_location& loc, area_) { + for (const map_location& loc : area_) { if (mc.get_map().in_selection(loc)) { undo_locs.insert(loc); mc.add_changed_location(loc); @@ -89,7 +87,7 @@ editor_action* editor_action_deselect::perform(map_context& mc) const void editor_action_deselect::perform_without_undo(map_context& mc) const { - BOOST_FOREACH(const map_location& loc, area_) { + for (const map_location& loc : area_) { mc.get_map().remove_from_selection(loc); mc.add_changed_location(loc); } diff --git a/src/editor/controller/editor_controller.cpp b/src/editor/controller/editor_controller.cpp index 674a943f84c2..9294f4d4c6f0 100644 --- a/src/editor/controller/editor_controller.cpp +++ b/src/editor/controller/editor_controller.cpp @@ -54,7 +54,6 @@ #include "halo.hpp" #include -#include namespace { static std::vector saved_windows_; @@ -112,7 +111,7 @@ void editor_controller::init_gui() void editor_controller::init_tods(const config& game_config) { - BOOST_FOREACH(const config &schedule, game_config.child_range("editor_times")) { + for (const config &schedule : game_config.child_range("editor_times")) { const std::string& schedule_id = schedule["id"]; const std::string& schedule_name = schedule["name"]; @@ -132,7 +131,7 @@ void editor_controller::init_tods(const config& game_config) continue; } - BOOST_FOREACH(const config &time, schedule.child_range("time")) { + for (const config &time : schedule.child_range("time")) { times->second.second.push_back(time_of_day(time)); } @@ -149,8 +148,8 @@ void editor_controller::init_music(const config& game_config) if (!game_config.has_child(tag_name)) ERR_ED << "No editor music defined" << std::endl; else { - BOOST_FOREACH(const config& editor_music, game_config.child_range(tag_name)) { - BOOST_FOREACH(const config& music, editor_music.child_range("music")) { + for (const config& editor_music : game_config.child_range(tag_name)) { + for (const config& music : editor_music.child_range("music")) { sound::music_track track(music); if (track.file_path().empty()) WRN_ED << "Music track " << track.id() << " not found." << std::endl; @@ -1042,7 +1041,7 @@ void editor_controller::show_menu(const std::vector& items_arg, int if (!items.empty() && items.front() == "editor-playlist") { active_menu_ = editor::MUSIC; items.erase(items.begin()); - BOOST_FOREACH(const sound::music_track& track, music_tracks_) { + for (const sound::music_track& track : music_tracks_) { items.push_back(track.title().empty() ? track.id() : track.title()); } } diff --git a/src/editor/editor_preferences.cpp b/src/editor/editor_preferences.cpp index 86118bf1cad6..5e53172422b9 100644 --- a/src/editor/editor_preferences.cpp +++ b/src/editor/editor_preferences.cpp @@ -18,8 +18,6 @@ #include "serialization/string_utils.hpp" #include "util.hpp" -#include - namespace preferences { namespace editor { @@ -119,7 +117,7 @@ namespace editor { return mru; } - BOOST_FOREACH(const config& child, cfg.child_range("entry")) + for(const config& child : cfg.child_range("entry")) { const std::string& entry = child["path"].str(); if(!entry.empty()) { @@ -137,7 +135,7 @@ namespace editor { config cfg; unsigned n = 0; - BOOST_FOREACH(const std::string& entry, mru) + for(const std::string& entry : mru) { if(entry.empty()) { continue; diff --git a/src/editor/map/context_manager.cpp b/src/editor/map/context_manager.cpp index 4f9eb376ba3c..e5f9259f7632 100644 --- a/src/editor/map/context_manager.cpp +++ b/src/editor/map/context_manager.cpp @@ -41,8 +41,6 @@ #include "gui/dialogs/editor/edit_scenario.hpp" #include "gui/dialogs/editor/edit_side.hpp" -#include - #include "terrain/translation.hpp" #include "wml_separators.hpp" @@ -120,7 +118,7 @@ bool context_manager::is_active_transitions_hotkey(const std::string& item) { size_t context_manager::modified_maps(std::string& message) { std::vector modified; - BOOST_FOREACH(map_context* mc, map_contexts_) { + for (map_context* mc : map_contexts_) { if (mc->modified()) { if (!mc->get_filename().empty()) { modified.push_back(mc->get_filename()); @@ -129,7 +127,7 @@ size_t context_manager::modified_maps(std::string& message) { } } } - BOOST_FOREACH(std::string& str, modified) { + for (std::string& str : modified) { message += "\n" + std::string("• ") + str; } return modified.size(); @@ -155,10 +153,10 @@ context_manager::context_manager(editor_display& gui, const config& game_config) context_manager::~context_manager() { - BOOST_FOREACH(map_generator* m, map_generators_) { + for (map_generator* m : map_generators_) { delete m; } - BOOST_FOREACH(map_context* mc, map_contexts_) { + for (map_context* mc : map_contexts_) { delete mc; } @@ -334,7 +332,7 @@ void context_manager::expand_load_mru_menu(std::vector& items) continue; } - BOOST_FOREACH(std::string& path, mru) + for (std::string& path : mru) { // TODO: add proper leading ellipsization instead, since otherwise // it'll be impossible to tell apart files with identical names and @@ -417,7 +415,7 @@ void context_manager::expand_time_menu(std::vector& items) assert(tod_m != nullptr); - BOOST_FOREACH(const time_of_day& time, tod_m->times()) { + for (const time_of_day& time : tod_m->times()) { std::stringstream label; if (!time.image.empty()) @@ -441,7 +439,7 @@ void context_manager::expand_local_time_menu(std::vector& items) tod_manager* tod_m = get_map_context().get_time_manager(); - BOOST_FOREACH(const time_of_day& time, tod_m->times(get_map_context().get_active_area())) { + for (const time_of_day& time : tod_m->times(get_map_context().get_active_area())) { std::stringstream label; if (!time.image.empty()) @@ -532,7 +530,7 @@ void context_manager::refresh_after_action(bool drag_part) get_map_context().set_needs_terrain_rebuild(false); gui_.invalidate_all(); } else { - BOOST_FOREACH(const map_location& loc, changed_locs) { + for (const map_location& loc : changed_locs) { gui_.rebuild_terrain(loc); } gui_.invalidate(changed_locs); @@ -670,7 +668,7 @@ void context_manager::save_scenario_as_dialog() void context_manager::init_map_generators(const config& game_config) { - BOOST_FOREACH(const config &i, game_config.child_range("multiplayer")) { + for (const config &i : game_config.child_range("multiplayer")) { if (!i["map_generation"].empty() || !i["scenario_generation"].empty()) { @@ -745,7 +743,7 @@ void context_manager::create_default_context() map_context* mc = new map_context(editor_map(game_config_, 44, 33, default_terrain), gui_, true, default_schedule); add_map_context(mc); } else { - BOOST_FOREACH(const std::string& filename, saved_windows_) { + for (const std::string& filename : saved_windows_) { map_context* mc = new map_context(game_config_, filename, gui_); add_map_context(mc); } diff --git a/src/editor/map/editor_map.cpp b/src/editor/map/editor_map.cpp index eebeab76b055..164487646d45 100644 --- a/src/editor/map/editor_map.cpp +++ b/src/editor/map/editor_map.cpp @@ -25,7 +25,6 @@ #include "terrain/type_data.hpp" -#include #include #include @@ -113,7 +112,7 @@ void editor_map::sanity_check() ++errors; } } - BOOST_FOREACH(const map_location& loc, selection_) { + for (const map_location& loc : selection_) { if (!on_board_with_border(loc)) { ERR_ED << "Off-map tile in selection: " << loc << std::endl; } @@ -173,7 +172,7 @@ bool editor_map::add_to_selection(const map_location& loc) bool editor_map::set_selection(const std::set& area) { clear_selection(); - BOOST_FOREACH(const map_location& loc, area) { + for (const map_location& loc : area) { if (!add_to_selection(loc)) return false; } diff --git a/src/editor/map/map_context.cpp b/src/editor/map/map_context.cpp index ed000ea5923f..02f988ad1a46 100644 --- a/src/editor/map/map_context.cpp +++ b/src/editor/map/map_context.cpp @@ -35,7 +35,6 @@ #include "formula/string_utils.hpp" #include -#include namespace editor { @@ -289,31 +288,31 @@ void map_context::load_scenario(const config& game_config) labels_.read(scenario); tod_manager_.reset(new tod_manager(scenario)); - BOOST_FOREACH(const config &time_area, scenario.child_range("time_area")) { + for(const config &time_area : scenario.child_range("time_area")) { tod_manager_->add_time_area(map_,time_area); } - BOOST_FOREACH(const config& item, scenario.child_range("item")) { + for(const config& item : scenario.child_range("item")) { const map_location loc(item); overlays_.insert(std::pair(loc, overlay(item) )); } - BOOST_FOREACH(const config& music, scenario.child_range("music")) { + for(const config& music : scenario.child_range("music")) { music_tracks_.insert(std::pair(music["name"], sound::music_track(music))); } resources::teams = &teams_; int i = 1; - BOOST_FOREACH(config &side, scenario.child_range("side")) + for(config &side : scenario.child_range("side")) { team t; side["side"] = i; t.build(side, map_); teams_.push_back(t); - BOOST_FOREACH(config &a_unit, side.child_range("unit")) { + for(config &a_unit : side.child_range("unit")) { map_location loc(a_unit, nullptr); a_unit["side"] = i; units_.add(loc, unit(a_unit, true) ); @@ -370,7 +369,7 @@ void map_context::draw_terrain(const t_translation::t_terrain & terrain, t_translation::t_terrain full_terrain = one_layer_only ? terrain : map_.get_terrain_info(terrain).terrain_with_default_base(); - BOOST_FOREACH(const map_location& loc, locs) { + for(const map_location& loc : locs) { draw_terrain_actual(full_terrain, loc, one_layer_only); } } @@ -454,7 +453,7 @@ config map_context::to_config() item["team_name"] = it->second.team_name; } - BOOST_FOREACH(const music_map::value_type& track, music_tracks_) { + for(const music_map::value_type& track : music_tracks_) { track.second.write(scenario, true); } @@ -482,7 +481,7 @@ config map_context::to_config() side["gold"] = t->gold(); side["income"] = t->base_income(); - BOOST_FOREACH(const map_location& village, t->villages()) { + for(const map_location& village : t->villages()) { village.write(side.add_child("village")); } @@ -719,7 +718,7 @@ void map_context::trim_stack(action_stack& stack) void map_context::clear_stack(action_stack& stack) { - BOOST_FOREACH(editor_action* a, stack) { + for (editor_action* a : stack) { delete a; } stack.clear(); diff --git a/src/editor/map/map_fragment.cpp b/src/editor/map/map_fragment.cpp index fc8e60a6b9f3..c3fca94f1c17 100644 --- a/src/editor/map/map_fragment.cpp +++ b/src/editor/map/map_fragment.cpp @@ -17,8 +17,6 @@ #include "util.hpp" -#include - namespace editor { map_fragment::map_fragment() @@ -44,7 +42,7 @@ void map_fragment::add_tile(const gamemap& map, const map_location& loc) void map_fragment::add_tiles(const gamemap& map, const std::set& locs) { - BOOST_FOREACH(const map_location& loc, locs) { + for (const map_location& loc : locs) { add_tile(map, loc); } } @@ -57,7 +55,7 @@ std::set map_fragment::get_area() const std::set map_fragment::get_offset_area(const map_location& loc) const { std::set result; - BOOST_FOREACH(const tile_info& i, items_) { + for (const tile_info& i : items_) { result.insert(i.offset.vector_sum(loc)); } return result; @@ -65,14 +63,14 @@ std::set map_fragment::get_offset_area(const map_location& loc) co void map_fragment::paste_into(gamemap& map, const map_location& loc) const { - BOOST_FOREACH(const tile_info& i, items_) { + for (const tile_info& i : items_) { map.set_terrain(i.offset.vector_sum(loc), i.terrain); } } void map_fragment::shift(const map_location& offset) { - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { ti.offset.vector_sum_assign(offset); } } @@ -80,7 +78,7 @@ void map_fragment::shift(const map_location& offset) map_location map_fragment::center_of_mass() const { map_location sum(0, 0); - BOOST_FOREACH(const tile_info& ti, items_) { + for (const tile_info& ti : items_) { sum.vector_sum_assign(ti.offset); } if (items_.size() > 0) { @@ -94,7 +92,7 @@ void map_fragment::center_by_mass() { shift(center_of_mass().vector_negation()); area_.clear(); - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { area_.insert(ti.offset); } } @@ -102,7 +100,7 @@ void map_fragment::center_by_mass() void map_fragment::rotate_60_cw() { area_.clear(); - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { map_location l = map_location::ZERO(); int x = ti.offset.x; int y = ti.offset.y; @@ -122,7 +120,7 @@ void map_fragment::rotate_60_cw() void map_fragment::rotate_60_ccw() { area_.clear(); - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { map_location l = map_location::ZERO(); int x = ti.offset.x; int y = ti.offset.y; @@ -141,7 +139,7 @@ void map_fragment::rotate_60_ccw() void map_fragment::flip_horizontal() { - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { ti.offset.x = -ti.offset.x; } center_by_mass(); @@ -149,7 +147,7 @@ void map_fragment::flip_horizontal() void map_fragment::flip_vertical() { - BOOST_FOREACH(tile_info& ti, items_) { + for (tile_info& ti : items_) { ti.offset.y = -ti.offset.y; if (ti.offset.x % 2) { ti.offset.y--; @@ -168,11 +166,11 @@ std::string map_fragment::dump() const { std::stringstream ss; ss << "MF: "; - BOOST_FOREACH(const tile_info& ti, items_) { + for (const tile_info& ti : items_) { ss << "(" << ti.offset << ")"; } ss << " -- "; - BOOST_FOREACH(const map_location& loc, area_) { + for (const map_location& loc : area_) { ss << "(" << loc << ")"; } return ss.str(); diff --git a/src/editor/palette/editor_palettes.cpp b/src/editor/palette/editor_palettes.cpp index 82ed90f9dab4..b982b2730fdb 100644 --- a/src/editor/palette/editor_palettes.cpp +++ b/src/editor/palette/editor_palettes.cpp @@ -27,15 +27,13 @@ #include "wml_separators.hpp" -#include - namespace editor { template sdl_handler_vector editor_palette::handler_members() { sdl_handler_vector h; - BOOST_FOREACH(gui::widget& b, buttons_) { + for (gui::widget& b : buttons_) { h.push_back(&b); } return h; @@ -169,7 +167,7 @@ void editor_palette::set_group(const std::string& id) assert(!id.empty()); bool found = false; - BOOST_FOREACH(const item_group& group, groups_) { + for (const item_group& group : groups_) { if (group.id == id) { found = true; gui::button* palette_menu_button = gui_.find_menu_button("menu-editor-terrain"); diff --git a/src/editor/palette/editor_palettes.hpp b/src/editor/palette/editor_palettes.hpp index 0a5f4deaf95b..241680ab9c9b 100644 --- a/src/editor/palette/editor_palettes.hpp +++ b/src/editor/palette/editor_palettes.hpp @@ -19,8 +19,6 @@ #include "common_palette.hpp" #include "tristate_button.hpp" -#include - namespace editor { template @@ -135,7 +133,7 @@ class editor_palette : public common_palette { if (!hidden) help_handle_ = gui_.video().set_help_string(get_help_string()); else gui_.video().clear_help_string(help_handle_); - BOOST_FOREACH(gui::widget& w, buttons_) { + for (gui::widget& w : buttons_) { w.hide(hidden); } } diff --git a/src/editor/palette/item_palette.cpp b/src/editor/palette/item_palette.cpp index c49f9186036a..ecb0b19438d6 100644 --- a/src/editor/palette/item_palette.cpp +++ b/src/editor/palette/item_palette.cpp @@ -21,7 +21,6 @@ #include "item_palette.hpp" #include "gettext.hpp" -#include #include namespace editor { @@ -34,11 +33,11 @@ std::string item_palette::get_help_string() void item_palette::setup(const config& cfg) { - BOOST_FOREACH(const config& group, cfg.child_range("item_group")) { + for (const config& group : cfg.child_range("item_group")) { groups_.push_back(item_group(group)); - BOOST_FOREACH(const config& item, group.child_range("item")) { + for (const config& item : group.child_range("item")) { item_map_.insert(std::pair(item["id"], overlay(item))); group_map_[group["id"]].push_back(item["id"]); diff --git a/src/editor/palette/palette_manager.cpp b/src/editor/palette/palette_manager.cpp index c74e537f7aea..82280bf6563d 100644 --- a/src/editor/palette/palette_manager.cpp +++ b/src/editor/palette/palette_manager.cpp @@ -19,7 +19,6 @@ #include "tooltips.hpp" #include "editor/action/mouse/mouse_action.hpp" -#include namespace editor { @@ -144,7 +143,7 @@ void palette_manager::draw_contents() sdl_handler_vector palette_manager::handler_members() { //handler_vector h; -// BOOST_FOREACH(gui::widget& b, active_palette().get_widgets()) { +// for (gui::widget& b : active_palette().get_widgets()) { // h.push_back(&b); // } //return h; diff --git a/src/editor/palette/terrain_palettes.cpp b/src/editor/palette/terrain_palettes.cpp index 387ec8d96eb5..b34cf6496f5d 100644 --- a/src/editor/palette/terrain_palettes.cpp +++ b/src/editor/palette/terrain_palettes.cpp @@ -23,8 +23,6 @@ #include "gettext.hpp" #include "formula/string_utils.hpp" -#include - namespace { static t_translation::t_terrain fg_terrain; static t_translation::t_terrain bg_terrain; @@ -79,7 +77,7 @@ void terrain_palette::setup(const config& cfg) // Get the available groups and add them to the structure std::set group_names; - BOOST_FOREACH(const config &group, cfg.child_range("editor_group")) + for (const config &group : cfg.child_range("editor_group")) { if (group_names.find(group["id"]) == group_names.end()) { @@ -96,12 +94,12 @@ void terrain_palette::setup(const config& cfg) } std::map id_to_group; - BOOST_FOREACH(item_group& group, groups_) { + for (item_group& group : groups_) { id_to_group.insert(std::make_pair(group.id, &group)); } // add the groups for all terrains to the map - BOOST_FOREACH(const t_translation::t_terrain& t, items) { + for (const t_translation::t_terrain& t : items) { const terrain_type& t_info = map().get_terrain_info(t); DBG_ED << "Palette: processing terrain " << t_info.name() @@ -120,7 +118,7 @@ void terrain_palette::setup(const config& cfg) item_map_[get_id(t)] = t; - BOOST_FOREACH(const std::string& k, keys) { + for (const std::string& k : keys) { group_map_[k].push_back(get_id(t)); nmax_items_ = std::max(nmax_items_, group_map_[k].size()); std::map::iterator i = id_to_group.find(k); diff --git a/src/editor/palette/unit_palette.cpp b/src/editor/palette/unit_palette.cpp index 7a427c25cfaf..d83f64c489cc 100644 --- a/src/editor/palette/unit_palette.cpp +++ b/src/editor/palette/unit_palette.cpp @@ -24,8 +24,6 @@ #include "units/types.hpp" -#include - namespace editor { std::string unit_palette::get_help_string() { @@ -34,7 +32,7 @@ std::string unit_palette::get_help_string() { void unit_palette::setup(const config& /*cfg*/) { - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { if (i.second.do_not_list()) continue; @@ -52,7 +50,7 @@ void unit_palette::setup(const config& /*cfg*/) } } - BOOST_FOREACH(const race_map::value_type &i, unit_types.races()) + for (const race_map::value_type &i : unit_types.races()) { if (group_map_[i.second.id()].empty()) continue; diff --git a/src/editor/toolkit/brush.cpp b/src/editor/toolkit/brush.cpp index 29e6955ed24c..0d9334b33f01 100644 --- a/src/editor/toolkit/brush.cpp +++ b/src/editor/toolkit/brush.cpp @@ -18,8 +18,6 @@ #include "pathutils.hpp" -#include - namespace editor { /*WIKI @@ -74,11 +72,11 @@ brush::brush(const config& cfg) if (radius > 0) { std::vector in_radius; get_tiles_in_radius(map_location(0, 0), radius, in_radius); - BOOST_FOREACH(map_location& loc, in_radius) { + for (map_location& loc : in_radius) { add_relative_location(loc.x, loc.y); } } - BOOST_FOREACH(const config &relative, cfg.child_range("relative")) + for (const config &relative : cfg.child_range("relative")) { int x = relative["x"]; int y = relative["y"]; @@ -97,7 +95,7 @@ void brush::add_relative_location(int relative_x, int relative_y) std::set brush::project(const map_location& hotspot) const { std::set result; - BOOST_FOREACH(const map_location& relative, relative_tiles_) { + for (const map_location& relative : relative_tiles_) { result.insert(relative.vector_sum(hotspot)); } return result; diff --git a/src/editor/toolkit/editor_toolkit.cpp b/src/editor/toolkit/editor_toolkit.cpp index 33a3304ab26c..662b47b31f09 100644 --- a/src/editor/toolkit/editor_toolkit.cpp +++ b/src/editor/toolkit/editor_toolkit.cpp @@ -22,8 +22,6 @@ #include "editor/action/mouse/mouse_action_item.hpp" #include "editor/action/mouse/mouse_action_select.hpp" -#include - namespace editor { editor_toolkit::editor_toolkit(editor_display& gui, const CKey& key, @@ -44,7 +42,7 @@ editor_toolkit::editor_toolkit(editor_display& gui, const CKey& key, editor_toolkit::~editor_toolkit() { //TODO ask someone about that - //BOOST_FOREACH(const mouse_action_map::value_type a, mouse_actions_) { + //for (const mouse_action_map::value_type a : mouse_actions_) { // delete a.second; //} //delete palette_manager_.get(); @@ -52,7 +50,7 @@ editor_toolkit::~editor_toolkit() void editor_toolkit::init_brushes(const config& game_config) { - BOOST_FOREACH(const config &i, game_config.child_range("brush")) { + for (const config &i : game_config.child_range("brush")) { brushes_.push_back(brush(i)); } if (brushes_.empty()) { @@ -89,7 +87,7 @@ void editor_toolkit::init_mouse_actions(context_manager& cmanager) mouse_actions_.insert(std::make_pair(hotkey::HOTKEY_EDITOR_TOOL_ITEM, new mouse_action_item(key_, *palette_manager_->item_palette_.get()))); - BOOST_FOREACH(const theme::menu& menu, gui_.get_theme().menus()) { + for (const theme::menu& menu : gui_.get_theme().menus()) { if (menu.items().size() == 1) { hotkey::HOTKEY_COMMAND hk = hotkey::get_id(menu.items().front()); mouse_action_map::iterator i = mouse_actions_.find(hk); @@ -152,7 +150,7 @@ void editor_toolkit::clear_mouseover_overlay() void editor_toolkit::set_brush(std::string id) { - BOOST_FOREACH(brush& i, brushes_) { + for (brush& i : brushes_) { if (i.id() == id) { brush_ = &i; } diff --git a/src/filesystem_boost.cpp b/src/filesystem_boost.cpp index 39eb2242a36d..2e7b0e2d0876 100644 --- a/src/filesystem_boost.cpp +++ b/src/filesystem_boost.cpp @@ -25,7 +25,6 @@ #include #include -#include #include #include #include @@ -1002,7 +1001,7 @@ void binary_paths_manager::set_paths(const config& cfg) cleanup(); init_binary_paths(); - BOOST_FOREACH(const config &bp, cfg.child_range("binary_path")) + for (const config &bp : cfg.child_range("binary_path")) { std::string path = bp["path"].str(); if (path.find("..") != std::string::npos) { @@ -1076,7 +1075,7 @@ const std::vector& get_binary_paths(const std::string& type) init_binary_paths(); - BOOST_FOREACH(const std::string &path, binary_paths) + for(const std::string &path : binary_paths) { res.push_back(get_user_data_dir() + "/" + path + type + "/"); @@ -1109,7 +1108,7 @@ std::string get_binary_file_location(const std::string& type, const std::string& if (!is_legal_file(filename)) return std::string(); - BOOST_FOREACH(const std::string &bp, get_binary_paths(type)) + for(const std::string &bp : get_binary_paths(type)) { path bpath(bp); bpath /= filename; @@ -1129,7 +1128,7 @@ std::string get_binary_dir_location(const std::string &type, const std::string & if (!is_legal_file(filename)) return std::string(); - BOOST_FOREACH(const std::string &bp, get_binary_paths(type)) + for (const std::string &bp : get_binary_paths(type)) { path bpath(bp); bpath /= filename; diff --git a/src/font.cpp b/src/font.cpp index 99195429cbc6..a86c85fe550c 100644 --- a/src/font.cpp +++ b/src/font.cpp @@ -33,7 +33,6 @@ #include "serialization/unicode.hpp" #include "preferences.hpp" -#include #include #include @@ -413,12 +412,12 @@ void manager::init() const #endif #if CAIRO_HAS_WIN32_FONT - BOOST_FOREACH(const std::string& path, filesystem::get_binary_paths("fonts")) { + for(const std::string& path : filesystem::get_binary_paths("fonts")) { std::vector files; if(filesystem::is_directory(path)) { filesystem::get_files_in_dir(path, &files, nullptr, filesystem::ENTIRE_FILE_PATH); } - BOOST_FOREACH(const std::string& file, files) { + for(const std::string& file : files) { if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") { const std::wstring wfile = unicode_cast(file); @@ -436,11 +435,11 @@ void manager::deinit() const #endif #if CAIRO_HAS_WIN32_FONT - BOOST_FOREACH(const std::string& path, filesystem::get_binary_paths("fonts")) { + for(const std::string& path : filesystem::get_binary_paths("fonts")) { std::vector files; if(filesystem::is_directory(path)) filesystem::get_files_in_dir(path, &files, nullptr, filesystem::ENTIRE_FILE_PATH); - BOOST_FOREACH(const std::string& file, files) { + for(const std::string& file : files) { if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") { const std::wstring wfile = unicode_cast(file); @@ -487,7 +486,7 @@ font::subset_descriptor::subset_descriptor(const config & font) std::vector ranges = utils::split(font["codepoints"]); - BOOST_FOREACH(const std::string & i, ranges) { + for (const std::string & i : ranges) { std::vector r = utils::split(i, '-'); if(r.size() == 1) { size_t r1 = lexical_cast_default(r[0], 0); @@ -546,7 +545,7 @@ static void set_font_list(const std::vector& fontlist) italic_names.push_back(""); } - BOOST_FOREACH(const subset_descriptor::range &cp_range, itor->present_codepoints) { + for (const subset_descriptor::range &cp_range : itor->present_codepoints) { char_blocks.insert(cp_range.first, cp_range.second, subset); } } @@ -705,7 +704,7 @@ void text_surface::measure() const w_ = 0; h_ = 0; - BOOST_FOREACH(text_chunk const &chunk, chunks_) + for(text_chunk const &chunk : chunks_) { TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_, style_)); if(ttfont == nullptr) { @@ -751,7 +750,7 @@ std::vector const &text_surface::get_surfaces() const if(width() > max_text_line_width) return surfs_; - BOOST_FOREACH(text_chunk const &chunk, chunks_) + for(text_chunk const &chunk : chunks_) { TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_, style_)); @@ -1071,7 +1070,7 @@ bool load_font_config() return false; std::set known_fonts; - BOOST_FOREACH(const config &font, fonts_config.child_range("font")) { + for (const config &font : fonts_config.child_range("font")) { known_fonts.insert(font["name"]); if (font.has_attribute("bold_name")) { known_fonts.insert(font["bold_name"]); diff --git a/src/formula/formula.cpp b/src/formula/formula.cpp index b23f8da01255..6186396370fa 100644 --- a/src/formula/formula.cpp +++ b/src/formula/formula.cpp @@ -21,8 +21,6 @@ #include "random_new.hpp" #include "serialization/string_utils.hpp" -#include - namespace game_logic { @@ -123,7 +121,7 @@ class list_expression : public formula_expression { std::stringstream s; s << '['; bool first_item = true; - BOOST_FOREACH(expression_ptr a , items_) { + for(expression_ptr a : items_) { if (!first_item) { s << ','; } else { @@ -236,7 +234,7 @@ class string_callable : public formula_callable { return variant(string_.as_string().empty()); } else if(key == "char" || key == "chars") { std::vector chars; - BOOST_FOREACH(char c , string_.as_string()) { + for(char c : string_.as_string()) { chars.push_back(variant(std::string(1, c))); } return variant(&chars); @@ -255,7 +253,7 @@ class string_callable : public formula_callable { std::vector split = utils::parenthetical_split(string_.as_string(), ','); std::vector items; items.reserve(split.size()); - BOOST_FOREACH(const std::string s , split) { + for(const std::string s : split) { items.push_back(variant(s)); } return variant(&items); @@ -320,7 +318,7 @@ class map_callable : public formula_callable { } std::string key = key_variant.as_string(); bool valid = true; - BOOST_FOREACH(char c , key) { + for(char c : key) { if(!isalpha(c) && c != '_') { valid = false; break; @@ -603,7 +601,7 @@ class where_expression: public formula_expression { std::stringstream s; s << "{where:("; s << body_->str(); - BOOST_FOREACH(const expr_table::value_type &a, *clauses_) { + for(const expr_table::value_type &a : *clauses_) { s << ", [" << a.first << "] -> ["<< a.second->str()<<"]"; } s << ")}"; diff --git a/src/formula/function.cpp b/src/formula/function.cpp index c5f8eccfd309..ca5d5bec27a4 100644 --- a/src/formula/function.cpp +++ b/src/formula/function.cpp @@ -22,7 +22,6 @@ #include "game_config.hpp" #include "log.hpp" -#include #include using namespace boost::math::constants; @@ -46,7 +45,7 @@ std::string function_expression::str() const s << get_name(); s << '('; bool first_arg = true; - BOOST_FOREACH(expression_ptr a , args()) { + for (expression_ptr a : args()) { if (!first_arg) { s << ','; } else { @@ -510,7 +509,7 @@ class concatenate_function : public function_expression { variant execute(const formula_callable& variables, formula_debugger *fdb) const { std::string result; - BOOST_FOREACH(expression_ptr arg, args()) { + for(expression_ptr arg : args()) { result += arg->evaluate(variables, fdb).string_cast(); } @@ -1072,7 +1071,7 @@ class zip_function : public function_expression { } else { std::vector input; input.reserve(args().size()); - BOOST_FOREACH(expression_ptr expr, args()) { + for(expression_ptr expr : args()) { input.push_back(expr->evaluate(variables, fdb)); } return input; @@ -1501,7 +1500,7 @@ typedef std::map functions_map; struct functions_map_manager { functions_map map_; ~functions_map_manager() { - BOOST_FOREACH (functions_map::value_type & v, map_) { + for (functions_map::value_type & v : map_) { delete(v.second); } } diff --git a/src/game_board.cpp b/src/game_board.cpp index f3658402faeb..8c12258b45e1 100644 --- a/src/game_board.cpp +++ b/src/game_board.cpp @@ -21,7 +21,6 @@ #include "terrain/type_data.hpp" #include "units/unit.hpp" -#include #include #include @@ -68,7 +67,7 @@ game_board & game_board::operator= (game_board other) } void game_board::new_turn(int player_num) { - BOOST_FOREACH (unit & i, units_) { + for (unit & i : units_) { if (i.side() == player_num) { i.new_turn(); } @@ -76,7 +75,7 @@ void game_board::new_turn(int player_num) { } void game_board::end_turn(int player_num) { - BOOST_FOREACH (unit & i, units_) { + for (unit & i : units_) { if (i.side() == player_num) { i.end_turn(); } @@ -84,7 +83,7 @@ void game_board::end_turn(int player_num) { } void game_board::set_all_units_user_end_turn() { - BOOST_FOREACH (unit & i, units_) { + for (unit & i : units_) { i.set_user_end_turn(true); } } @@ -108,7 +107,7 @@ void game_board::check_victory(bool & continue_level, bool & found_player, bool not_defeated = std::set(); - BOOST_FOREACH( const unit & i , units()) + for (const unit & i : units()) { DBG_EE << "Found a unit: " << i.id() << " on side " << i.side() << std::endl; const team& tm = teams()[i.side()-1]; @@ -120,7 +119,7 @@ void game_board::check_victory(bool & continue_level, bool & found_player, bool } } - BOOST_FOREACH(team& tm, teams_) + for (team& tm : teams_) { if(tm.defeat_condition() == team::DEFEAT_CONDITION::NEVER) { @@ -237,7 +236,7 @@ bool game_board::team_is_defeated(const team& t) const case team::DEFEAT_CONDITION::NO_LEADER: return !units_.find_leader(t.side()).valid(); case team::DEFEAT_CONDITION::NO_UNITS: - BOOST_FOREACH(const unit& u, units_) + for (const unit& u : units_) { if(u.side() == t.side()) return false; @@ -332,7 +331,7 @@ bool game_board::change_terrain(const map_location &loc, const std::string &t_st map_->set_terrain(loc, new_t); - BOOST_FOREACH(const t_translation::t_terrain &ut, map_->underlying_union_terrain(loc)) { + for(const t_translation::t_terrain &ut : map_->underlying_union_terrain(loc)) { preferences::encountered_terrains().insert(ut); } return true; @@ -351,7 +350,7 @@ void game_board::write_config(config & cfg) const //current units { - BOOST_FOREACH(const unit & i, units_) { + for (const unit & i : units_) { if (i.side() == side_num) { config& u = side.add_child("unit"); i.get_location().write(u); @@ -361,7 +360,7 @@ void game_board::write_config(config & cfg) const } //recall list { - BOOST_FOREACH(const unit_const_ptr & j, t->recall_list()) { + for (const unit_const_ptr & j : t->recall_list()) { config& u = side.add_child("unit"); j->write(u); } diff --git a/src/game_config.cpp b/src/game_config.cpp index ffb5780dccca..6e61127289ac 100644 --- a/src/game_config.cpp +++ b/src/game_config.cpp @@ -27,8 +27,6 @@ #include "revision.h" #endif -#include - static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) @@ -301,7 +299,7 @@ namespace game_config } server_list.clear(); - BOOST_FOREACH(const config &server, v.child_range("server")) + for (const config &server : v.child_range("server")) { server_info sinf; sinf.name = server["name"].str(); @@ -335,7 +333,7 @@ namespace game_config void add_color_info(const config &v) { - BOOST_FOREACH(const config &teamC, v.child_range("color_range")) + for (const config &teamC : v.child_range("color_range")) { const config::attribute_value *a1 = teamC.get("id"), *a2 = teamC.get("rgb"); @@ -362,9 +360,9 @@ namespace game_config team_rgb_colors.insert(std::make_pair(id,tp)); } - BOOST_FOREACH(const config &cp, v.child_range("color_palette")) + for (const config &cp : v.child_range("color_palette")) { - BOOST_FOREACH(const config::attribute &rgb, cp.attribute_range()) + for (const config::attribute &rgb : cp.attribute_range()) { std::vector temp; if(!string2rgb(rgb.second, temp)) { diff --git a/src/game_config_manager.cpp b/src/game_config_manager.cpp index 9132301b9348..dc8e2dd44ac1 100644 --- a/src/game_config_manager.cpp +++ b/src/game_config_manager.cpp @@ -35,7 +35,6 @@ #include "theme.hpp" #include "image.hpp" -#include #include static lg::log_domain log_config("config"); @@ -108,7 +107,7 @@ namespace { /// returns true if every define in special is also defined in general bool map_includes(const preproc_map& general, const preproc_map& special) { - BOOST_FOREACH(const preproc_map::value_type& pair, special) + for (const preproc_map::value_type& pair : special) { preproc_map::const_iterator it = general.find(pair.first); if (it == general.end() || it->second != pair.second) { @@ -176,7 +175,7 @@ void game_config_manager::load_game_config(FORCE_RELOAD_CONFIG force_reload, filesystem::get_files_in_dir(user_campaign_dir, &user_files, &user_dirs, filesystem::ENTIRE_FILE_PATH); } - BOOST_FOREACH(const std::string& umc, user_dirs) { + for (const std::string& umc : user_dirs) { const std::string cores_file = umc + "/cores.cfg"; if (filesystem::file_exists(cores_file)) { config cores; @@ -189,7 +188,7 @@ void game_config_manager::load_game_config(FORCE_RELOAD_CONFIG force_reload, config valid_cores; bool current_core_valid = false; std::string wml_tree_root; - BOOST_FOREACH(const config& core, cores_cfg.child_range("core")) { + for (const config& core : cores_cfg.child_range("core")) { const std::string& id = core["id"]; if (id.empty()) { @@ -274,10 +273,10 @@ void game_config_manager::load_game_config(FORCE_RELOAD_CONFIG force_reload, if (const config& campaign = game_config().find_child("campaign", "id", classification->campaign)) { const bool require_campaign = campaign["require_campaign"].to_bool(true); - BOOST_FOREACH(config& scenario, game_config_.child_range("scenario")) + for (config& scenario : game_config_.child_range("scenario")) { scenario["require_scenario"] = require_campaign; - BOOST_FOREACH(config& side, scenario.child_range("side")) + for (config& side : scenario.child_range("side")) { side["no_leader"] = side["no_leader"].to_bool(true); } @@ -352,7 +351,7 @@ void game_config_manager::load_addons_cfg() std::vector error_log; // Append the $user_campaign_dir/*.cfg files to addons_to_load. - BOOST_FOREACH(const std::string& uc, user_files) { + for(const std::string& uc : user_files) { const std::string file = uc; const int size_minus_extension = file.size() - 4; if(file.substr(size_minus_extension, file.size()) == ".cfg") { @@ -375,7 +374,7 @@ void game_config_manager::load_addons_cfg() filesystem::FILE_NAME_ONLY); // Append the $user_campaign_dir/*/_main.cfg files to addons_to_load. - BOOST_FOREACH(const std::string& uc, user_dirs) { + for (const std::string& uc : user_dirs) { const std::string addon_id = uc; const std::string addon_dir = user_campaign_dir + "/" + uc; @@ -408,7 +407,7 @@ void game_config_manager::load_addons_cfg() } // Load the addons. - BOOST_FOREACH(const addon_source & addon, addons_to_load) { + for (const addon_source & addon : addons_to_load) { try { // Load this addon from the cache, to a config config umc_cfg; @@ -419,7 +418,7 @@ void game_config_manager::load_addons_cfg() for (const char ** type = tags_with_addon_id; *type; type++) { - BOOST_FOREACH(config & cfg, umc_cfg.child_range(*type)) { + for (config & cfg : umc_cfg.child_range(*type)) { cfg["addon_id"] = addon.addon_id; // Note that this may reformat the string in a canonical form. cfg["addon_version"] = addon.version.str(); @@ -463,7 +462,7 @@ void game_config_manager::load_addons_cfg() void game_config_manager::set_multiplayer_hashes() { config& hashes = game_config_.add_child("multiplayer_hashes"); - BOOST_FOREACH(const config &ch, game_config_.child_range("multiplayer")) { + for (const config &ch : game_config_.child_range("multiplayer")) { hashes[ch["id"]] = ch.hash(); } } @@ -521,17 +520,13 @@ void game_config_manager::load_game_config_for_game( typedef boost::shared_ptr define; std::deque extra_defines; - BOOST_FOREACH(const std::string& extra_define, - classification.campaign_xtra_defines) { - define new_define - (new game_config::scoped_preproc_define(extra_define)); + for (const std::string& extra_define : classification.campaign_xtra_defines) { + define new_define(new game_config::scoped_preproc_define(extra_define)); extra_defines.push_back(new_define); } std::deque modification_defines; - BOOST_FOREACH(const std::string& mod_define, - classification.mod_defines) { - define new_define - (new game_config::scoped_preproc_define(mod_define, !mod_define.empty())); + for (const std::string& mod_define : classification.mod_defines) { + define new_define(new game_config::scoped_preproc_define(mod_define, !mod_define.empty())); modification_defines.push_back(new_define); } @@ -542,9 +537,8 @@ void game_config_manager::load_game_config_for_game( cache_.clear_defines(); std::deque previous_defines; - BOOST_FOREACH(const preproc_map::value_type& preproc, old_defines_map_) { - define new_define - (new game_config::scoped_preproc_define(preproc.first)); + for (const preproc_map::value_type& preproc : old_defines_map_) { + define new_define(new game_config::scoped_preproc_define(preproc.first)); previous_defines.push_back(new_define); } @@ -568,9 +562,8 @@ void game_config_manager::load_game_config_for_create(bool is_mp) cache_.clear_defines(); std::deque previous_defines; - BOOST_FOREACH(const preproc_map::value_type& preproc, old_defines_map_) { - define new_define - (new game_config::scoped_preproc_define(preproc.first)); + for (const preproc_map::value_type& preproc : old_defines_map_) { + define new_define(new game_config::scoped_preproc_define(preproc.first)); previous_defines.push_back(new_define); } diff --git a/src/game_display.cpp b/src/game_display.cpp index 8d8c6eb0fe76..b72792e120bb 100644 --- a/src/game_display.cpp +++ b/src/game_display.cpp @@ -45,7 +45,6 @@ #include "units/drawer.hpp" #include "whiteboard/manager.hpp" -#include #include static lg::log_domain log_display("display"); @@ -275,7 +274,7 @@ void game_display::draw_invalidated() unit_drawer drawer = unit_drawer(*this, energy_bar_rects_); - BOOST_FOREACH(const unit* temp_unit, *fake_unit_man_) { + for (const unit* temp_unit : *fake_unit_man_) { const map_location& loc = temp_unit->get_location(); exclusive_unit_draw_requests_t::iterator request = exclusive_unit_draw_requests_.find(loc); if (invalidated_.find(loc) != invalidated_.end() @@ -477,7 +476,7 @@ void game_display::draw_sidebar() // We display the unit the mouse is over if it is over a unit, // otherwise we display the unit that is selected. - BOOST_FOREACH(const std::string &name, reports_object_->report_list()) { + for (const std::string &name : reports_object_->report_list()) { refresh_report(name); } invalidateGameStatus_ = false; @@ -694,7 +693,7 @@ void game_display::highlight_reach(const pathfind::paths &paths_list) void game_display::highlight_another_reach(const pathfind::paths &paths_list) { // Fold endpoints of routes into reachability map. - BOOST_FOREACH(const pathfind::paths::step &dest, paths_list.destinations) { + for (const pathfind::paths::step &dest : paths_list.destinations) { reach_map_[dest.curr]++; } reach_map_changed_ = true; diff --git a/src/game_events/action_wml.cpp b/src/game_events/action_wml.cpp index 153318b6a507..c520724e262b 100644 --- a/src/game_events/action_wml.cpp +++ b/src/game_events/action_wml.cpp @@ -67,7 +67,6 @@ #include "wml_exception.hpp" #include "whiteboard/manager.hpp" -#include #include #include #include @@ -228,7 +227,7 @@ namespace { // Support functions t_filter.get_locations(locs, true); // Loop through sides. - BOOST_FOREACH(const int &side_num, sides) + for (const int &side_num : sides) { team &t = (*resources::teams)[side_num-1]; if ( !clear ) @@ -243,8 +242,9 @@ namespace { // Support functions t.add_fog_override(locs); else // Simply clear fog from the locations. - BOOST_FOREACH(const map_location &hex, locs) + for (const map_location &hex : locs) { t.clear_fog(hex); + } } // Flag a screen update. @@ -453,7 +453,7 @@ WML_HANDLER_FUNCTION(move_units_fake, cfg) size_t longest_path = 0; - BOOST_FOREACH(const vconfig& config, unit_cfgs) { + for (const vconfig& config : unit_cfgs) { const std::vector xvals = utils::split(config["x"]); const std::vector yvals = utils::split(config["y"]); int skip_steps = config["skip_steps"]; @@ -533,7 +533,7 @@ WML_HANDLER_FUNCTION(recall, cfg) const map_location cfg_loc = cfg_to_loc(cfg); /// @todo fendrin: comment this monster - BOOST_FOREACH(unit_map::const_unit_iterator leader, leaders) { + for (unit_map::const_unit_iterator leader : leaders) { DBG_NG << "...considering " + leader->id() + " as the recalling leader...\n"; map_location loc = cfg_loc; if ( lfilt(*leader) && @@ -909,7 +909,7 @@ WML_HANDLER_FUNCTION(set_variable, cfg) variable_access_const vi = resources::gamedata->get_variable_access_read(array_name); bool first = true; - BOOST_FOREACH(const config &cfg, vi.as_array()) + for (const config &cfg : vi.as_array()) { std::string current_string = cfg[key_name]; if (remove_empty && current_string.empty()) continue; @@ -942,7 +942,7 @@ WML_HANDLER_FUNCTION(set_variables, cfg) try { variable_access_const tovar = resources::gamedata->get_variable_access_read(cfg["to_variable"]); - BOOST_FOREACH(const config& c, tovar.as_array()) + for (const config& c : tovar.as_array()) { data.push_back(c); } @@ -953,7 +953,7 @@ WML_HANDLER_FUNCTION(set_variables, cfg) } } else { typedef std::pair vchild; - BOOST_FOREACH(const vchild& p, cfg.all_ordered()) { + for (const vchild& p : cfg.all_ordered()) { if(p.first == "value") { data.push_back(p.second.get_parsed_config()); } else if(p.first == "literal") { @@ -1003,7 +1003,7 @@ WML_HANDLER_FUNCTION(set_variables, cfg) { //merge children into one config merged_children; - BOOST_FOREACH(const config &cfg, data) { + for (const config &cfg : data) { merged_children.append(cfg); } data = boost::assign::list_of(merged_children).convert_to_container >(); @@ -1177,7 +1177,7 @@ WML_HANDLER_FUNCTION(tunnel, cfg) const bool remove = cfg["remove"].to_bool(false); if (remove) { const std::vector ids = utils::split(cfg["id"]); - BOOST_FOREACH(const std::string &id, ids) { + for (const std::string &id : ids) { resources::tunnels->remove(id); } } else if (cfg.get_children("source").empty() || diff --git a/src/game_events/conditional_wml.cpp b/src/game_events/conditional_wml.cpp index d130d585a91b..a05cc389c109 100644 --- a/src/game_events/conditional_wml.cpp +++ b/src/game_events/conditional_wml.cpp @@ -36,7 +36,6 @@ #include "util.hpp" #include "variable.hpp" -#include #include static lg::log_domain log_engine("engine"); @@ -72,7 +71,7 @@ namespace { // Support functions ? utils::parse_ranges((*u)["count"]) : default_counts; int match_count = 0; const unit_filter ufilt(*u, resources::filter_con); - BOOST_FOREACH(const unit &i, *resources::units) + for (const unit &i : *resources::units) { if ( i.hitpoints() > 0 && ufilt(i) ) { ++match_count; @@ -125,7 +124,7 @@ namespace { // Support functions // to see if the variable matches the conditions or not. const vconfig::child_list& variables = cond.get_children("variable"); - BOOST_FOREACH(const vconfig &values, variables) + for (const vconfig &values : variables) { const std::string name = values["name"]; config::attribute_value value = resources::gamedata->get_variable_const(name); diff --git a/src/game_events/handlers.cpp b/src/game_events/handlers.cpp index fc90a75d8357..d8437bd7da4c 100644 --- a/src/game_events/handlers.cpp +++ b/src/game_events/handlers.cpp @@ -34,7 +34,6 @@ #include "soundsource.hpp" #include "util.hpp" -#include #include #include diff --git a/src/game_events/manager.cpp b/src/game_events/manager.cpp index 96eaf02b87de..a304fddd85ed 100644 --- a/src/game_events/manager.cpp +++ b/src/game_events/manager.cpp @@ -32,7 +32,6 @@ #include "soundsource.hpp" #include "util.hpp" -#include #include #include @@ -72,10 +71,10 @@ manager::manager() void manager::read_scenario(const config& scenario_cfg) { - BOOST_FOREACH(const config &ev, scenario_cfg.child_range("event")) { + for(const config &ev : scenario_cfg.child_range("event")) { add_event_handler(ev); } - BOOST_FOREACH(const std::string &id, utils::split(scenario_cfg["unit_wml_ids"])) { + for(const std::string &id : utils::split(scenario_cfg["unit_wml_ids"])) { unit_wml_ids_.insert(id); } @@ -169,7 +168,7 @@ void manager::add_events(const config::const_child_itors &cfgs, const std::strin if(std::find(unit_wml_ids_.begin(),unit_wml_ids_.end(),type) != unit_wml_ids_.end()) return; unit_wml_ids_.insert(type); } - BOOST_FOREACH(const config &new_ev, cfgs) { + for(const config &new_ev : cfgs) { if(type.empty() && new_ev["id"].empty()) { WRN_NG << "attempt to add an [event] with empty id=, ignoring " << std::endl; @@ -181,7 +180,7 @@ void manager::add_events(const config::const_child_itors &cfgs, const std::strin void manager::write_events(config& cfg) { - BOOST_FOREACH(const handler_ptr &eh, *event_handlers_) { + for(const handler_ptr &eh : *event_handlers_) { if ( !eh || eh->is_menu_item() ) { continue; } diff --git a/src/game_events/manager_impl.cpp b/src/game_events/manager_impl.cpp index 183e7f203825..9196ea321f5b 100644 --- a/src/game_events/manager_impl.cpp +++ b/src/game_events/manager_impl.cpp @@ -29,7 +29,6 @@ #include "soundsource.hpp" #include "util.hpp" -#include #include #include @@ -50,7 +49,7 @@ namespace game_events { std::stringstream ss; - BOOST_FOREACH( const handler_ptr & h, active_ ) { + for (const handler_ptr & h : active_) { if ( !h ) continue; const config& cfg = h->get_config(); @@ -132,7 +131,7 @@ namespace game_events { dynamic_.push_back(new_handler); else { std::vector name_list = utils::split(name); - BOOST_FOREACH( const std::string & single_name, name_list ) + for (const std::string & single_name : name_list) by_name_[standardize_name(single_name)].push_back(new_handler); } // File by ID. diff --git a/src/game_events/pump.cpp b/src/game_events/pump.cpp index 810ed642873f..c8848f9cf7f3 100644 --- a/src/game_events/pump.cpp +++ b/src/game_events/pump.cpp @@ -39,7 +39,6 @@ #include "variable.hpp" #include "resources.hpp" -#include #include #include @@ -192,21 +191,21 @@ namespace { // Support functions unit_map::const_iterator unit2 = units->find(ev.loc2); vconfig filters(handler.get_config()); - BOOST_FOREACH(const vconfig &condition, filters.get_children("filter_condition")) + for (const vconfig &condition : filters.get_children("filter_condition")) { if (!conditional_passed(condition)) { return false; } } - BOOST_FOREACH(const vconfig &f, filters.get_children("filter_side")) + for (const vconfig &f : filters.get_children("filter_side")) { side_filter ssf(f, &resources::controller->gamestate()); if ( !ssf.match(resources::controller->current_side()) ) return false; } - BOOST_FOREACH(const vconfig &f, filters.get_children("filter")) + for (const vconfig &f : filters.get_children("filter")) { if ( !ev.loc1.matches_unit_filter(unit1, f) ) { return false; @@ -219,7 +218,7 @@ namespace { // Support functions { const bool matches_unit = ev.loc1.matches_unit(unit1); const config & attack = ev.data.child("first"); - BOOST_FOREACH(const vconfig &f, special_filters) + for (const vconfig &f : special_filters) { if ( f.empty() ) special_matches = true; @@ -234,7 +233,7 @@ namespace { // Support functions return false; } - BOOST_FOREACH(const vconfig &f, filters.get_children("filter_second")) + for (const vconfig &f : filters.get_children("filter_second")) { if ( !ev.loc2.matches_unit_filter(unit2, f) ) { return false; @@ -247,7 +246,7 @@ namespace { // Support functions { const bool matches_unit = ev.loc2.matches_unit(unit2); const config & attack = ev.data.child("second"); - BOOST_FOREACH(const vconfig &f, special_filters) + for (const vconfig &f : special_filters) { if ( f.empty() ) special_matches = true; @@ -508,7 +507,7 @@ bool t_pump::operator()() } if(!lg::debug().dont_log("event_handler")) { std::stringstream ss; - BOOST_FOREACH(const queued_event& ev, impl_->events_queue) { + for(const queued_event& ev : impl_->events_queue) { ss << "name=" << ev.name << "; "; } DBG_EH << "processing queued events: " << ss.str() << "\n"; diff --git a/src/game_events/wmi_container.cpp b/src/game_events/wmi_container.cpp index c8f7b2e90cfa..37d3ac1e9553 100644 --- a/src/game_events/wmi_container.cpp +++ b/src/game_events/wmi_container.cpp @@ -29,8 +29,6 @@ #include "log.hpp" #include "map/location.hpp" -#include - static lg::log_domain log_engine("engine"); #define WRN_NG LOG_STREAM(warn, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) @@ -122,7 +120,7 @@ std::vector, std::string> > wmi scoped_xy_unit highlighted_unit("unit", hex.x, hex.y, units); // Check each menu item. - BOOST_FOREACH( const item_ptr & item, std::make_pair (start, finish) ) + for (const item_ptr & item : std::make_pair (start, finish)) { // Can this item be shown? if ( item->use_wml_menu() && (!item->is_synced() || resources::controller->can_use_synced_wml_menu()) && item->can_show(hex, gamedata, fc) ) @@ -151,7 +149,7 @@ void wmi_container::init_handlers() const unsigned wmi_count = 0; // Loop through each menu item. - BOOST_FOREACH( const item_ptr & wmi, *this ) { + for (const item_ptr & wmi : *this) { // If this menu item has a [command], add a handler for it. wmi->init_handler(); // Count the menu items (for the diagnostic message). @@ -167,7 +165,7 @@ void wmi_container::init_handlers() const void wmi_container::to_config(config& cfg) const { // Loop through our items. - BOOST_FOREACH( const item_ptr & item, *this ) + for (const item_ptr & item : *this) { // Add this item as a child of cfg. item->to_config(cfg.add_child("menu_item")); @@ -198,7 +196,7 @@ void wmi_container::set_item(const std::string& id, const vconfig& menu_item) void wmi_container::set_menu_items(const config& cfg) { wml_menu_items_.clear(); - BOOST_FOREACH(const config &item, cfg.child_range("menu_item")) + for (const config &item : cfg.child_range("menu_item")) { if(!item.has_attribute("id")){ continue; } diff --git a/src/game_initialization/configure_engine.cpp b/src/game_initialization/configure_engine.cpp index d0503e7a21d9..5e8c28909c89 100644 --- a/src/game_initialization/configure_engine.cpp +++ b/src/game_initialization/configure_engine.cpp @@ -5,7 +5,6 @@ #include "settings.hpp" #include "tod_manager.hpp" -#include #include #include #include @@ -28,7 +27,7 @@ configure_engine::configure_engine(saved_game& state) : set_use_map_settings(use_map_settings_default()); if(state_.classification().get_tagname() == "scenario") { - BOOST_FOREACH(const config& scenario, + for (const config& scenario : game_config_manager::get()->game_config().child_range(state_.classification().get_tagname())) { if (scenario["allow_new_game"].to_bool(true) || game_config::debug) { @@ -216,7 +215,7 @@ void configure_engine::write_parameters() scenario["experience_modifier"] = params.xp_modifier; scenario["turns"] = params.num_turns; - BOOST_FOREACH(config& side, scenario.child_range("side")) + for (config& side : scenario.child_range("side")) { side["fog"] = params.fog_game; side["shroud"] = params.shroud_game; diff --git a/src/game_initialization/connect_engine.cpp b/src/game_initialization/connect_engine.cpp index 6544e38ca0a2..35047fda5d98 100644 --- a/src/game_initialization/connect_engine.cpp +++ b/src/game_initialization/connect_engine.cpp @@ -26,7 +26,6 @@ #include "playcampaign.hpp" #include "tod_manager.hpp" #include "multiplayer_ui.hpp" // For get_color_string -#include #include #include #include @@ -113,7 +112,7 @@ connect_engine::connect_engine(saved_game& state, std::vector original_team_names; std::string team_prefix(std::string(_("Team")) + " "); int side_count = 1; - BOOST_FOREACH(config& side, sides) { + for (config& side : sides) { const std::string side_str = std::to_string(side_count); config::attribute_value& team_name = side["team_name"]; config::attribute_value& user_team_name = @@ -170,8 +169,7 @@ connect_engine::connect_engine(saved_game& state, } // Selected era's factions. - BOOST_FOREACH(const config& era, - level_.child("era").child_range("multiplayer_side")) { + for (const config& era : level_.child("era").child_range("multiplayer_side")) { era_factions_.push_back(&era); } @@ -179,7 +177,7 @@ connect_engine::connect_engine(saved_game& state, game_config::add_color_info(scenario()); // Create side engines. int index = 0; - BOOST_FOREACH(const config &s, sides) { + for (const config &s : sides) { side_engine_ptr new_side_engine(new side_engine(s, *this, index)); side_engines_.push_back(new_side_engine); @@ -244,7 +242,7 @@ void connect_engine::import_user(const config& data, const bool observer, } // Check if user has a side(s) reserved for him. - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->reserved_for() == username && side->player_id().empty() && side->controller() != CNTR_COMPUTER) { side->place_user(data); @@ -255,7 +253,7 @@ void connect_engine::import_user(const config& data, const bool observer, // If no sides were assigned for a user, // take a first available side. if (side_taken < 0 && !side_assigned) { - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->available_for_user(username) || side->controller() == CNTR_LOCAL) { side->place_user(data); @@ -268,9 +266,9 @@ void connect_engine::import_user(const config& data, const bool observer, // Check if user has taken any sides, which should get control // over any other sides. - BOOST_FOREACH(side_engine_ptr user_side, side_engines_) { + for (side_engine_ptr user_side : side_engines_) { if(user_side->player_id() == username && !user_side->previous_save_id().empty()) { - BOOST_FOREACH(side_engine_ptr side, side_engines_){ + for (side_engine_ptr side : side_engines_){ if(side->player_id().empty() && side->previous_save_id() == user_side->previous_save_id()) { side->place_user(data); } @@ -281,7 +279,7 @@ void connect_engine::import_user(const config& data, const bool observer, bool connect_engine::sides_available() const { - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->available_for_user()) { return true; } @@ -296,7 +294,7 @@ void connect_engine::update_level() scenario().clear_children("side"); - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { scenario().add_child("side", side->new_config()); } } @@ -321,7 +319,7 @@ bool connect_engine::can_start_game() const } // First check if all sides are ready to start the game. - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (!side->ready_for_start()) { const int side_num = side->index() + 1; DBG_MP << "not all sides are ready, side " << @@ -339,7 +337,7 @@ bool connect_engine::can_start_game() const * creative in what is used in multiplayer [1] so use a simpler test now. * [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568029 */ - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->controller() != CNTR_EMPTY && side->allow_player()) { return true; } @@ -363,22 +361,24 @@ std::multimap side_engine::get_side_children() { std::multimap children; - BOOST_FOREACH(const std::string& children_to_swap, get_children_to_swap()) - BOOST_FOREACH(const config& child, cfg_.child_range(children_to_swap)) + for (const std::string& children_to_swap : get_children_to_swap()) { + for (const config& child : cfg_.child_range(children_to_swap)) { children.insert(std::pair(children_to_swap, child)); + } + } return children; } void side_engine::set_side_children(std::multimap children) { - BOOST_FOREACH(const std::string& children_to_remove, get_children_to_swap()) - cfg_.clear_children(children_to_remove); - - std::pair child_map; + for (const std::string& children_to_remove : get_children_to_swap()) { + cfg_.clear_children(children_to_remove); + } - BOOST_FOREACH(child_map, children) - cfg_.add_child(child_map.first, child_map.second); + for (std::pair child_map : children) { + cfg_.add_child(child_map.first, child_map.second); + } } @@ -389,12 +389,12 @@ void connect_engine::start_game() // Resolves the "random faction", "random gender" and "random message" // Must be done before shuffle sides, or some cases will cause errors rand_rng::mt_rng rng; // Make an RNG for all the shuffling and random faction operations - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { std::vector avoid_faction_ids; // If we aren't resolving random factions independently at random, calculate which factions should not appear for this side. if (params_.random_faction_mode != mp_game_settings::RANDOM_FACTION_MODE::DEFAULT) { - BOOST_FOREACH(side_engine_ptr side2, side_engines_) { + for (side_engine_ptr side2 : side_engines_) { if (!side2->flg().is_random_faction()) { switch(params_.random_faction_mode.v) { case mp_game_settings::RANDOM_FACTION_MODE::NO_MIRROR: @@ -420,7 +420,7 @@ void connect_engine::start_game() // Only playable sides should be shuffled. std::vector playable_sides; - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->allow_player() && side->allow_shuffle()) { playable_sides.push_back(side->index()); } @@ -481,13 +481,12 @@ void connect_engine::start_game_commandline( rand_rng::mt_rng rng; unsigned num = 0; - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { num++; // Set the faction, if commandline option is given. if (cmdline_opts.multiplayer_side) { - BOOST_FOREACH(const mp_option& option, - *cmdline_opts.multiplayer_side) { + for (const mp_option& option : *cmdline_opts.multiplayer_side) { if (option.get<0>() == num) { DBG_MP << "\tsetting side " << option.get<0>() << @@ -500,8 +499,7 @@ void connect_engine::start_game_commandline( // Set the controller, if commandline option is given. if (cmdline_opts.multiplayer_controller) { - BOOST_FOREACH(const mp_option& option, - *cmdline_opts.multiplayer_controller) { + for (const mp_option& option : *cmdline_opts.multiplayer_controller) { if (option.get<0>() == num) { DBG_MP << "\tsetting side " << option.get<0>() << @@ -516,8 +514,7 @@ void connect_engine::start_game_commandline( // then override if commandline option was given. side->set_ai_algorithm("ai_default_rca"); if (cmdline_opts.multiplayer_algorithm) { - BOOST_FOREACH(const mp_option& option, - *cmdline_opts.multiplayer_algorithm) { + for (const mp_option& option : *cmdline_opts.multiplayer_algorithm) { if (option.get<0>() == num) { DBG_MP << "\tsetting side " << option.get<0>() << @@ -542,11 +539,10 @@ void connect_engine::start_game_commandline( scenario()["turns"] = *cmdline_opts.multiplayer_turns; } - BOOST_FOREACH(config &side, scenario().child_range("side")) + for (config &side : scenario().child_range("side")) { if (cmdline_opts.multiplayer_ai_config) { - BOOST_FOREACH(const mp_option& option, - *cmdline_opts.multiplayer_ai_config) { + for (const mp_option& option : *cmdline_opts.multiplayer_ai_config) { if (option.get<0>() == side["side"].to_unsigned()) { DBG_MP << "\tsetting side " << side["side"] << @@ -570,8 +566,7 @@ void connect_engine::start_game_commandline( mp_parameter; if (cmdline_opts.multiplayer_parm) { - BOOST_FOREACH(const mp_parameter& parameter, - *cmdline_opts.multiplayer_parm) { + for (const mp_parameter& parameter : *cmdline_opts.multiplayer_parm) { if (parameter.get<0>() == side["side"].to_unsigned()) { DBG_MP << "\tsetting side " << side["side"] << " " << @@ -662,7 +657,7 @@ std::pair connect_engine::process_network_data(const config& data, // This side is already taken. // Try to reassing the player to a different position. side_taken = 0; - BOOST_FOREACH(side_engine_ptr s, side_engines_) { + for (side_engine_ptr s : side_engines_) { if (s->available_for_user()) { break; } @@ -753,7 +748,7 @@ void connect_engine::process_network_error(network::error& error) int connect_engine::find_user_side_index_by_id(const std::string& id) const { size_t i = 0; - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { if (side->player_id() == id) { break; } @@ -793,7 +788,7 @@ void connect_engine::save_reserved_sides_information() // N.B. This information is needed only for a host player. std::map side_users = utils::map_split(level_.child_or_empty("multiplayer")["side_users"]); - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { const std::string& save_id = side->save_id(); const std::string& player_id = side->player_id(); if (!save_id.empty() && !player_id.empty()) { @@ -808,7 +803,7 @@ void connect_engine::load_previous_sides_users() std::map side_users = utils::map_split(level_.child("multiplayer")["side_users"]); std::set names; - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { const std::string& save_id = side->previous_save_id(); if (side_users.find(save_id) != side_users.end()) { side->set_reserved_for(side_users[save_id]); @@ -822,7 +817,7 @@ void connect_engine::load_previous_sides_users() } } //Do this in an extra loop to make sure we import each user only once. - BOOST_FOREACH(const std::string& name, names) + for (const std::string& name : names) { if (connected_users().find(name) != connected_users().end() || !campaign_info_) { import_user(name, false); @@ -832,7 +827,7 @@ void connect_engine::load_previous_sides_users() void connect_engine::update_side_controller_options() { - BOOST_FOREACH(side_engine_ptr side, side_engines_) { + for (side_engine_ptr side : side_engines_) { side->update_controller_options(); } } @@ -924,7 +919,7 @@ side_engine::side_engine(const config& cfg, connect_engine& parent_engine, // Initialize team and color. unsigned team_name_index = 0; - BOOST_FOREACH(const std::string& name, parent_.team_names_) { + for (const std::string& name : parent_.team_names_) { if (name == cfg["team_name"]) { break; } @@ -1064,7 +1059,7 @@ config side_engine::new_config() const // and gender values for it. config* leader = &res; if (flg_.default_leader_cfg() != nullptr) { - BOOST_FOREACH(config& side_unit, res.child_range("unit")) { + for (config& side_unit : res.child_range("unit")) { if (*flg_.default_leader_cfg() == side_unit) { leader = &side_unit; if (flg_.current_leader() != (*leader)["type"]) { @@ -1095,7 +1090,7 @@ config side_engine::new_config() const if (parent_.params_.use_map_settings && !parent_.params_.saved_game) { config trimmed = cfg_; - BOOST_FOREACH(const std::string& attribute, attributes_to_trim) { + for (const std::string& attribute : attributes_to_trim) { trimmed.remove_attribute(attribute); } @@ -1259,7 +1254,7 @@ void side_engine::update_controller_options() // Connected users. add_controller_option(CNTR_LAST, _("--give--"), "human"); - BOOST_FOREACH(const std::string& user, parent_.connected_users()) { + for (const std::string& user : parent_.connected_users()) { add_controller_option(parent_.default_controller_, user, "human"); } @@ -1269,7 +1264,7 @@ void side_engine::update_controller_options() void side_engine::update_current_controller_index() { int i = 0; - BOOST_FOREACH(const controller_option& option, controller_options_) { + for (const controller_option& option : controller_options_) { if (option.first == controller_) { current_controller_index_ = i; diff --git a/src/game_initialization/create_engine.cpp b/src/game_initialization/create_engine.cpp index 213e6c1b3f70..c3d138d34c9a 100644 --- a/src/game_initialization/create_engine.cpp +++ b/src/game_initialization/create_engine.cpp @@ -35,7 +35,6 @@ #include "serialization/preprocessor.hpp" #include "serialization/parser.hpp" -#include #include #include @@ -215,7 +214,7 @@ void scenario::set_sides() } num_players_ = 0; - BOOST_FOREACH(const config &scenario, data_.child_range("side")) { + for (const config &scenario : data_.child_range("side")) { if (scenario["allow_player"].to_bool(true)) { ++num_players_; } @@ -436,7 +435,7 @@ create_engine::create_engine(CVideo& v, saved_game& state) : state_.mp_settings().saved_game = false; - BOOST_FOREACH (const std::string& str, preferences::modifications(state_.classification().campaign_type == + for (const std::string& str : preferences::modifications(state_.classification().campaign_type == game_classification::CAMPAIGN_TYPE::MULTIPLAYER)) { if (game_config_manager::get()-> game_config().find_child("modification", "id", str)) @@ -522,7 +521,7 @@ void create_engine::prepare_for_era_and_mods() state_.classification().era_define = game_config_manager::get()->game_config().find_child( "era", "id", get_parameters().mp_era)["define"].str(); - BOOST_FOREACH(const std::string& mod_id, get_parameters().active_mods) { + for (const std::string& mod_id : get_parameters().active_mods) { state_.classification().mod_defines.push_back( game_config_manager::get()->game_config().find_child( "modification", "id", mod_id)["define"].str()); @@ -584,7 +583,7 @@ std::string create_engine::select_campaign_difficulty(int set_value) // Verify the existence of difficulties std::vector difficulties; - BOOST_FOREACH(const config &d, current_level().data().child_range("difficulty")) + for (const config &d : current_level().data().child_range("difficulty")) { difficulties.push_back(d["define"]); } @@ -705,7 +704,7 @@ std::vector create_engine::levels_menu_item_names() const { std::vector menu_names; - BOOST_FOREACH(level_ptr level, get_levels_by_type(current_level_type_)) { + for (level_ptr level : get_levels_by_type(current_level_type_)) { menu_names.push_back(IMAGE_PREFIX + level->icon() + IMG_TEXT_SEPARATOR + level->name() + HELP_STRING_SEPARATOR + level->name()); } @@ -718,8 +717,7 @@ std::vector create_engine::extras_menu_item_names( { std::vector names; - BOOST_FOREACH(extras_metadata_ptr extra, - get_const_extras_by_type(extra_type)) { + for (extras_metadata_ptr extra : get_const_extras_by_type(extra_type)) { if (escape_markup) { names.push_back(font::NULL_MARKUP + extra->name); } else { @@ -860,7 +858,7 @@ void create_engine::generator_user_config(CVideo& v) int create_engine::find_level_by_id(const std::string& id) const { int i = 0; - BOOST_FOREACH(user_map_ptr user_map, user_maps_) { + for (user_map_ptr user_map : user_maps_) { if (user_map->id() == id) { return i; } @@ -868,7 +866,7 @@ int create_engine::find_level_by_id(const std::string& id) const } i = 0; - BOOST_FOREACH(random_map_ptr random_map, random_maps_) { + for (random_map_ptr random_map : random_maps_) { if (random_map->id() == id) { return i; } @@ -876,7 +874,7 @@ int create_engine::find_level_by_id(const std::string& id) const } i = 0; - BOOST_FOREACH(scenario_ptr scenario, scenarios_) { + for (scenario_ptr scenario : scenarios_) { if (scenario->id() == id) { return i; } @@ -884,7 +882,7 @@ int create_engine::find_level_by_id(const std::string& id) const } i = 0; - BOOST_FOREACH(scenario_ptr scenario, user_scenarios_) { + for (scenario_ptr scenario : user_scenarios_) { if (scenario->id() == id) { return i; } @@ -892,7 +890,7 @@ int create_engine::find_level_by_id(const std::string& id) const } i = 0; - BOOST_FOREACH(campaign_ptr campaign, campaigns_) { + for (campaign_ptr campaign : campaigns_) { if (campaign->id() == id) { return i; } @@ -900,7 +898,7 @@ int create_engine::find_level_by_id(const std::string& id) const } i = 0; - BOOST_FOREACH(campaign_ptr sp_campaign, sp_campaigns_) { + for (campaign_ptr sp_campaign : sp_campaigns_) { if (sp_campaign->id() == id) { return i; } @@ -914,8 +912,7 @@ int create_engine::find_extra_by_id(const MP_EXTRA extra_type, const std::string& id) const { int i = 0; - BOOST_FOREACH(extras_metadata_ptr extra, - get_const_extras_by_type(extra_type)) { + for (extras_metadata_ptr extra : get_const_extras_by_type(extra_type)) { if (extra->id == id) { return i; } @@ -927,27 +924,27 @@ int create_engine::find_extra_by_id(const MP_EXTRA extra_type, level::TYPE create_engine::find_level_type_by_id(const std::string& id) const { - BOOST_FOREACH(user_map_ptr user_map, user_maps_) { + for (user_map_ptr user_map : user_maps_) { if (user_map->id() == id) { return level::TYPE::USER_MAP; } } - BOOST_FOREACH(random_map_ptr random_map, random_maps_) { + for (random_map_ptr random_map : random_maps_) { if (random_map->id() == id) { return level::TYPE::RANDOM_MAP; } } - BOOST_FOREACH(scenario_ptr scenario, scenarios_) { + for (scenario_ptr scenario : scenarios_) { if (scenario->id() == id) { return level::TYPE::SCENARIO; } } - BOOST_FOREACH(scenario_ptr scenario, user_scenarios_) { + for (scenario_ptr scenario : user_scenarios_) { if (scenario->id() == id) { return level::TYPE::USER_SCENARIO; } } - BOOST_FOREACH(campaign_ptr campaign, campaigns_) { + for (campaign_ptr campaign : campaigns_) { if (campaign->id() == id) { return level::TYPE::CAMPAIGN; } @@ -1057,8 +1054,7 @@ void create_engine::init_all_levels() } // Stand-alone scenarios. - BOOST_FOREACH(const config &data, - game_config_manager::get()->game_config().child_range("multiplayer")) + for (const config &data : game_config_manager::get()->game_config().child_range("multiplayer")) { if (!data["allow_new_game"].to_bool(true)) continue; @@ -1078,8 +1074,7 @@ void create_engine::init_all_levels() } // Campaigns. - BOOST_FOREACH(const config &data, - game_config_manager::get()->game_config().child_range("campaign")) + for (const config &data : game_config_manager::get()->game_config().child_range("campaign")) { const std::string& type = data["type"]; bool mp = state_.classification().campaign_type == game_classification::CAMPAIGN_TYPE::MULTIPLAYER; @@ -1106,7 +1101,7 @@ void create_engine::init_extras(const MP_EXTRA extra_type) std::vector& extras = get_extras_by_type(extra_type); const std::string extra_name = (extra_type == ERA) ? "era" : "modification"; ng::depcheck::component_availabilty default_availabilty = (extra_type == ERA) ? ng::depcheck::component_availabilty::MP : ng::depcheck::component_availabilty::HYBRID; - BOOST_FOREACH(const config &extra, game_config_manager::get()->game_config().child_range(extra_name)) + for (const config &extra : game_config_manager::get()->game_config().child_range(extra_name)) { ng::depcheck::component_availabilty type = extra["type"].to_enum(default_availabilty); bool mp = state_.classification().campaign_type == game_classification::CAMPAIGN_TYPE::MULTIPLAYER; @@ -1189,32 +1184,32 @@ std::vector std::vector levels; switch (type.v) { case level::TYPE::SCENARIO: - BOOST_FOREACH(level_ptr level, scenarios_) { + for (level_ptr level : scenarios_) { levels.push_back(level); } break; case level::TYPE::USER_MAP: - BOOST_FOREACH(level_ptr level, user_maps_) { + for (level_ptr level : user_maps_) { levels.push_back(level); } break; case level::TYPE::USER_SCENARIO: - BOOST_FOREACH(level_ptr level, user_scenarios_) { + for (level_ptr level : user_scenarios_) { levels.push_back(level); } break; case level::TYPE::RANDOM_MAP: - BOOST_FOREACH(level_ptr level, random_maps_) { + for (level_ptr level : random_maps_) { levels.push_back(level); } break; case level::TYPE::CAMPAIGN: - BOOST_FOREACH(level_ptr level, campaigns_) { + for (level_ptr level : campaigns_) { levels.push_back(level); } break; case level::TYPE::SP_CAMPAIGN: - BOOST_FOREACH(level_ptr level, sp_campaigns_) { + for (level_ptr level : sp_campaigns_) { levels.push_back(level); } break; @@ -1228,32 +1223,32 @@ std::vector create_engine::get_levels_by_type(level::T std::vector levels; switch (type.v) { case level::TYPE::SCENARIO: - BOOST_FOREACH(size_t level, scenarios_filtered_) { + for (size_t level : scenarios_filtered_) { levels.push_back(scenarios_[level]); } break; case level::TYPE::USER_MAP: - BOOST_FOREACH(size_t level, user_maps_filtered_) { + for (size_t level : user_maps_filtered_) { levels.push_back(user_maps_[level]); } break; case level::TYPE::USER_SCENARIO: - BOOST_FOREACH(size_t level, user_scenarios_filtered_) { + for (size_t level : user_scenarios_filtered_) { levels.push_back(user_scenarios_[level]); } break; case level::TYPE::RANDOM_MAP: - BOOST_FOREACH(size_t level, random_maps_filtered_) { + for (size_t level : random_maps_filtered_) { levels.push_back(random_maps_[level]); } break; case level::TYPE::CAMPAIGN: - BOOST_FOREACH(size_t level, campaigns_filtered_) { + for (size_t level : campaigns_filtered_) { levels.push_back(campaigns_[level]); } break; case level::TYPE::SP_CAMPAIGN: - BOOST_FOREACH(size_t level, sp_campaigns_filtered_) { + for (size_t level : sp_campaigns_filtered_) { levels.push_back(sp_campaigns_[level]); } break; diff --git a/src/game_initialization/flg_manager.cpp b/src/game_initialization/flg_manager.cpp index 1975cb1af8a2..c0bad0501755 100644 --- a/src/game_initialization/flg_manager.cpp +++ b/src/game_initialization/flg_manager.cpp @@ -21,8 +21,6 @@ #include "wml_separators.hpp" #include "log.hpp" -#include - static lg::log_domain log_mp_connect_engine("mp/connect/engine"); #define DBG_MP LOG_STREAM(debug, log_mp_connect_engine) #define LOG_MP LOG_STREAM(info, log_mp_connect_engine) @@ -80,7 +78,7 @@ flg_manager::flg_manager(const std::vector& era_factions, } } else if (default_leader_type_.empty()) { // Find a unit which can recruit. - BOOST_FOREACH(const config& side_unit, side_.child_range("unit")) { + for (const config& side_unit : side_.child_range("unit")) { if (side_unit["canrecruit"].to_bool()) { default_leader_type_ = side_unit["type"].str(); default_leader_gender_ = side_unit["gender"].str(); @@ -119,7 +117,7 @@ void flg_manager::set_current_faction(const unsigned index) void flg_manager::set_current_faction(const std::string& id) { unsigned index = 0; - BOOST_FOREACH(const config* faction, choosable_factions_) { + for (const config* faction : choosable_factions_) { if ((*faction)["id"] == id) { set_current_faction(index); return; @@ -148,7 +146,7 @@ void flg_manager::set_current_gender(const unsigned index) void flg_manager::reset_leader_combo(gui::combo& combo_leader, const std::string& color) const { std::vector leaders; - BOOST_FOREACH(const std::string& leader, choosable_leaders_) { + for (const std::string& leader : choosable_leaders_) { const unit_type* unit = unit_types.find(leader); if (unit) { leaders.push_back(IMAGE_PREFIX + unit->image() + @@ -175,7 +173,7 @@ void flg_manager::reset_gender_combo(gui::combo& combo_gender, const std::string const unit_type* unit = unit_types.find(current_leader_); std::vector genders; - BOOST_FOREACH(const std::string& gender, choosable_genders_) { + for (const std::string& gender : choosable_genders_) { if (gender == unit_race::s_female || gender == unit_race::s_male) { if (unit) { const unit_type& gender_unit = @@ -236,7 +234,7 @@ void flg_manager::resolve_random(rand_rng::mt_rng & rng, const std::vector nonrandom_sides; std::vector fallback_nonrandom_sides; int num = -1; - BOOST_FOREACH(const config* i, available_factions_) { + for (const config* i : available_factions_) { ++num; if (!(*i)["random_faction"].to_bool()) { const std::string& faction_id = (*i)["id"]; @@ -285,7 +283,7 @@ void flg_manager::resolve_random(rand_rng::mt_rng & rng, const std::vector nonrandom_leaders = utils::split((*current_faction_)["random_leader"]); if (nonrandom_leaders.empty()) { - BOOST_FOREACH(const std::string& leader, available_leaders_) { + for (const std::string& leader : available_leaders_) { if (leader != "random") { nonrandom_leaders.push_back(leader); } @@ -312,7 +310,7 @@ void flg_manager::resolve_random(rand_rng::mt_rng & rng, const std::vector nonrandom_genders; - BOOST_FOREACH(const std::string& gender, available_genders_) { + for (const std::string& gender : available_genders_) { if (gender != "random") { nonrandom_genders.push_back(gender); } @@ -335,7 +333,7 @@ void flg_manager::update_available_factions() const config* custom_faction = nullptr; const bool show_custom_faction = side_["faction"] == "Custom" || !has_no_recruits_ || faction_lock_; - BOOST_FOREACH(const config* faction, era_factions_) { + for (const config* faction : era_factions_) { if ((*faction)["id"] == "Custom" && !show_custom_faction) { // "Custom" faction should not be available if both @@ -378,7 +376,7 @@ void flg_manager::update_available_leaders() if (!is_random_faction()) { if ((*current_faction_)["id"] == "Custom") { // Allow user to choose a leader from any faction. - BOOST_FOREACH(const config* f, available_factions_) { + for (const config* f : available_factions_) { if ((*f)["id"] != "Random") { append_leaders_from_faction(f); } @@ -422,7 +420,7 @@ void flg_manager::update_available_genders() if (saved_game_) { std::string gender; - BOOST_FOREACH(const config& side_unit, side_.child_range("unit")) { + for (const config& side_unit : side_.child_range("unit")) { if (current_leader_ == side_unit["type"] && side_unit["canrecruit"].to_bool()) { @@ -440,7 +438,7 @@ void flg_manager::update_available_genders() available_genders_.push_back("random"); } - BOOST_FOREACH(unit_race::GENDER gender, unit->genders()) { + for (unit_race::GENDER gender : unit->genders()) { std::string gender_str; if (gender == unit_race::FEMALE) { gender_str = unit_race::s_female; @@ -538,13 +536,13 @@ int flg_manager::find_suitable_faction() const } int res = -1, index = 0, best_score = 0; - BOOST_FOREACH(const config *faction, choosable_factions_) + for (const config *faction : choosable_factions_) { int faction_score = 0; std::vector recruit = utils::split((*faction)[search_field]); - BOOST_FOREACH(const std::string &search, find) { - BOOST_FOREACH(const std::string &r, recruit) { + for (const std::string &search : find) { + for (const std::string &r : recruit) { if (r == search) { ++faction_score; break; diff --git a/src/game_initialization/mp_game_utils.cpp b/src/game_initialization/mp_game_utils.cpp index 13ddd8390eb4..8c1344ed7451 100644 --- a/src/game_initialization/mp_game_utils.cpp +++ b/src/game_initialization/mp_game_utils.cpp @@ -26,8 +26,6 @@ #include "savegame.hpp" #include "units/id.hpp" -#include - static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) #define ERR_NG LOG_STREAM(err, log_engine) diff --git a/src/game_initialization/mp_options.cpp b/src/game_initialization/mp_options.cpp index b0faed8abd97..0d0ed1e58bf5 100644 --- a/src/game_initialization/mp_options.cpp +++ b/src/game_initialization/mp_options.cpp @@ -23,7 +23,6 @@ #include "gui/widgets/toggle_button.hpp" #include "widgets/slider.hpp" #include "widgets/textbox.hpp" -#include #include static lg::log_domain log_mp_create_options("mp/create/options"); @@ -37,7 +36,7 @@ namespace options void manager::init_info(const config& cfg, const std::string& key) { - BOOST_FOREACH (const config& comp, cfg.child_range(key)) { + for (const config& comp : cfg.child_range(key)) { config entry; entry["id"] = comp["id"]; entry["name"] = comp["name"]; @@ -45,8 +44,7 @@ void manager::init_info(const config& cfg, const std::string& key) if (comp.has_child("options") && comp["allow_new_game"].to_bool(true)) { const config& options = comp.child("options"); - BOOST_FOREACH (const config::any_child& c, - options.all_children_range()) { + for (const config::any_child& c : options.all_children_range()) { entry.add_child(c.key, c.cfg); } @@ -60,20 +58,20 @@ void manager::init_info(const config& cfg, const std::string& key) void manager::init_widgets() { - BOOST_FOREACH(option_display* od, widgets_ordered_) { + for (option_display* od : widgets_ordered_) { delete od; } widgets_.clear(); widgets_ordered_.clear(); - BOOST_FOREACH (const config::any_child& comp, options_info_.all_children_range()) { + for (const config::any_child& comp : options_info_.all_children_range()) { if (comp.cfg.all_children_count() == 0 || !is_active(comp.cfg["id"])) { continue; } widgets_ordered_.push_back(new title_display(video_, comp.cfg["name"])); - BOOST_FOREACH (const config::any_child& c, comp.cfg.all_children_range()) { + for (const config::any_child& c : comp.cfg.all_children_range()) { const std::string id = c.cfg["id"]; if (c.key == "slider") { widgets_ordered_.push_back(new slider_display(video_, c.cfg)); @@ -93,7 +91,7 @@ void manager::init_widgets() void manager::restore_defaults(const std::string &component) { - BOOST_FOREACH (const config::any_child& i, get_component_cfg(component).all_children_range()) { + for (const config::any_child& i : get_component_cfg(component).all_children_range()) { if (!is_valid_option(i.key, i.cfg)) { continue; } @@ -127,10 +125,9 @@ manager::manager(const config &gamecfg, CVideo &video, gui::scrollpane *pane, co init_info(gamecfg, "multiplayer"); init_info(gamecfg, "campaign"); - BOOST_FOREACH (const config::any_child& i, - options_info_.all_children_range()) + for (const config::any_child& i : options_info_.all_children_range()) { - BOOST_FOREACH (const config::any_child& j, i.cfg.all_children_range()) + for (const config::any_child& j : i.cfg.all_children_range()) { if (is_valid_option(j.key, j.cfg)) { config& value = get_value_cfg(j.cfg["id"]); @@ -144,7 +141,7 @@ manager::manager(const config &gamecfg, CVideo &video, gui::scrollpane *pane, co manager::~manager() { - BOOST_FOREACH(option_display* od, widgets_ordered_) + for (option_display* od : widgets_ordered_) { delete od; } @@ -182,7 +179,7 @@ void manager::layout_widgets(int startx, int starty, int w) { int ypos = starty; int border_size = 3; - BOOST_FOREACH(option_display* od, widgets_ordered_) + for (option_display* od : widgets_ordered_) { od->layout(startx, ypos, w, border_size, pane_); ypos += border_size; @@ -241,8 +238,8 @@ const config& manager::get_value_cfg_or_empty(const std::string& id) const { static const config empty; - BOOST_FOREACH (const config::any_child& i, values_.all_children_range()) { - BOOST_FOREACH (const config& j, i.cfg.child_range("option")) { + for (const config::any_child& i : values_.all_children_range()) { + for (const config& j : i.cfg.child_range("option")) { if (j["id"] == id) { return j; } @@ -258,9 +255,8 @@ config::any_child manager::get_option_parent(const std::string& id) const static const std::string empty_key = ""; static config::any_child not_found(&empty_key, &empty); - BOOST_FOREACH (const config::any_child& i, - options_info_.all_children_range()) { - BOOST_FOREACH (const config::any_child& j, i.cfg.all_children_range()) { + for (const config::any_child& i : options_info_.all_children_range()) { + for (const config::any_child& j : i.cfg.all_children_range()) { if (j.cfg["id"] == id) { return i; } @@ -274,9 +270,8 @@ const config& manager::get_option_info_cfg(const std::string& id) const { static const config empty; - BOOST_FOREACH (const config::any_child& i, - options_info_.all_children_range()) { - BOOST_FOREACH (const config::any_child& j, i.cfg.all_children_range()) { + for (const config::any_child& i : options_info_.all_children_range()) { + for (const config::any_child& j : i.cfg.all_children_range()) { if (j.cfg["id"] == id) { return j.cfg; } @@ -327,8 +322,7 @@ config::attribute_value manager::get_default_value(const std::string& id) const void manager::extract_values(const std::string& key, const std::string& id) { - BOOST_FOREACH (const config::any_child& c, - options_info_.find_child(key, "id", id).all_children_range()) + for (const config::any_child& c : options_info_.find_child(key, "id", id).all_children_range()) { if (!is_valid_option(c.key, c.cfg)) { continue; @@ -348,7 +342,7 @@ void manager::update_values() else { extract_values("multiplayer", scenario_); } - BOOST_FOREACH(const std::string& str, modifications_) { + for (const std::string& str : modifications_) { extract_values("modification", str); } } @@ -529,7 +523,7 @@ combo_display::combo_display(CVideo &video, const config &cfg) : values_() { std::vector items; - BOOST_FOREACH(const config& item, cfg.child_range("item")) { + for (const config& item : cfg.child_range("item")) { items.push_back(item["name"]); values_.push_back(item["value"]); } diff --git a/src/game_initialization/multiplayer.cpp b/src/game_initialization/multiplayer.cpp index 7f047115acce..12f59e3b31ad 100644 --- a/src/game_initialization/multiplayer.cpp +++ b/src/game_initialization/multiplayer.cpp @@ -50,7 +50,6 @@ #include "game_config_manager.hpp" #include -#include static lg::log_domain log_network("network"); #define LOG_NW LOG_STREAM(info, log_network) @@ -669,7 +668,7 @@ static void enter_lobby_mode(CVideo& video, const config& game_config, while (true) { const config &cfg = game_config.child("lobby_music"); if (cfg) { - BOOST_FOREACH(const config &i, cfg.child_range("music")) { + for (const config &i : cfg.child_range("music")) { sound::play_music_config(i); } sound::commit_music_changes(); diff --git a/src/game_initialization/multiplayer_configure.cpp b/src/game_initialization/multiplayer_configure.cpp index 396e43effd80..0b020082bec1 100644 --- a/src/game_initialization/multiplayer_configure.cpp +++ b/src/game_initialization/multiplayer_configure.cpp @@ -36,7 +36,6 @@ #include "formula/string_utils.hpp" #include -#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) diff --git a/src/game_initialization/multiplayer_connect.cpp b/src/game_initialization/multiplayer_connect.cpp index fc86daee5b2a..20e2da2c16b6 100644 --- a/src/game_initialization/multiplayer_connect.cpp +++ b/src/game_initialization/multiplayer_connect.cpp @@ -30,7 +30,6 @@ #include "wml_separators.hpp" #include -#include static lg::log_domain log_mp_connect("mp/connect"); #define DBG_MP LOG_STREAM(debug, log_mp_connect) @@ -42,7 +41,7 @@ std::vector controller_options_names( const std::vector& controller_options) { std::vector names; - BOOST_FOREACH(const ng::controller_option& option, controller_options) { + for (const ng::controller_option& option : controller_options) { names.push_back(option.second); } @@ -298,7 +297,7 @@ void connect::side::add_widgets_to_scrollpane(gui::scrollpane& pane, int pos) void connect::side::update_faction_combo() { std::vector factions; - BOOST_FOREACH(const config* faction, engine_->flg().choosable_factions()) { + for (const config* faction : engine_->flg().choosable_factions()) { const std::string& name = (*faction)["name"]; const std::string& icon = (*faction)["image"]; if (!icon.empty()) { @@ -331,7 +330,7 @@ void connect::side::update_controller_ui() int sel = 0; int i = 0; std::vector ais; - BOOST_FOREACH(const ai::description* desc, parent_->ai_algorithms_){ + for (const ai::description* desc : parent_->ai_algorithms_) { ais.push_back(desc->text); if (desc->id == engine_->ai_algorithm()) { sel = i; @@ -407,7 +406,7 @@ connect::connect(CVideo& v, const std::string& game_name, ai_algorithms_ = ai::configuration::get_available_ais(); // Sides. - BOOST_FOREACH(ng::side_engine_ptr s, engine_.side_engines()) { + for (ng::side_engine_ptr s : engine_.side_engines()) { sides_.push_back(side(*this, s)); } if (sides_.empty() && !game_config::debug) { @@ -417,7 +416,7 @@ connect::connect(CVideo& v, const std::string& game_name, // Add side widgets to scroll pane. int side_pos_y_offset = 0; - BOOST_FOREACH(side& s, sides_) { + for (side& s : sides_) { if (!s.engine()->allow_player() && !game_config::debug) { continue; } @@ -463,7 +462,7 @@ void connect::process_event_impl(const process_event_data & data) { bool changed = false; - BOOST_FOREACH(side& s, sides_) { + for (side& s : sides_) { s.process_event(); if (s.changed()) { changed = true; @@ -573,7 +572,7 @@ void connect::process_network_data(const config& data, set_result(QUIT); } - BOOST_FOREACH(side& s, sides_) { + for (side& s : sides_) { s.update_ui(); } @@ -606,7 +605,7 @@ void connect::update_playerlist_state(bool silent) } else { // Updates the player list std::vector playerlist; - BOOST_FOREACH(const std::string& user, engine_.connected_users()) { + for (const std::string& user : engine_.connected_users()) { playerlist.push_back(user); } set_user_list(playerlist, silent); diff --git a/src/game_initialization/multiplayer_create.cpp b/src/game_initialization/multiplayer_create.cpp index 2a46cfb0da4a..d8e397e6357f 100644 --- a/src/game_initialization/multiplayer_create.cpp +++ b/src/game_initialization/multiplayer_create.cpp @@ -48,7 +48,6 @@ #include "sdl/rect.hpp" #include -#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -140,7 +139,7 @@ create::create(CVideo& video, const config& cfg, saved_game& state, std::vector combo_level_names; - BOOST_FOREACH(level_type_info type_info, all_level_types) { + for (level_type_info type_info : all_level_types) { if (!engine_.get_levels_by_type_unfiltered(type_info.first).empty()) { available_level_types_.push_back(type_info.first); combo_level_names.push_back(type_info.second); @@ -159,7 +158,7 @@ create::create(CVideo& video, const config& cfg, saved_game& state, // Set level selection according to the preferences, if possible. size_t type_index = 0; - BOOST_FOREACH(ng::level::TYPE type, available_level_types_) { + for (ng::level::TYPE type : available_level_types_) { if (preferences::level_type() == type.cast()) { break; } @@ -536,7 +535,7 @@ void create::synchronize_selections() levels_menu_.set_items(engine_.levels_menu_item_names()); levels_menu_.move_selection(index); type_index = 0; - BOOST_FOREACH(ng::level::TYPE type, available_level_types_) { + for (ng::level::TYPE type : available_level_types_) { if (level_type_at_index == type) { level_type_combo_.set_selected(type_index); break; diff --git a/src/game_initialization/multiplayer_lobby.cpp b/src/game_initialization/multiplayer_lobby.cpp index b2139eb4b464..d6d6e6a51f3c 100644 --- a/src/game_initialization/multiplayer_lobby.cpp +++ b/src/game_initialization/multiplayer_lobby.cpp @@ -46,7 +46,6 @@ #include #include #include -#include #include static lg::log_domain log_config("config"); @@ -485,8 +484,7 @@ void gamebrowser::populate_game_item_campaign_or_scenario_info(gamebrowser::game if (map_hashes_ && !item.reloaded) { std::string hash = game["hash"]; bool hash_found = false; - BOOST_FOREACH(const config::attribute& i, - map_hashes_.attribute_range()) { + for (const config::attribute& i : map_hashes_.attribute_range()) { if (i.first == game["mp_scenario"] && i.second == hash) { @@ -547,7 +545,7 @@ void gamebrowser::populate_game_item_campaign_or_scenario_info(gamebrowser::game //TODO: use difficulties instead of difficulty_descriptions if //difficulty_descriptions is not available assert(difficulties.size() == difficulty_options.size()); - BOOST_FOREACH(const std::string& difficulty, difficulties) { + for (const std::string& difficulty : difficulties) { if (difficulty == game["difficulty_define"]) { gui2::tlegacy_menu_item menu_item(difficulty_options[index]); item.map_info += " — "; @@ -728,7 +726,7 @@ void gamebrowser::populate_game_item_mod_info(gamebrowser::game_item & item, con item.era_and_mod_info += _("Modifications:"); item.era_and_mod_info += " "; - BOOST_FOREACH (const config& m, game.child_range("modification")) { + for (const config& m : game.child_range("modification")) { const config& mod_cfg = game_config.find_child("modification", "id", m["id"]); if (mod_cfg) { item.era_and_mod_info += mod_cfg["name"].str(); @@ -754,7 +752,7 @@ void gamebrowser::populate_game_item_mod_info(gamebrowser::game_item & item, con // Do this before populating eras and mods, to get reports of missing add-ons in the most sensible order. void gamebrowser::populate_game_item_addons_installed(gamebrowser::game_item & item, const config & game, const std::vector & installed_addons) { - BOOST_FOREACH(const config & addon, game.child_range("addon")) { + for (const config & addon : game.child_range("addon")) { if (addon.has_attribute("id")) { if (std::find(installed_addons.begin(), installed_addons.end(), addon["id"].str()) == installed_addons.end()) { required_addon r; @@ -864,7 +862,7 @@ void gamebrowser::set_game_items(const config& cfg, const config& game_config, c games_.clear(); - BOOST_FOREACH(const config &game, cfg.child("gamelist").child_range("game")) + for (const config &game : cfg.child("gamelist").child_range("game")) { games_.push_back(game_item()); populate_game_item(games_.back(), game, game_config, installed_addons); @@ -926,7 +924,7 @@ bool gamebrowser::game_matches_filter(const game_item& i, const config& cfg) } if(preferences::fi_friends_in_game()) { bool found_friend = false; - BOOST_FOREACH(const config &user, cfg.child_range("user")) { + for (const config &user : cfg.child_range("user")) { if(preferences::is_friend(user["name"]) && user["game_id"] == i.id) { found_friend = true; break; @@ -939,7 +937,7 @@ bool gamebrowser::game_matches_filter(const game_item& i, const config& cfg) if(!preferences::fi_text().empty()) { bool found_match = true; - BOOST_FOREACH(const std::string& search_string, utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { + for (const std::string& search_string : utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { if(!boost::contains(i.map_info, search_string, chars_equal_insensitive) && !boost::contains(i.name, search_string, chars_equal_insensitive) && @@ -1200,7 +1198,7 @@ static void handle_addon_requirements_gui(CVideo & v, const std::vector needs_download; - BOOST_FOREACH(const required_addon & a, reqs) { + for (const required_addon & a : reqs) { if (a.outcome == NEED_DOWNLOAD) { err_msg += a.message; err_msg += "\n"; diff --git a/src/game_initialization/multiplayer_ui.cpp b/src/game_initialization/multiplayer_ui.cpp index e8dac37fd745..6f5b78938bdb 100644 --- a/src/game_initialization/multiplayer_ui.cpp +++ b/src/game_initialization/multiplayer_ui.cpp @@ -36,8 +36,6 @@ #include "sdl/utils.hpp" #include "sdl/rect.hpp" -#include - static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -564,7 +562,7 @@ void ui::process_network_data(const config& data, const network::connection /*so if (const config &ms = c.child("members")) { std::stringstream ss; ss << "Room " << c["room"].str() << " members: "; - BOOST_FOREACH(const config& m, ms.child_range("member")) { + for (const config& m : ms.child_range("member")) { ss << m["name"] << " "; } chat_.add_message(time(nullptr), "server", ss.str()); @@ -573,7 +571,7 @@ void ui::process_network_data(const config& data, const network::connection /*so if (const config &rs = c.child("rooms")) { std::stringstream ss; ss << "Rooms: "; - BOOST_FOREACH(const config& r, rs.child_range("room")) { + for (const config& r : rs.child_range("room")) { ss << r["name"].str() << "(" << r["size"].str() << ") "; } chat_.add_message(time(nullptr), "server", ss.str()); @@ -668,7 +666,7 @@ void ui::gamelist_updated(bool silent) { std::list u_list; - BOOST_FOREACH(const config &user, gamelist_.child_range("user")) + for (const config &user : gamelist_.child_range("user")) { user_info u_elem; u_elem.name = user["name"].str(); diff --git a/src/game_initialization/multiplayer_wait.cpp b/src/game_initialization/multiplayer_wait.cpp index 173f1cf6dc6a..7148e058c0e0 100644 --- a/src/game_initialization/multiplayer_wait.cpp +++ b/src/game_initialization/multiplayer_wait.cpp @@ -36,7 +36,6 @@ #include "video.hpp" #include -#include static lg::log_domain log_network("network"); #define DBG_NW LOG_STREAM(debug, log_network) @@ -271,7 +270,7 @@ void wait::join_game(bool observe) //available side. const config *side_choice = nullptr; int side_num = -1, nb_sides = 0; - BOOST_FOREACH(const config &sd, get_scenario().child_range("side")) + for (const config &sd : get_scenario().child_range("side")) { DBG_MP << "*** side " << nb_sides << "***\n" << sd.debug() << "***\n"; @@ -331,7 +330,7 @@ void wait::join_game(bool observe) const std::string color = (*side_choice)["color"].str(); std::vector era_factions; - BOOST_FOREACH(const config &side, possible_sides) { + for (const config &side : possible_sides) { era_factions.push_back(&side); } @@ -347,7 +346,7 @@ void wait::join_game(bool observe) saved_game); std::vector choices; - BOOST_FOREACH(const config *s, flg.choosable_factions()) + for (const config *s : flg.choosable_factions()) { const config &side = *s; const std::string &name = side["name"]; @@ -520,7 +519,7 @@ void wait::generate_menu() std::vector details; std::set playerlist; - BOOST_FOREACH(const config &sd, get_scenario().child_range("side")) + for (const config &sd : get_scenario().child_range("side")) { if (!sd["allow_player"].to_bool(true)) { continue; @@ -535,7 +534,7 @@ void wait::generate_menu() // Hack: if there is a unit which can recruit, use it as a // leader. Necessary to display leader information when loading // saves. - BOOST_FOREACH(const config &side_unit, sd.child_range("unit")) + for (const config &side_unit : sd.child_range("unit")) { if (side_unit["canrecruit"].to_bool()) { leader_type = side_unit["type"].str(); @@ -647,7 +646,7 @@ bool wait::download_level_data() } else if(config& controllers = revc.child("controllers")) { int index = 0; - BOOST_FOREACH(const config& controller, controllers.child_range("controller")) { + for (const config& controller : controllers.child_range("controller")) { if(config& side = get_scenario().child("side", index)) { side["is_local"] = controller["is_local"]; } diff --git a/src/game_initialization/playcampaign.cpp b/src/game_initialization/playcampaign.cpp index dc351a95eb51..6b8c2e39ab10 100644 --- a/src/game_initialization/playcampaign.cpp +++ b/src/game_initialization/playcampaign.cpp @@ -48,8 +48,6 @@ #include "wml_exception.hpp" #include "formula/string_utils.hpp" -#include - #define LOG_G LOG_STREAM(info, lg::general) static lg::log_domain log_engine("engine"); @@ -150,7 +148,7 @@ void campaign_controller::show_carryover_message(playsingle_controller& playcont //We need to write the carryover amount to the team thats why we need non const std::vector& teams = *resources::teams; int persistent_teams = 0; - BOOST_FOREACH(const team &t, teams) { + for (const team &t : teams) { if (t.persistent()){ ++persistent_teams; } @@ -162,7 +160,7 @@ void campaign_controller::show_carryover_message(playsingle_controller& playcont gamemap map = playcontroller.get_map_const(); tod_manager tod = playcontroller.get_tod_manager_const(); int turns_left = std::max(0, tod.number_of_turns() - tod.turn()); - BOOST_FOREACH(team &t, teams) + for (team &t : teams) { if (!t.persistent() || t.lost()) { diff --git a/src/game_launcher.cpp b/src/game_launcher.cpp index 4962666a17b0..29e619e91957 100644 --- a/src/game_launcher.cpp +++ b/src/game_launcher.cpp @@ -60,7 +60,6 @@ #include "wml_exception.hpp" // for twml_exception #include // for copy, max, min, stable_sort -#include // for auto_any_base, etc #include // for optional #include // for tuple #include // for system @@ -346,7 +345,7 @@ bool game_launcher::init_language() language_def locale; if(cmdline_opts_.language) { std::vector langs = get_languages(); - BOOST_FOREACH(const language_def & def, langs) { + for(const language_def & def : langs) { if(def.localename == *cmdline_opts_.language) { locale = def; break; @@ -742,7 +741,7 @@ void game_launcher::set_tutorial() void game_launcher::mark_completed_campaigns(std::vector &campaigns) { - BOOST_FOREACH(config &campaign, campaigns) { + for (config &campaign : campaigns) { campaign["completed"] = preferences::is_campaign_completed(campaign["id"]); } } diff --git a/src/game_preferences.cpp b/src/game_preferences.cpp index 996b69998796..4b92a65f0f4c 100644 --- a/src/game_preferences.cpp +++ b/src/game_preferences.cpp @@ -30,7 +30,6 @@ #include "units/map.hpp" #include "wml_exception.hpp" -#include #include #ifdef _WIN32 #include @@ -135,11 +134,11 @@ manager::manager() : [/campaign] [/completed_campaigns] */ - BOOST_FOREACH(const std::string &c, utils::split(preferences::get("completed_campaigns"))) { + for (const std::string &c : utils::split(preferences::get("completed_campaigns"))) { completed_campaigns[c]; // create the elements } if (const config &ccc = preferences::get_child("completed_campaigns")) { - BOOST_FOREACH(const config &cc, ccc.child_range("campaign")) { + for (const config &cc : ccc.child_range("campaign")) { std::set &d = completed_campaigns[cc["name"]]; std::vector nd = utils::split(cc["difficulty_levels"]); std::copy(nd.begin(), nd.end(), std::inserter(d, d.begin())); @@ -161,9 +160,9 @@ manager::manager() : message = foobar [/line] */ - BOOST_FOREACH(const config::any_child &h, history.all_children_range()) + for (const config::any_child &h : history.all_children_range()) { - BOOST_FOREACH(const config &l, h.cfg.child_range("line")) { + for (const config &l : h.cfg.child_range("line")) { history_map[h.key].push_back(l["message"]); } } @@ -176,7 +175,7 @@ manager::~manager() { config campaigns; typedef const std::pair > cc_elem; - BOOST_FOREACH(cc_elem &elem, completed_campaigns) { + for (cc_elem &elem : completed_campaigns) { config cmp; cmp["name"] = elem.first; cmp["difficulty_levels"] = utils::join(elem.second); @@ -197,10 +196,10 @@ manager::~manager() */ config history; typedef std::pair > hack; - BOOST_FOREACH(const hack& history_id, history_map) { + for (const hack& history_id : history_map) { config history_id_cfg; // [history_id] - BOOST_FOREACH(const std::string& line, history_id.second) { + for (const std::string& line : history_id.second) { config cfg; // [line] cfg["message"] = line; @@ -240,7 +239,7 @@ admin_authentication_reset::~admin_authentication_reset() static void load_acquaintances() { if(acquaintances.empty()) { - BOOST_FOREACH(const config &acfg, preferences::get_prefs()->child_range("acquaintance")) { + for (const config &acfg : preferences::get_prefs()->child_range("acquaintance")) { acquaintance ac = acquaintance(acfg); acquaintances[ac.get_nick()] = ac; } @@ -408,7 +407,7 @@ const std::vector& server_list() std::vector &game_servers = game_config::server_list; VALIDATE(!game_servers.empty(), _("No server has been defined.")); pref_servers.insert(pref_servers.begin(), game_servers.begin(), game_servers.end()); - BOOST_FOREACH(const config &server, get_prefs()->child_range("server")) { + for(const config &server : get_prefs()->child_range("server")) { game_config::server_info sinf; sinf.name = server["name"].str(); sinf.address = server["address"].str(); @@ -1150,8 +1149,8 @@ void encounter_start_units(const unit_map& units){ } static void encounter_recallable_units(const std::vector& teams){ - BOOST_FOREACH(const team& t, teams) { - BOOST_FOREACH(const unit_const_ptr & u, t.recall_list()) { + for (const team& t : teams) { + for (const unit_const_ptr & u : t.recall_list()) { encountered_units_set.insert(u->type_id()); } } diff --git a/src/game_state.cpp b/src/game_state.cpp index e7a0f2d5acaa..5bfbd37eba76 100644 --- a/src/game_state.cpp +++ b/src/game_state.cpp @@ -33,7 +33,6 @@ #include "gui/dialogs/loadscreen.hpp" #include -#include #include #include #include @@ -135,7 +134,7 @@ void game_state::place_sides_in_preferred_locations(const config& level) int num_pos = board_.map().num_valid_starting_positions(); int side_num = 1; - BOOST_FOREACH(const config &side, level.child_range("side")) + for(const config &side : level.child_range("side")) { for(int p = 1; p <= num_pos; ++p) { const map_location& pos = board_.map().starting_position(p); @@ -173,7 +172,7 @@ void game_state::init(const config& level, play_controller & pc) } LOG_NG << "initialized time of day regions... " << (SDL_GetTicks() - pc.ticks()) << std::endl; - BOOST_FOREACH(const config &t, level.child_range("time_area")) { + for (const config &t : level.child_range("time_area")) { tod_manager_.add_time_area(board_.map(),t); } @@ -184,7 +183,7 @@ void game_state::init(const config& level, play_controller & pc) std::vector team_builders; int team_num = 0; - BOOST_FOREACH(const config &side, level.child_range("side")) + for (const config &side : level.child_range("side")) { if (first_human_team_ == -1) { const std::string &controller = side["controller"]; @@ -204,7 +203,7 @@ void game_state::init(const config& level, play_controller & pc) tod_manager_.resolve_random(*random_new::generator); - BOOST_FOREACH(team_builder_ptr tb_ptr, team_builders) + for(team_builder_ptr tb_ptr : team_builders) { build_team_stage_two(tb_ptr); } diff --git a/src/generators/cave_map_generator.cpp b/src/generators/cave_map_generator.cpp index cb994599ffe2..fc1aa85d5523 100644 --- a/src/generators/cave_map_generator.cpp +++ b/src/generators/cave_map_generator.cpp @@ -26,7 +26,6 @@ #include "serialization/string_utils.hpp" #include "util.hpp" #include "seed_rng.hpp" -#include static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) @@ -140,7 +139,7 @@ void cave_map_generator::cave_map_generator_job::build_chamber(map_location loc, void cave_map_generator::cave_map_generator_job::generate_chambers() { - BOOST_FOREACH(const config &ch, params.cfg_.child_range("chamber")) + for (const config &ch : params.cfg_.child_range("chamber")) { // If there is only a chance of the chamber appearing, deal with that here. if (ch.has_attribute("chance") && int(rng_() % 100) < ch["chance"].to_int()) { @@ -187,7 +186,7 @@ void cave_map_generator::cave_map_generator_job::generate_chambers() chambers_.push_back(new_chamber); - BOOST_FOREACH(const config &p, ch.child_range("passage")) + for(const config &p : ch.child_range("passage")) { const std::string &dst = p["destination"]; @@ -212,7 +211,7 @@ void cave_map_generator::cave_map_generator_job::place_chamber(const chamber& c) if (c.items == nullptr || c.locs.empty()) return; size_t index = 0; - BOOST_FOREACH(const config::any_child &it, c.items->all_children_range()) + for (const config::any_child &it : c.items->all_children_range()) { config cfg = it.cfg; config &filter = cfg.child("filter"); diff --git a/src/generators/default_map_generator_job.cpp b/src/generators/default_map_generator_job.cpp index 9c00e8483b62..f1e3799ea29f 100644 --- a/src/generators/default_map_generator_job.cpp +++ b/src/generators/default_map_generator_job.cpp @@ -33,7 +33,6 @@ #include "formula/string_utils.hpp" #include -#include #include "seed_rng.hpp" static lg::log_domain log_mapgen("mapgen"); #define ERR_NG LOG_STREAM(err, log_mapgen) @@ -793,7 +792,7 @@ std::string default_map_generator_job::default_generate_map(size_t width, size_t std::vector height_conversion; - BOOST_FOREACH(const config &h, cfg.child_range("height")) { + for(const config &h : cfg.child_range("height")) { height_conversion.push_back(terrain_height_mapper(h)); } @@ -928,7 +927,7 @@ std::string default_map_generator_job::default_generate_map(size_t width, size_t LOG_NG << (SDL_GetTicks() - ticks) << "\n"; ticks = SDL_GetTicks(); std::vector converters; - BOOST_FOREACH(const config &cv, cfg.child_range("convert")) { + for(const config &cv : cfg.child_range("convert")) { converters.push_back(terrain_converter(cv)); } diff --git a/src/generators/lua_map_generator.cpp b/src/generators/lua_map_generator.cpp index aa66ab9d43dd..e1aae5f58dcd 100644 --- a/src/generators/lua_map_generator.cpp +++ b/src/generators/lua_map_generator.cpp @@ -20,8 +20,6 @@ #include -#include - lua_map_generator::lua_map_generator(const config & cfg) : id_(cfg["id"]) , config_name_(cfg["config_name"]) @@ -32,7 +30,7 @@ lua_map_generator::lua_map_generator(const config & cfg) , generator_data_(cfg) { const char* required[] = {"id", "config_name", "create_map"}; - BOOST_FOREACH(std::string req, required) { + for (std::string req : required) { if (!cfg.has_attribute(req)) { std::string msg = "Error when constructing a lua map generator -- missing a required attribute '"; msg += req + "'\n"; diff --git a/src/gettext_boost.cpp b/src/gettext_boost.cpp index eb87ae15bd9a..8d82b0088614 100644 --- a/src/gettext_boost.cpp +++ b/src/gettext_boost.cpp @@ -19,7 +19,6 @@ #include #include #include -#include // including boost/thread fixes linking of boost locale for msvc on boost 1.60 #include #include @@ -78,7 +77,7 @@ namespace , is_dirty_(true) { const bl::localization_backend_manager& g_mgr = bl::localization_backend_manager::global(); - BOOST_FOREACH(const std::string& name, g_mgr.get_all_backends()) + for(const std::string& name : g_mgr.get_all_backends()) { LOG_G << "Found boost locale backend: '" << name << "'\n"; } diff --git a/src/gui/dialogs/advanced_graphics_options.cpp b/src/gui/dialogs/advanced_graphics_options.cpp index 88315c3ce57d..6410642e0875 100644 --- a/src/gui/dialogs/advanced_graphics_options.cpp +++ b/src/gui/dialogs/advanced_graphics_options.cpp @@ -30,7 +30,6 @@ #include "formula/string_utils.hpp" #include -#include #include "gettext.hpp" @@ -81,7 +80,7 @@ tadvanced_graphics_options::tadvanced_graphics_options() void tadvanced_graphics_options::pre_show(twindow& window) { - BOOST_FOREACH(const std::string & i, scale_cases) { + for(const std::string & i : scale_cases) { setup_scale_case(i, window); } @@ -95,7 +94,7 @@ void tadvanced_graphics_options::pre_show(twindow& window) void tadvanced_graphics_options::post_show(twindow& /*window*/) { if(get_retval() == twindow::OK) { - BOOST_FOREACH(const std::string & i, scale_cases) { + for(const std::string & i : scale_cases) { update_scale_case(i); } image::update_from_preferences(); diff --git a/src/gui/dialogs/editor/set_starting_position.cpp b/src/gui/dialogs/editor/set_starting_position.cpp index b2060d1f385f..44af7965da06 100644 --- a/src/gui/dialogs/editor/set_starting_position.cpp +++ b/src/gui/dialogs/editor/set_starting_position.cpp @@ -16,7 +16,6 @@ #include "gui/dialogs/editor/set_starting_position.hpp" -#include #include "formatter.hpp" #include "formula/string_utils.hpp" #include "gettext.hpp" diff --git a/src/gui/dialogs/lobby/lobby.cpp b/src/gui/dialogs/lobby/lobby.cpp index 2ba3dbc6032a..3930ce192f5e 100644 --- a/src/gui/dialogs/lobby/lobby.cpp +++ b/src/gui/dialogs/lobby/lobby.cpp @@ -48,7 +48,6 @@ #include "mp_ui_alerts.hpp" #include -#include static lg::log_domain log_network("network"); #define DBG_NW LOG_STREAM(debug, log_network) diff --git a/src/gui/dialogs/multiplayer/mp_alerts_options.cpp b/src/gui/dialogs/multiplayer/mp_alerts_options.cpp index af5b97ebf142..5e2b063f61fa 100644 --- a/src/gui/dialogs/multiplayer/mp_alerts_options.cpp +++ b/src/gui/dialogs/multiplayer/mp_alerts_options.cpp @@ -30,7 +30,6 @@ #include "formula/string_utils.hpp" #include -#include #include "gettext.hpp" @@ -111,7 +110,7 @@ static void set_pref_and_button(const std::string & id, bool value, twindow & wi static void revert_to_default_pref_values(twindow & window) { - BOOST_FOREACH(const std::string & i, mp_ui_alerts::items) { + for (const std::string & i : mp_ui_alerts::items) { set_pref_and_button(i+"_sound", mp_ui_alerts::get_def_pref_sound(i), window); set_pref_and_button(i+"_notif", mp_ui_alerts::get_def_pref_notif(i), window); set_pref_and_button(i+"_lobby", mp_ui_alerts::get_def_pref_lobby(i), window); @@ -126,7 +125,7 @@ tmp_alerts_options::tmp_alerts_options() void tmp_alerts_options::pre_show(twindow& window) { - BOOST_FOREACH(const std::string & i, mp_ui_alerts::items) { + for (const std::string & i : mp_ui_alerts::items) { setup_item(i, window); } diff --git a/src/gui/widgets/grid_private.hpp b/src/gui/widgets/grid_private.hpp index 72fabbc9fb8e..0af2d553168c 100644 --- a/src/gui/widgets/grid_private.hpp +++ b/src/gui/widgets/grid_private.hpp @@ -34,8 +34,6 @@ #include "utils/const_clone.hpp" -#include - namespace gui2 { @@ -59,7 +57,7 @@ struct tgrid_implementation const bool must_be_active) { typedef typename utils::tconst_clone::type hack; - BOOST_FOREACH(hack & child, grid.children_) + for(hack & child : grid.children_) { W* widget = child.widget(); @@ -95,7 +93,7 @@ struct tgrid_implementation } typedef typename utils::tconst_clone::type hack; - BOOST_FOREACH(hack & child, grid.children_) + for(hack & child : grid.children_) { widget = child.widget(); diff --git a/src/gui/widgets/list.cpp b/src/gui/widgets/list.cpp index 8cdbdfbcd9bf..4f212ffd471e 100644 --- a/src/gui/widgets/list.cpp +++ b/src/gui/widgets/list.cpp @@ -27,7 +27,6 @@ #include "gui/widgets/window.hpp" #include -#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -121,7 +120,7 @@ tlist::add_row(const std::map& data, void tlist::append_rows(const std::vector& items) { - BOOST_FOREACH(const string_map & item, items) + for(const string_map & item : items) { add_row(item); } diff --git a/src/help/help_impl.cpp b/src/help/help_impl.cpp index 7fa458d1c112..d6088787c141 100644 --- a/src/help/help_impl.cpp +++ b/src/help/help_impl.cpp @@ -45,7 +45,6 @@ #include // for assert #include // for sort, find, transform, etc -#include // for auto_any_base, etc #include // for shared_ptr #include // for operator<<, basic_ostream, etc #include // for back_insert_iterator, etc @@ -105,7 +104,7 @@ bool section_is_referenced(const std::string §ion_id, const config &cfg) } } - BOOST_FOREACH(const config §ion, cfg.child_range("section")) + for (const config §ion : cfg.child_range("section")) { const std::vector sections_refd = utils::quoted_split(section["sections"]); @@ -129,7 +128,7 @@ bool topic_is_referenced(const std::string &topic_id, const config &cfg) } } - BOOST_FOREACH(const config §ion, cfg.child_range("section")) + for (const config §ion : cfg.child_range("section")) { const std::vector topics_refd = utils::quoted_split(section["topics"]); @@ -366,7 +365,7 @@ std::vector generate_time_of_day_topics(const bool /*sort_generated*/) return topics; } const std::vector& times = resources::tod_manager->times(); - BOOST_FOREACH(const time_of_day& time, times) + for (const time_of_day& time : times) { const std::string id = "time_of_day_" + time.id; const std::string image = "src='" + time.image + "'"; @@ -394,7 +393,7 @@ std::vector generate_weapon_special_topics(const bool sort_generated) std::map special_description; std::map > special_units; - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { const unit_type &type = i.second; // Only show the weapon special if we find it on a unit that @@ -456,7 +455,7 @@ std::vector generate_ability_topics(const bool sort_generated) // should have a full description, if so, add this units abilities // for display. We do not want to show abilities that the user has // not encountered yet. - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { const unit_type &type = i.second; if (description_type(type) == FULL_DESCRIPTION) { @@ -521,7 +520,7 @@ std::vector generate_era_topics(const bool sort_generated, const std::str topics = generate_faction_topics(era, sort_generated); std::vector faction_links; - BOOST_FOREACH(const topic & t, topics) { + for (const topic & t : topics) { faction_links.push_back(make_link(t.title, t.id)); } @@ -537,7 +536,7 @@ std::vector generate_era_topics(const bool sort_generated, const std::str text << "
text='" << _("Factions") << "'
" << "\n"; std::sort(faction_links.begin(), faction_links.end()); - BOOST_FOREACH(const std::string &link, faction_links) { + for (const std::string &link : faction_links) { text << "• " << link << "\n"; } @@ -551,7 +550,7 @@ std::vector generate_era_topics(const bool sort_generated, const std::str std::vector generate_faction_topics(const config & era, const bool sort_generated) { std::vector topics; - BOOST_FOREACH(const config &f, era.child_range("multiplayer_side")) { + for (const config &f : era.child_range("multiplayer_side")) { const std::string& id = f["id"]; if (id == "Random") continue; @@ -568,7 +567,7 @@ std::vector generate_faction_topics(const config & era, const bool sort_g std::set races; std::set alignments; - BOOST_FOREACH(const std::string & u_id, recruit_ids) { + for (const std::string & u_id : recruit_ids) { if (const unit_type * t = unit_types.find(u_id, unit_type::HELP_INDEXED)) { assert(t); const unit_type & type = *t; @@ -602,7 +601,7 @@ std::vector generate_faction_topics(const config & era, const bool sort_g text << "
text='" << _("Leaders") << "'
" << "\n"; const std::vector leaders = make_unit_links_list( utils::split(f["leader"]), true ); - BOOST_FOREACH(const std::string &link, leaders) { + for (const std::string &link : leaders) { text << "• " << link << "\n"; } @@ -611,7 +610,7 @@ std::vector generate_faction_topics(const config & era, const bool sort_g text << "
text='" << _("Recruits") << "'
" << "\n"; const std::vector recruit_links = make_unit_links_list( recruit_ids, true ); - BOOST_FOREACH(const std::string &link, recruit_links) { + for (const std::string &link : recruit_links) { text << "• " << link << "\n"; } @@ -653,7 +652,7 @@ std::string make_unit_link(const std::string& type_id) std::vector make_unit_links_list(const std::vector& type_id_list, bool ordered) { std::vector links_list; - BOOST_FOREACH(const std::string &type_id, type_id_list) { + for (const std::string &type_id : type_id_list) { std::string unit_link = make_unit_link(type_id); if (!unit_link.empty()) links_list.push_back(unit_link); @@ -670,7 +669,7 @@ void generate_races_sections(const config *help_cfg, section &sec, int level) std::set races; std::set visible_races; - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { const unit_type &type = i.second; UNIT_DESCRIPTION_TYPE desc_type = description_type(type); @@ -707,7 +706,7 @@ void generate_races_sections(const config *help_cfg, section &sec, int level) void generate_era_sections(const config* help_cfg, section & sec, int level) { - BOOST_FOREACH(const config & era, game_cfg->child_range("era")) { + for (const config & era : game_cfg->child_range("era")) { if (era["hide_help"].to_bool()) { continue; } @@ -741,7 +740,7 @@ void generate_terrain_sections(const config* /*help_cfg*/, section& sec, int /*l const t_translation::t_list& t_listi = tdata->list(); - BOOST_FOREACH(const t_translation::t_terrain& t, t_listi) { + for (const t_translation::t_terrain& t : t_listi) { const terrain_type& info = tdata->get_terrain_info(t); @@ -757,7 +756,7 @@ void generate_terrain_sections(const config* /*help_cfg*/, section& sec, int /*l terrain_topic.text = new terrain_topic_generator(info); t_translation::t_list base_terrains = tdata->underlying_union_terrain(t); - BOOST_FOREACH(const t_translation::t_terrain& base, base_terrains) { + for (const t_translation::t_terrain& base : base_terrains) { const terrain_type& base_info = tdata->get_terrain_info(base); @@ -782,7 +781,7 @@ void generate_terrain_sections(const config* /*help_cfg*/, section& sec, int /*l void generate_unit_sections(const config* /*help_cfg*/, section& sec, int level, const bool /*sort_generated*/, const std::string& race) { - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { const unit_type &type = i.second; if (type.race_id() != race) @@ -792,7 +791,7 @@ void generate_unit_sections(const config* /*help_cfg*/, section& sec, int level, continue; section base_unit; - BOOST_FOREACH(const std::string &variation_id, type.variations()) { + for (const std::string &variation_id : type.variations()) { // TODO: Do we apply encountered stuff to variations? const unit_type &var_type = type.get_variation(variation_id); const std::string topic_name = var_type.type_name() + "\n" + var_type.variation_name(); @@ -821,7 +820,7 @@ std::vector generate_unit_topics(const bool sort_generated, const std::st std::set race_topics; std::set alignments; - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { const unit_type &type = i.second; @@ -857,7 +856,7 @@ std::vector generate_unit_topics(const bool sort_generated, const std::st race_name = r->plural_name(); race_description = r->description(); // if (description.empty()) description = _("No description Available"); - BOOST_FOREACH(const config &additional_topic, r->additional_topics()) + for (const config &additional_topic : r->additional_topics()) { std::string id = additional_topic["id"]; std::string title = additional_topic["title"]; @@ -1300,7 +1299,7 @@ void generate_contents() // opening the help browser in the default manner. config hidden_toplevel; std::stringstream ss; - BOOST_FOREACH(const config §ion, help_config->child_range("section")) + for (const config §ion : help_config->child_range("section")) { const std::string id = section["id"]; if (find_section(toplevel, id) == nullptr) { @@ -1317,7 +1316,7 @@ void generate_contents() } hidden_toplevel["sections"] = ss.str(); ss.str(""); - BOOST_FOREACH(const config &topic, help_config->child_range("topic")) + for (const config &topic : help_config->child_range("topic")) { const std::string id = topic["id"]; if (find_topic(toplevel, id) == nullptr) { diff --git a/src/help/help_topic_generators.cpp b/src/help/help_topic_generators.cpp index 4541252d9fbd..db4b8b343fca 100644 --- a/src/help/help_topic_generators.cpp +++ b/src/help/help_topic_generators.cpp @@ -29,7 +29,6 @@ #include "units/types.hpp" // for unit_type, unit_type_data, etc #include "video.hpp" // fore current_resolution -#include // for auto_any_base, etc #include // for optional #include // for shared_ptr #include // for operator<<, basic_ostream, etc @@ -106,7 +105,7 @@ static std::string print_behavior_description(t_it start, t_it end, const tdata_ if (!first_level) ss << "( "; ss << print_behavior_description(start, *last_change_pos-1, tdata, false, begin_best); // Printed the (parenthesized) leading part from before the change, now print the remaining names in this group. - BOOST_FOREACH(const std::string & s, names) { + for (const std::string & s : names) { ss << ", " << s; } if (!first_level) ss << " )"; @@ -143,7 +142,7 @@ std::string terrain_topic_generator::operator()() const { ss << "\n" << _("Base Terrain: "); bool first = true; - BOOST_FOREACH(const t_translation::t_terrain& underlying_terrain, underlying_mvt_terrains) { + for (const t_translation::t_terrain& underlying_terrain : underlying_mvt_terrains) { const terrain_type& mvt_base = tdata->get_terrain_info(underlying_terrain); if (mvt_base.editor_name().empty()) continue; @@ -200,13 +199,13 @@ std::string terrain_topic_generator::operator()() const { const t_translation::t_list& underlying_mvt_terrains = tdata->underlying_mvt_terrain(type_.number()); ss << "\nDebug Mvt Description String:"; - BOOST_FOREACH(const t_translation::t_terrain & t, underlying_mvt_terrains) { + for (const t_translation::t_terrain & t : underlying_mvt_terrains) { ss << " " << t; } const t_translation::t_list& underlying_def_terrains = tdata->underlying_def_terrain(type_.number()); ss << "\nDebug Def Description String:"; - BOOST_FOREACH(const t_translation::t_terrain & t, underlying_def_terrains) { + for (const t_translation::t_terrain & t : underlying_def_terrains) { ss << " " << t; } @@ -294,7 +293,7 @@ std::string unit_topic_generator::operator()() const { reverse ? type_.advances_from() : type_.advances_to(); bool first = true; - BOOST_FOREACH(const std::string &adv, adv_units) { + for (const std::string &adv : adv_units) { const unit_type *type = unit_types.find(adv, unit_type::HELP_INDEXED); if (!type || type->hide_help()) { continue; @@ -336,7 +335,7 @@ std::string unit_topic_generator::operator()() const { ss << _("Base unit: ") << make_link(parent->type_name(), ".." + unit_prefix + type_.id()) << "\n"; } else { bool first = true; - BOOST_FOREACH(const std::string& base_id, utils::split(type_.get_cfg()["base_ids"])) { + for (const std::string& base_id : utils::split(type_.get_cfg()["base_ids"])) { if (first) { ss << _("Base units: "); first = false; @@ -348,7 +347,7 @@ std::string unit_topic_generator::operator()() const { } bool first = true; - BOOST_FOREACH(const std::string &var_id, parent->variations()) { + for (const std::string &var_id : parent->variations()) { const unit_type &type = parent->get_variation(var_id); if(type.hide_help()) { @@ -393,7 +392,7 @@ std::string unit_topic_generator::operator()() const { std::vector must_have_traits; std::vector random_traits; - BOOST_FOREACH(const config & trait, traits) { + for (const config & trait : traits) { const std::string trait_name = trait["male_name"]; std::string lang_trait_name = translation::gettext(trait_name.c_str()); const std::string ref_id = "traits_"+trait["id"].str(); @@ -555,9 +554,9 @@ std::string unit_topic_generator::operator()() const { movetype movement_type = type_.movement_type(); traits = type_.possible_traits(); if (traits.first != traits.second && type_.num_traits() > 0) { - BOOST_FOREACH(const config & t, traits) { + for (const config & t : traits) { if (t["availability"].str() == "musthave") { - BOOST_FOREACH (const config & effect, t.child_range("effect")) { + for (const config & effect : t.child_range("effect")) { if (!effect.child("filter") // If this is musthave but has a unit filter, it might not always apply, so don't apply it in the help. && movetype::effects.find(effect["apply_to"].str()) != movetype::effects.end()) { movement_type.merge(effect, effect["replace"].to_bool()); diff --git a/src/hotkey/command_executor.cpp b/src/hotkey/command_executor.cpp index d4bb8d8f2a6b..26a2dbf2ac27 100644 --- a/src/hotkey/command_executor.cpp +++ b/src/hotkey/command_executor.cpp @@ -15,8 +15,6 @@ #include "command_executor.hpp" #include "hotkey_item.hpp" -#include - #include "gui/dialogs/lua_interpreter.hpp" #include "gui/dialogs/message.hpp" #include "gui/dialogs/screenshot_notification.hpp" @@ -597,12 +595,12 @@ void execute_command(const hotkey_command& command, command_executor* executor, void command_executor_default::set_button_state() { display& disp = get_display(); - BOOST_FOREACH(const theme::menu& menu, disp.get_theme().menus()) { + for (const theme::menu& menu : disp.get_theme().menus()) { gui::button* button = disp.find_menu_button(menu.get_id()); if (!button) continue; bool enabled = false; - BOOST_FOREACH(const std::string& command, menu.items()) { + for (const std::string& command : menu.items()) { const hotkey::hotkey_command& command_obj = hotkey::get_hotkey_command(command); bool can_execute = can_execute_command(command_obj); @@ -614,13 +612,13 @@ void command_executor_default::set_button_state() button->enable(enabled); } - BOOST_FOREACH(const theme::action& action, disp.get_theme().actions()) { + for (const theme::action& action : disp.get_theme().actions()) { gui::button* button = disp.find_action_button(action.get_id()); if (!button) continue; bool enabled = false; int i = 0; - BOOST_FOREACH(const std::string& command, action.items()) { + for (const std::string& command : action.items()) { const hotkey::hotkey_command& command_obj = hotkey::get_hotkey_command(command); std::string tooltip = action.tooltip(i); diff --git a/src/hotkey/hotkey_command.cpp b/src/hotkey/hotkey_command.cpp index 4a2b9b66c115..6d1a4f23b93b 100644 --- a/src/hotkey/hotkey_command.cpp +++ b/src/hotkey/hotkey_command.cpp @@ -19,8 +19,6 @@ #include "hotkey_item.hpp" #include "config.hpp" #include "preferences.hpp" - -#include #include "log.hpp" static lg::log_domain log_config("config"); @@ -442,7 +440,7 @@ bool hotkey_command::null() const const hotkey_command& hotkey_command::get_command_by_command(hotkey::HOTKEY_COMMAND command) { - BOOST_FOREACH(hotkey_command& cmd, known_hotkeys) + for(hotkey_command& cmd : known_hotkeys) { if(cmd.id == command) return cmd; @@ -488,7 +486,7 @@ void init_hotkey_commands() { known_hotkeys = known_hotkeys_temp; size_t i = 0; - BOOST_FOREACH(hotkey_command_temp& cmd, hotkey_list_) + for(hotkey_command_temp& cmd : hotkey_list_) { known_hotkeys.push_back( new hotkey_command(cmd.id, cmd.command, t_string(cmd.description, "wesnoth-lib"), cmd.hidden, cmd.scope, t_string(cmd.tooltip, "wesnoth-lib"))); command_map_[cmd.command] = i; diff --git a/src/hotkey/hotkey_item.cpp b/src/hotkey/hotkey_item.cpp index 77312f1ca826..c915f137fe79 100644 --- a/src/hotkey/hotkey_item.cpp +++ b/src/hotkey/hotkey_item.cpp @@ -24,7 +24,6 @@ #include "serialization/unicode.hpp" #include "sdl/utils.hpp" -#include #include #include #include @@ -325,7 +324,7 @@ void hotkey_keyboard::save_helper(config &item) const bool has_hotkey_item(const std::string& command) { - BOOST_FOREACH(hotkey_ptr item, hotkeys_) { + for (hotkey_ptr item : hotkeys_) { if (item->get_command() == command) { return true; } @@ -375,7 +374,7 @@ void add_hotkey(const hotkey_ptr item) void clear_hotkeys(const std::string& command) { - BOOST_FOREACH(hotkey::hotkey_ptr item, hotkeys_) { + for (hotkey::hotkey_ptr item : hotkeys_) { if (item->get_command() == command) { if (item->is_default()) @@ -393,7 +392,7 @@ void clear_hotkeys() const hotkey_ptr get_hotkey(const SDL_Event &event) { - BOOST_FOREACH(hotkey_ptr item, hotkeys_) { + for (hotkey_ptr item : hotkeys_) { if (item->matches(event)) { return item; } @@ -403,7 +402,7 @@ const hotkey_ptr get_hotkey(const SDL_Event &event) void load_hotkeys(const config& cfg, bool set_as_default) { - BOOST_FOREACH(const config &hk, cfg.child_range("hotkey")) { + for (const config &hk : cfg.child_range("hotkey")) { hotkey_ptr item = load_from_config(hk); if (!set_as_default) { @@ -440,7 +439,7 @@ void save_hotkeys(config& cfg) { cfg.clear_children("hotkey"); - BOOST_FOREACH(hotkey_ptr item, hotkeys_) { + for (hotkey_ptr item : hotkeys_) { if ((!item->is_default() && item->active()) || (item->is_default() && item->is_disabled())) { item->save(cfg.add_child("hotkey")); @@ -452,7 +451,7 @@ std::string get_names(std::string id) { // Names are used in places like the hot-key preferences menu std::vector names; - BOOST_FOREACH(const hotkey::hotkey_ptr item, hotkeys_) { + for (const hotkey::hotkey_ptr item : hotkeys_) { if (item->get_command() == id && !item->null() && !item->is_disabled()) { names.push_back(item->get_name()); } diff --git a/src/image.cpp b/src/image.cpp index 975672bdd507..73350eb916fe 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -44,7 +44,6 @@ #include #include -#include #include #include @@ -407,7 +406,7 @@ static bool localized_file_uptodate (const std::string& loc_file) std::string trackpath = filesystem::get_binary_file_location("", "l10n-track"); std::string contents = filesystem::read_file(trackpath); std::vector lines = utils::split(contents, '\n'); - BOOST_FOREACH(const std::string &line, lines) { + for (const std::string &line : lines) { size_t p1 = line.find(fsep); if (p1 == std::string::npos) continue; @@ -454,7 +453,7 @@ static std::string get_localized_path (const std::string& file, const std::strin // add en_US with lowest priority, since the message above will // not have it when translated. langs.push_back("en_US"); - BOOST_FOREACH(const std::string &lang, langs) { + for (const std::string &lang : langs) { std::string loc_file = dir + "/" + "l10n" + "/" + lang + "/" + loc_base; if (filesystem::file_exists(loc_file) && localized_file_uptodate(loc_file)) { return loc_file; diff --git a/src/image_modifications.cpp b/src/image_modifications.cpp index f68aa25dfbbb..300123027d9c 100644 --- a/src/image_modifications.cpp +++ b/src/image_modifications.cpp @@ -22,8 +22,6 @@ #include "sdl/alpha.hpp" #include "serialization/string_utils.hpp" -#include - #include #define GETTEXT_DOMAIN "wesnoth-lib" @@ -60,7 +58,7 @@ void modification_queue::pop() size_t modification_queue::size() const { size_t count = 0; - BOOST_FOREACH ( const map_type::value_type & pair, priorities_ ) + for (const map_type::value_type & pair : priorities_) count += pair.second.size(); return count; } @@ -138,8 +136,7 @@ modification_queue modification::decode(const std::string& encoded_mods) { modification_queue mods; - BOOST_FOREACH(const std::string& encoded_mod, - utils::parenthetical_split(encoded_mods, '~')) { + for(const std::string& encoded_mod : utils::parenthetical_split(encoded_mods, '~')) { modification* mod = decode_modification(encoded_mod); if(mod) { diff --git a/src/language.cpp b/src/language.cpp index 61bbbd0a86cd..1c7faf0cbbe0 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #ifdef _WIN32 #include @@ -106,7 +105,7 @@ bool load_language_list() known_languages.push_back( language_def("", t_string(N_("System default language"), "wesnoth"), "ltr", "", "A")); - BOOST_FOREACH(const config &lang, cfg.child_range("locale")) + for (const config &lang : cfg.child_range("locale")) { known_languages.push_back( language_def(lang["locale"], lang["name"], lang["dir"], @@ -236,9 +235,9 @@ bool load_strings(bool complain) std::cerr << "No [language] block found\n"; return false; } - BOOST_FOREACH(const config &lang, languages_) { + for (const config &lang : languages_) { DBG_G << "[language]\n"; - BOOST_FOREACH(const config::attribute &j, lang.attribute_range()) { + for (const config::attribute &j : lang.attribute_range()) { DBG_G << j.first << "=\"" << j.second << "\"\n"; strings_[j.first] = j.second; } @@ -293,7 +292,7 @@ const language_def& get_locale() void init_textdomains(const config& cfg) { - BOOST_FOREACH(const config &t, cfg.child_range("textdomain")) + for (const config &t : cfg.child_range("textdomain")) { const std::string &name = t["name"]; const std::string &path = t["path"]; @@ -317,7 +316,7 @@ void init_textdomains(const config& cfg) bool init_strings(const config& cfg) { languages_.clear(); - BOOST_FOREACH(const config &l, cfg.child_range("language")) { + for (const config &l : cfg.child_range("language")) { languages_.push_back(l); } return load_strings(true); diff --git a/src/leader_scroll_dialog.cpp b/src/leader_scroll_dialog.cpp index 7d3505f34ea0..8c05a7d93e83 100644 --- a/src/leader_scroll_dialog.cpp +++ b/src/leader_scroll_dialog.cpp @@ -28,9 +28,6 @@ #include "resources.hpp" #include "units/unit.hpp" -// -//#include - /** * @namespace about * Display credits %about all contributors. diff --git a/src/log.cpp b/src/log.cpp index b426915d03a0..da0453ed5064 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -26,7 +26,6 @@ #include "log.hpp" -#include #include #include @@ -121,11 +120,11 @@ bool set_log_domain_severity(std::string const &name, int severity) { std::string::size_type s = name.size(); if (name == "all") { - BOOST_FOREACH(logd &l, *domains) { + for(logd &l : *domains) { l.second = severity; } } else if (s > 2 && name.compare(s - 2, 2, "/*") == 0) { - BOOST_FOREACH(logd &l, *domains) { + for(logd &l : *domains) { if (l.first.compare(0, s - 1, name, 0, s - 1) == 0) l.second = severity; } @@ -144,7 +143,7 @@ bool set_log_domain_severity(std::string const &name, const logger &lg) { std::string list_logdomains(const std::string& filter) { std::ostringstream res; - BOOST_FOREACH(logd &l, *domains) { + for(logd &l : *domains) { if(l.first.find(filter) != std::string::npos) res << l.first << "\n"; } diff --git a/src/log_windows.cpp b/src/log_windows.cpp index 8f5d75937b6f..f603d095b6d2 100644 --- a/src/log_windows.cpp +++ b/src/log_windows.cpp @@ -26,7 +26,6 @@ #include #include -#include #include #include diff --git a/src/map/label.cpp b/src/map/label.cpp index 4225ba7284eb..520d25a7c0ff 100644 --- a/src/map/label.cpp +++ b/src/map/label.cpp @@ -23,8 +23,6 @@ #include "tooltips.hpp" #include "formula/string_utils.hpp" -#include - //Our definition of map labels being obscured is if the tile is obscured, //or the tile below is obscured. This is because in the case where the tile //itself is visible, but the tile below is obscured, the bottom half of the @@ -87,7 +85,7 @@ void map_labels::read(const config &cfg) { clear_all(); - BOOST_FOREACH(const config &i, cfg.child_range("label")) + for (const config &i : cfg.child_range("label")) { const map_location loc(i, resources::gamedata); terrain_label *label = new terrain_label(*this, i); @@ -247,7 +245,7 @@ void map_labels::clear_map(label_map &m, bool force) void map_labels::clear_all() { - BOOST_FOREACH(team_label_map::value_type &m, labels_) + for (team_label_map::value_type &m : labels_) { clear_map(m.second, true); } @@ -256,9 +254,9 @@ void map_labels::clear_all() void map_labels::recalculate_labels() { - BOOST_FOREACH(team_label_map::value_type &m, labels_) + for (team_label_map::value_type &m : labels_) { - BOOST_FOREACH(label_map::value_type &l, m.second) + for (label_map::value_type &l : m.second) { l.second->recalculate(); } @@ -286,9 +284,9 @@ bool map_labels::visible_global_label(const map_location& loc) const void map_labels::recalculate_shroud() { - BOOST_FOREACH(team_label_map::value_type &m, labels_) + for (team_label_map::value_type &m : labels_) { - BOOST_FOREACH(label_map::value_type &l, m.second) + for (label_map::value_type &l : m.second) { l.second->calculate_shroud(); } @@ -304,8 +302,8 @@ const std::vector& map_labels::all_categories() const { categories.push_back("side:" + std::to_string(i)); } std::set unique_cats; - BOOST_FOREACH(const team_label_map::value_type& m, labels_) { - BOOST_FOREACH(const label_map::value_type& l, m.second) { + for (const team_label_map::value_type& m : labels_) { + for (const label_map::value_type& l : m.second) { if(l.second->category().empty()) continue; unique_cats.insert("cat:" + l.second->category()); } diff --git a/src/map/map.cpp b/src/map/map.cpp index 8ea4fc8967e6..0508e0ebce9a 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -36,7 +36,6 @@ #include #include -#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -349,7 +348,7 @@ void gamemap::overlay(const gamemap& m, const config& rules_cfg, int xpos, int y // See if there is a matching rule const overlay_rule* rule = nullptr; - BOOST_FOREACH(const overlay_rule& current_rule, rules) + for(const overlay_rule& current_rule : rules) { if(!current_rule.old_.empty() && !t_translation::terrain_matches(current, current_rule.old_)) { continue; diff --git a/src/menu_events.cpp b/src/menu_events.cpp index dde1a593efe2..4c6cc021e550 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -81,7 +81,6 @@ #include "whiteboard/manager.hpp" #include "widgets/combo.hpp" -#include #include static lg::log_domain log_engine("engine"); @@ -622,7 +621,7 @@ void menu_handler::recall(int side_num, const map_location &last_hex) DBG_WB <<"menu_handler::recall: Contents of wb-modified recall list:\n"; - BOOST_FOREACH(const unit_const_ptr & unit, *recall_list_team) + for(const unit_const_ptr & unit : *recall_list_team) { DBG_WB << unit->name() << " [" << unit->id() <<"]\n"; } @@ -1418,7 +1417,7 @@ class map_command_handler std::vector get_commands_list() const { std::vector res; - BOOST_FOREACH(typename command_map::value_type i, command_map_) { + for(typename command_map::value_type i : command_map_) { res.push_back(i.first); } return res; @@ -1509,7 +1508,7 @@ class map_command_handler } std::stringstream ss; bool show_unavail = show_unavailable_ || get_arg(1) == "all"; - BOOST_FOREACH(typename command_map::value_type i, command_map_) { + for(typename command_map::value_type i : command_map_) { if (show_unavail || is_enabled(i.second)) { ss << i.first; //if (!i.second.usage.empty()) { @@ -1594,7 +1593,7 @@ class map_command_handler { std::vector aliases; typedef command_alias_map::value_type p; - BOOST_FOREACH(p i, command_alias_map_) { + for(p i : command_alias_map_) { if (i.second == cmd) { aliases.push_back(i.first); } @@ -2008,7 +2007,7 @@ class console_handler : public map_command_handler, private cha if (const config &alias_list = preferences::get_alias()) { - BOOST_FOREACH(const config::attribute &a, alias_list.attribute_range()) { + for(const config::attribute &a : alias_list.attribute_range()) { register_alias(a.second, a.first); } } @@ -2696,7 +2695,7 @@ void console_handler::do_layers() { tile->rebuild_cache(tod_id, &tile_logs); int order = 1; - BOOST_FOREACH(const terrain_builder::tile::log_details det, tile_logs) { + for(const terrain_builder::tile::log_details det : tile_logs) { const terrain_builder::tile::rule_image_rand& ri = *det.first; const terrain_builder::rule_image_variant& variant = *det.second; @@ -2800,7 +2799,7 @@ void console_handler::do_next_level() void console_handler::do_choose_level() { std::vector options; int next = 0, nb = 0; - BOOST_FOREACH(const config &sc, menu_handler_.game_config_.child_range("scenario")) + for(const config &sc : menu_handler_.game_config_.child_range("scenario")) { const std::string &id = sc["id"]; options.push_back(id); @@ -2811,7 +2810,7 @@ void console_handler::do_choose_level() { // find scenarios of multiplayer campaigns // (assumes that scenarios are ordered properly in the game_config) std::string scenario = menu_handler_.pc_.get_mp_settings().mp_scenario; - BOOST_FOREACH(const config &mp, menu_handler_.game_config_.child_range("multiplayer")) + for(const config &mp : menu_handler_.game_config_.child_range("multiplayer")) { if (mp["id"] == scenario) { @@ -2980,7 +2979,7 @@ void console_handler::do_unit() { } void console_handler::do_discover() { - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { + for(const unit_type_data::unit_type_map::value_type &i : unit_types.types()) { preferences::encountered_units().insert(i.second.id()); } } diff --git a/src/minimap.cpp b/src/minimap.cpp index 9289753fc41c..ea387c298d0c 100644 --- a/src/minimap.cpp +++ b/src/minimap.cpp @@ -31,8 +31,6 @@ #include "game_display.hpp" -#include - #include "preferences.hpp" static lg::log_domain log_display("display"); @@ -193,7 +191,7 @@ surface getMinimap(int w, int h, const gamemap &map, const team *vw, const std:: bool first = true; const t_translation::t_list& underlying_terrains = tdata.underlying_union_terrain(terrain); - BOOST_FOREACH(const t_translation::t_terrain& underlying_terrain, underlying_terrains) { + for(const t_translation::t_terrain& underlying_terrain : underlying_terrains) { const std::string& terrain_id = tdata.get_terrain_info(underlying_terrain).id(); std::map::const_iterator it = game_config::team_rgb_range.find(terrain_id); @@ -355,7 +353,7 @@ SDL_Rect draw_minimap(CVideo &video, const SDL_Rect &area, const gamemap &map, c bool first = true; const t_translation::t_list& underlying_terrains = tdata.underlying_union_terrain(terrain); - BOOST_FOREACH(const t_translation::t_terrain& underlying_terrain, underlying_terrains) { + for(const t_translation::t_terrain& underlying_terrain : underlying_terrains) { const std::string& terrain_id = tdata.get_terrain_info(underlying_terrain).id(); std::map::const_iterator it = game_config::team_rgb_range.find(terrain_id); diff --git a/src/mouse_events.cpp b/src/mouse_events.cpp index 675d65e48f90..b81fe4d4c0c1 100644 --- a/src/mouse_events.cpp +++ b/src/mouse_events.cpp @@ -54,7 +54,6 @@ #include "whiteboard/typedefs.hpp" // for whiteboard_lock #include "wml_separators.hpp" // for COLUMN_SEPARATOR, etc -#include // for auto_any_base, etc #include // for intrusive_ptr #include // for shared_ptr #include // for assert @@ -1068,7 +1067,7 @@ std::set mouse_handler::get_adj_enemies(const map_location& loc, i map_location adj[6]; get_adjacent_tiles(loc, adj); - BOOST_FOREACH(const map_location &aloc, adj) { + for(const map_location &aloc : adj) { unit_map::const_iterator i = find_unit(aloc); if (i && uteam.is_enemy(i->side())) res.insert(aloc); @@ -1095,7 +1094,7 @@ void mouse_handler::show_attack_options(const unit_map::const_iterator &u) // Check each adjacent hex. map_location adj[6]; get_adjacent_tiles(u->get_location(), adj); - BOOST_FOREACH(const map_location &loc, adj) + for(const map_location &loc : adj) { // No attack option shown if no visible unit present. // (Visible to current team, not necessarily the unit's team.) diff --git a/src/movetype.cpp b/src/movetype.cpp index 5ea31a580e29..89e7c381c8a1 100644 --- a/src/movetype.cpp +++ b/src/movetype.cpp @@ -28,7 +28,6 @@ #include "units/types.hpp" // for attack_type #include -#include #include @@ -171,12 +170,12 @@ bool movetype::terrain_info::data::config_has_changes(const config & new_values, bool overwrite) const { if ( overwrite ) { - BOOST_FOREACH( const config::attribute & a, new_values.attribute_range() ) + for (const config::attribute & a : new_values.attribute_range()) if ( a.second != cfg_[a.first] ) return true; } else { - BOOST_FOREACH( const config::attribute & a, new_values.attribute_range() ) + for (const config::attribute & a : new_values.attribute_range()) if ( a.second.to_int() != 0 ) return true; } @@ -202,7 +201,7 @@ void movetype::terrain_info::data::merge(const config & new_values, bool overwri // change "merge_attributes" to "merge_with".) cfg_.merge_attributes(new_values); else { - BOOST_FOREACH( const config::attribute & a, new_values.attribute_range() ) { + for (const config::attribute & a : new_values.attribute_range()) { config::attribute_value & dest = cfg_[a.first]; int old = dest.to_int(params_.max_value); @@ -632,8 +631,9 @@ utils::string_map movetype::resistances::damage_table() const { utils::string_map result; - BOOST_FOREACH( const config::attribute & attrb, cfg_.attribute_range() ) + for (const config::attribute & attrb : cfg_.attribute_range()) { result[attrb.first] = attrb.second; + } return result; } @@ -669,7 +669,7 @@ void movetype::resistances::merge(const config & new_data, bool overwrite) // change "merge_attributes" to "merge_with".) cfg_.merge_attributes(new_data); else - BOOST_FOREACH( const config::attribute & a, new_data.attribute_range() ) { + for (const config::attribute & a : new_data.attribute_range()) { config::attribute_value & dest = cfg_[a.first]; dest = std::max(0, dest.to_int(100) + a.second.to_int(0)); } @@ -740,9 +740,10 @@ movetype::movetype(const movetype & that) : * Checks if we have a defense cap (nontrivial min value) for any of the given terrain types. */ bool movetype::has_terrain_defense_caps(const std::set & ts) const { - BOOST_FOREACH(const t_translation::t_terrain & t, ts) + for (const t_translation::t_terrain & t : ts) { if (defense_.capped(t)) return true; + } return false; } @@ -752,20 +753,25 @@ bool movetype::has_terrain_defense_caps(const std::set */ void movetype::merge(const config & new_cfg, bool overwrite) { - BOOST_FOREACH( const config & child, new_cfg.child_range("movement_costs") ) + for (const config & child : new_cfg.child_range("movement_costs")) { movement_.merge(child, overwrite); + } - BOOST_FOREACH( const config & child, new_cfg.child_range("vision_costs") ) + for (const config & child : new_cfg.child_range("vision_costs")) { vision_.merge(child, overwrite); + } - BOOST_FOREACH( const config & child, new_cfg.child_range("jamming_costs") ) + for (const config & child : new_cfg.child_range("jamming_costs")) { jamming_.merge(child, overwrite); + } - BOOST_FOREACH( const config & child, new_cfg.child_range("defense") ) + for (const config & child : new_cfg.child_range("defense")) { defense_.merge(child, overwrite); + } - BOOST_FOREACH( const config & child, new_cfg.child_range("resistance") ) + for (const config & child : new_cfg.child_range("resistance")) { resist_.merge(child, overwrite); + } // "flies" is used when WML defines a movetype. // "flying" is used when WML defines a unit. diff --git a/src/mp_game_settings.cpp b/src/mp_game_settings.cpp index 13b18b134af9..63932a45d7ec 100644 --- a/src/mp_game_settings.cpp +++ b/src/mp_game_settings.cpp @@ -22,8 +22,6 @@ #include "mp_game_settings.hpp" #include "formula/string_utils.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define WRN_NG LOG_STREAM(warn, log_engine) @@ -95,7 +93,7 @@ mp_game_settings::mp_game_settings(const config& cfg) , options(cfg.child_or_empty("options")) , addons() { - BOOST_FOREACH(const config & a, cfg.child_range("addon")) { + for (const config & a : cfg.child_range("addon")) { if (!a["id"].empty()) { addons.insert(std::make_pair(a["id"].str(), addon_version_info(a))); } @@ -135,7 +133,7 @@ config mp_game_settings::to_config() const cfg.add_child("options", options); typedef std::map::value_type ttt; - BOOST_FOREACH(const ttt & p, addons) { + for (const ttt & p : addons) { config & c = cfg.add_child("addon"); p.second.write(c); c["id"] = p.first; diff --git a/src/pathfind/pathfind.cpp b/src/pathfind/pathfind.cpp index 378e2fd4c700..166dd3a9cbce 100644 --- a/src/pathfind/pathfind.cpp +++ b/src/pathfind/pathfind.cpp @@ -34,8 +34,6 @@ #include "units/map.hpp" #include "wml_exception.hpp" -#include - #include #include #include @@ -78,7 +76,7 @@ map_location find_vacant_tile(const map_location& loc, VACANT_TILE_TYPE vacancy, std::set tiles_checking; tiles_checking.swap(pending_tiles_to_check); //Iterate over all the hexes we need to check - BOOST_FOREACH(const map_location &loc, tiles_checking) + for (const map_location &loc : tiles_checking) { // Skip shrouded locations. if ( do_shroud && shroud_check->shrouded(loc) ) @@ -98,7 +96,7 @@ map_location find_vacant_tile(const map_location& loc, VACANT_TILE_TYPE vacancy, if (units.find(loc) == units.end() && !pass_check_and_unreachable) return loc; map_location adjs[6]; get_adjacent_tiles(loc,adjs); - BOOST_FOREACH(const map_location &loc, adjs) + for (const map_location &loc : adjs) { if (!map.on_board(loc)) continue; // Add the tile to be checked if it hasn't already been and diff --git a/src/pathfind/teleport.cpp b/src/pathfind/teleport.cpp index e788e5a7d7ed..4b893f427e8d 100644 --- a/src/pathfind/teleport.cpp +++ b/src/pathfind/teleport.cpp @@ -25,8 +25,6 @@ #include "units/filter.hpp" #include "units/map.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_PF LOG_STREAM(err, log_engine) @@ -167,18 +165,20 @@ teleport_map::teleport_map( , targets_() { - BOOST_FOREACH(const teleport_group& group, groups) { + for (const teleport_group& group : groups) { teleport_pair locations; group.get_teleport_pair(locations, u, ignore_units); if (!see_all && !group.always_visible() && viewing_team.is_enemy(u.side())) { teleport_pair filter_locs; - BOOST_FOREACH(const map_location &loc, locations.first) + for (const map_location &loc : locations.first) { if(!viewing_team.fogged(loc)) filter_locs.first.insert(loc); - BOOST_FOREACH(const map_location &loc, locations.second) + } + for (const map_location &loc : locations.second) { if(!viewing_team.fogged(loc)) filter_locs.second.insert(loc); + } locations.first.swap(filter_locs.first); locations.second.swap(filter_locs.second); } @@ -237,7 +237,7 @@ const teleport_map get_teleport_locations(const unit &u, std::vector groups; if (u.get_ability_bool("teleport")) { - BOOST_FOREACH (const unit_ability & teleport, u.get_abilities("teleport")) { + for (const unit_ability & teleport : u.get_abilities("teleport")) { const int tunnel_count = (teleport.first)->child_count("tunnel"); for(int i = 0; i < tunnel_count; ++i) { config teleport_group_cfg = (teleport.first)->child("tunnel", i); diff --git a/src/pathutils.cpp b/src/pathutils.cpp index 7f1971b93cf1..dde5450cafbf 100644 --- a/src/pathutils.cpp +++ b/src/pathutils.cpp @@ -23,8 +23,6 @@ #include "map/map.hpp" -#include - /** * Function that will add to @a result all locations exactly @a radius tiles @@ -109,7 +107,7 @@ namespace { // Helpers for get_tiles_radius() without a radius filter. // Perform this conversion once. const int radius_i = static_cast(radius); - BOOST_FOREACH (const map_location &loc, locs) + for (const map_location &loc : locs) if ( loc != map_location::null_location() ) { // Calculate the circle of hexes around this one. @@ -160,7 +158,7 @@ namespace { // Helpers for get_tiles_radius() without a radius filter. // Note: This hint will get incremented later, which is the only // reason we require result to be initially non-empty. - BOOST_FOREACH (const column_ranges::value_type & column, collected_tiles) + for (const column_ranges::value_type & column : collected_tiles) { // For this loop, the order within the set is crucial; we need // rows.first to be non-decreasing with each iteration. @@ -168,7 +166,7 @@ namespace { // Helpers for get_tiles_radius() without a radius filter. // have been processed and either added to result or skipped. // There is no going back (nor a need to). int next_row = row_begin; - BOOST_FOREACH (const row_range &rows, column.second) + for (const row_range &rows : column.second) { // Skipping some rows? if ( next_row < rows.first ) diff --git a/src/persist_manager.cpp b/src/persist_manager.cpp index 126f94d4d1a3..af30fd594b02 100644 --- a/src/persist_manager.cpp +++ b/src/persist_manager.cpp @@ -15,8 +15,6 @@ #include "persist_context.hpp" #include "persist_manager.hpp" -#include - persist_manager::persist_manager() : in_transaction_(false) , contexts_() @@ -46,7 +44,7 @@ persist_context &persist_manager::get_context(const std::string &ns) bool persist_manager::start_transaction() { if (in_transaction_) return false; bool result = true; - BOOST_FOREACH(context_map::reference ctx, contexts_){ + for (context_map::reference ctx : contexts_) { result &= ctx.second->start_transaction(); } in_transaction_ = true; @@ -56,7 +54,7 @@ bool persist_manager::start_transaction() { bool persist_manager::end_transaction() { if (!in_transaction_) return false; bool result = true; - BOOST_FOREACH(context_map::reference ctx, contexts_){ + for (context_map::reference ctx : contexts_) { result &= ctx.second->end_transaction(); } in_transaction_ = !result; @@ -66,7 +64,7 @@ bool persist_manager::end_transaction() { bool persist_manager::cancel_transaction() { if (!in_transaction_) return false; bool result = true; - BOOST_FOREACH(context_map::reference ctx, contexts_){ + for (context_map::reference ctx : contexts_) { result &= ctx.second->cancel_transaction(); } in_transaction_ = false; diff --git a/src/play_controller.cpp b/src/play_controller.cpp index c7496ebef4b5..ba583c2e83c1 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -64,7 +64,6 @@ #include "whiteboard/manager.hpp" #include "wml_exception.hpp" -#include #include static lg::log_domain log_aitesting("aitesting"); @@ -111,12 +110,12 @@ static void copy_persistent(const config& src, config& dst) ("lua") .convert_to_container(); - BOOST_FOREACH(const std::string& attr, attrs) + for (const std::string& attr : attrs) { dst[attr] = src[attr]; } - BOOST_FOREACH(const std::string& tag, tags) + for (const std::string& tag : tags) { dst.append_children(src, tag); } @@ -374,7 +373,7 @@ void play_controller::fire_prestart() // Fire these right before prestart events, to catch only the units sides // have started with. - BOOST_FOREACH(const unit& u, gamestate().board_.units()) { + for (const unit& u : gamestate().board_.units()) { pump().fire("unit placed", map_location(u.get_location())); } @@ -392,7 +391,7 @@ void play_controller::fire_start() check_objectives(); // prestart and start events may modify the initial gold amount, // reflect any changes. - BOOST_FOREACH(team& tm, gamestate().board_.teams_) + for (team& tm : gamestate().board_.teams_) { tm.set_start_gold(tm.gold()); } @@ -580,7 +579,7 @@ bool play_controller::enemies_visible() const return true; // See if any enemies are visible - BOOST_FOREACH(const unit& u, gamestate().board_.units()) { + for (const unit& u : gamestate().board_.units()) { if (current_team().is_enemy(u.side()) && !gui_->fogged(u.get_location())) { return true; } @@ -630,7 +629,7 @@ void play_controller::tab() switch(mode) { case gui::TEXTBOX_SEARCH: { - BOOST_FOREACH(const unit& u, gamestate().board_.units()){ + for (const unit& u : gamestate().board_.units()){ const map_location& loc = u.get_location(); if(!gui_->fogged(loc) && !(gamestate().board_.teams()[gui_->viewing_team()].is_enemy(u.side()) && u.invisible(loc))) @@ -647,18 +646,18 @@ void play_controller::tab() } case gui::TEXTBOX_MESSAGE: { - BOOST_FOREACH(const team& t, gamestate().board_.teams()) { + for (const team& t : gamestate().board_.teams()) { if(!t.is_empty()) dictionary.insert(t.current_player()); } // Add observers - BOOST_FOREACH(const std::string& o, gui_->observers()){ + for (const std::string& o : gui_->observers()){ dictionary.insert(o); } // Add nicks who whispered you - BOOST_FOREACH(const std::string& w, gui_->get_chat_manager().whisperers()){ + for (const std::string& w : gui_->get_chat_manager().whisperers()){ dictionary.insert(w); } @@ -972,7 +971,7 @@ void play_controller::check_victory() if (gui_->video().non_interactive()) { LOG_AIT << "winner: "; - BOOST_FOREACH(unsigned l, not_defeated) { + for (unsigned l : not_defeated) { std::string ai = ai::manager::get_active_ai_identifier_for_side(l); if (ai.empty()) ai = "default ai"; LOG_AIT << l << " (using " << ai << ") "; @@ -1113,7 +1112,7 @@ void play_controller::start_game() sync.do_final_checkup(); gui_->recalculate_minimap(); // Initialize countdown clock. - BOOST_FOREACH(const team& t, gamestate().board_.teams()) + for (const team& t : gamestate().board_.teams()) { if (saved_game_.mp_settings().mp_countdown) { t.set_countdown_time(1000 * saved_game_.mp_settings().mp_countdown_init_time); @@ -1138,7 +1137,7 @@ bool play_controller::can_use_synced_wml_menu() const std::set play_controller::all_players() const { std::set res = gui_->observers(); - BOOST_FOREACH(const team& t, get_teams_const()) + for (const team& t : get_teams_const()) { if (t.is_human()) { res.insert(t.current_player()); diff --git a/src/playmp_controller.cpp b/src/playmp_controller.cpp index 752b88c90c88..face0db56ab1 100644 --- a/src/playmp_controller.cpp +++ b/src/playmp_controller.cpp @@ -37,8 +37,6 @@ #include "synced_context.hpp" #include "replay_helper.hpp" -#include - static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index 3ea805b7cedc..0845f4d56849 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -57,8 +57,6 @@ #include "whiteboard/manager.hpp" #include "hotkey/hotkey_item.hpp" -#include - static lg::log_domain log_aitesting("aitesting"); #define LOG_AIT LOG_STREAM(info, log_aitesting) //If necessary, this define can be replaced with `#define LOG_AIT std::cout` to restore previous behavior @@ -216,7 +214,7 @@ LEVEL_RESULT playsingle_controller::play_scenario(const config& level) LOG_NG << "in playsingle_controller::play_scenario()...\n"; // Start music. - BOOST_FOREACH(const config &m, level.child_range("music")) { + for(const config &m : level.child_range("music")) { sound::play_music_config(m); } sound::commit_music_changes(); @@ -228,7 +226,7 @@ LEVEL_RESULT playsingle_controller::play_scenario(const config& level) // Read sound sources assert(soundsources_manager_ != nullptr); - BOOST_FOREACH(const config &s, level.child_range("sound_source")) { + for (const config &s : level.child_range("sound_source")) { try { soundsource::sourcespec spec(s); soundsources_manager_->add(spec); diff --git a/src/playturn.cpp b/src/playturn.cpp index 25ae9b9a0977..bd7dacb33599 100644 --- a/src/playturn.cpp +++ b/src/playturn.cpp @@ -41,7 +41,6 @@ #include "whiteboard/manager.hpp" // for manager #include "widgets/button.hpp" // for button -#include // for auto_any_base, etc #include // for shared_ptr #include // for assert #include // for atoi @@ -257,7 +256,7 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg first_observer_option_idx = options.size(); //get all observers in as options to transfer control - BOOST_FOREACH(const std::string &ob, resources::screen->observers()) + for (const std::string &ob : resources::screen->observers()) { t_vars["player"] = ob; options.push_back(vgettext("Replace with $player", t_vars)); @@ -267,7 +266,7 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg const team &tm = resources::gameboard->teams()[index]; //get all allies in as options to transfer control - BOOST_FOREACH(const team &t, resources::gameboard->teams()) + for (const team &t : resources::gameboard->teams()) { if (!t.is_enemy(side_drop) && !t.is_local_human() && !t.is_local_ai() && !t.is_network_ai() && !t.is_empty() && t.current_player() != tm.current_player()) diff --git a/src/preferences_display.cpp b/src/preferences_display.cpp index 065a8e270032..f40dee5f8999 100644 --- a/src/preferences_display.cpp +++ b/src/preferences_display.cpp @@ -36,7 +36,6 @@ #include "gui/widgets/window.hpp" #include "log.hpp" -#include #include namespace preferences { diff --git a/src/quit_confirmation.cpp b/src/quit_confirmation.cpp index 81ad34f2dccf..10fa4104e160 100644 --- a/src/quit_confirmation.cpp +++ b/src/quit_confirmation.cpp @@ -19,7 +19,7 @@ #include "gui/dialogs/message.hpp" #include "gui/widgets/window.hpp" #include "resources.hpp" -#include +#include std::vector quit_confirmation::blockers_ = std::vector(); bool quit_confirmation::open_ = false; @@ -28,7 +28,7 @@ bool quit_confirmation::quit() { if(!open_) { open_ = true; - BOOST_REVERSE_FOREACH(quit_confirmation* blocker, blockers_) + for(quit_confirmation* blocker : boost::adaptors::reverse(blockers_)) { if(!blocker->prompt_()) { open_ = false; diff --git a/src/recall_list_manager.cpp b/src/recall_list_manager.cpp index 321cc53c5114..d45b3d18fa0c 100644 --- a/src/recall_list_manager.cpp +++ b/src/recall_list_manager.cpp @@ -21,7 +21,6 @@ #include #include -#include static bool find_if_matches_helper(const unit_ptr & ptr, const std::string & unit_id) { diff --git a/src/replay.cpp b/src/replay.cpp index d5aa937b7a23..caa417b48585 100644 --- a/src/replay.cpp +++ b/src/replay.cpp @@ -41,7 +41,6 @@ #include "whiteboard/manager.hpp" #include "replay_recorder_base.hpp" -#include #include #include #include @@ -71,7 +70,7 @@ static void verify(const unit_map& units, const config& cfg) { << nunits << " according to data source. " << units.size() << " locally\n"; std::set locs; - BOOST_FOREACH(const config &u, cfg.child_range("unit")) + for (const config &u : cfg.child_range("unit")) { const map_location loc(u); locs.insert(loc); @@ -92,7 +91,7 @@ static void verify(const unit_map& units, const config& cfg) { errbuf.clear(); } - BOOST_FOREACH(const config &un, cfg.child_range("unit")) + for (const config &un : cfg.child_range("unit")) { const map_location loc(un); const unit_map::const_iterator u = units.find(loc); @@ -411,7 +410,7 @@ config replay::get_data_range(int cmd_start, int cmd_end, DATA_TYPE data_type) void replay::redo(const config& cfg) { assert(base_->get_pos() == ncommands()); - BOOST_FOREACH(const config &cmd, cfg.child_range("command")) + for (const config &cmd : cfg.child_range("command")) { base_->add_child() = cmd; } @@ -627,7 +626,7 @@ bool replay::empty() void replay::add_config(const config& cfg, MARK_SENT mark) { - BOOST_FOREACH(const config &cmd, cfg.child_range("command")) + for (const config &cmd : cfg.child_range("command")) { config &cfg = base_->insert_command(base_->size()); cfg = cmd; diff --git a/src/replay_controller.cpp b/src/replay_controller.cpp index abe9545843b3..3eafef3e4fab 100644 --- a/src/replay_controller.cpp +++ b/src/replay_controller.cpp @@ -23,7 +23,6 @@ #include "config_assign.hpp" #include "playsingle_controller.hpp" -#include #include static lg::log_domain log_engine("engine"); diff --git a/src/replay_recorder_base.cpp b/src/replay_recorder_base.cpp index a8c40db8c17a..84db844afe8f 100644 --- a/src/replay_recorder_base.cpp +++ b/src/replay_recorder_base.cpp @@ -2,8 +2,6 @@ #include "replay_recorder_base.hpp" #include "serialization/binary_or_text.hpp" -#include - replay_recorder_base::replay_recorder_base(void) : upload_log_() , commands_() @@ -89,7 +87,7 @@ void replay_recorder_base::append_config(const config& data) { upload_log_ = upload_log; } - BOOST_FOREACH(const config& command, data.child_range("command")) + for(const config& command : data.child_range("command")) { commands_.push_back(new config(command)); } @@ -101,7 +99,7 @@ void replay_recorder_base::append_config(config& data) { upload_log_.swap(upload_log); } - BOOST_FOREACH(config& command, data.child_range("command")) + for(config& command : data.child_range("command")) { config* new_config = new config(); new_config->swap(command); diff --git a/src/reports.cpp b/src/reports.cpp index 9a63cb80a9cc..04d811151020 100644 --- a/src/reports.cpp +++ b/src/reports.cpp @@ -34,7 +34,6 @@ #include "units/helper.hpp" #include "whiteboard/manager.hpp" -#include #include #include @@ -261,7 +260,7 @@ REPORT_GENERATOR(unit_amla, rc) if (!u) return config(); config res; typedef std::pair pair_string; - BOOST_FOREACH(const pair_string &ps, u->amla_icons()) { + for (const pair_string &ps : u->amla_icons()) { add_image(res, ps.first, ps.second); } return res; @@ -420,7 +419,7 @@ static config unit_hp(reports::context& rc, const unit* u) bool att_def_diff = false; map_location displayed_unit_hex = rc.screen().displayed_unit_hex(); - BOOST_FOREACH(const utils::string_map::value_type &resist, u->get_base_resistances()) + for (const utils::string_map::value_type &resist : u->get_base_resistances()) { std::ostringstream line; line << translation::gettext(resist.first.c_str()) << ": "; @@ -446,7 +445,7 @@ static config unit_hp(reports::context& rc, const unit* u) if (att_def_diff) tooltip << _("(Att / Def)"); tooltip << '\n'; - BOOST_FOREACH(const std::string &line, resistances_table) { + for (const std::string &line : resistances_table) { tooltip << line; } return text_report(str.str(), tooltip.str()); @@ -489,7 +488,7 @@ static config unit_advancement_options(const unit* u) if (!u) return config(); config res; typedef std::pair pair_string; - BOOST_FOREACH(const pair_string &ps, u->advancement_icons()) { + for (const pair_string &ps : u->advancement_icons()) { add_image(res, ps.first, ps.second); } return res; @@ -527,7 +526,7 @@ static config unit_defense(reports::context & rc, const unit* u, const map_locat if (underlyings.size() != 1 || underlyings.front() != terrain) { bool revert = false; - BOOST_FOREACH(const t_translation::t_terrain &t, underlyings) + for (const t_translation::t_terrain &t : underlyings) { if (t == t_translation::MINUS) { revert = true; @@ -757,7 +756,7 @@ static int attack_info(reports::context & rc, const attack_type &at, config &res std::set seen_types; const team &unit_team = rc.teams()[u.side() - 1]; const team &viewing_team = rc.teams()[rc.screen().viewing_team()]; - BOOST_FOREACH(const unit &enemy, rc.units()) + for (const unit &enemy : rc.units()) { if (enemy.incapacitated()) //we can't attack statues so don't display them in this tooltip continue; @@ -775,7 +774,7 @@ static int attack_info(reports::context & rc, const attack_type &at, config &res } typedef std::pair > resist_units; - BOOST_FOREACH(const resist_units &resist, resistances) { + for (const resist_units &resist : resistances) { int damage = round_damage(specials_damage, damage_multiplier * resist.first, damage_divisor); tooltip << "" << damage << " " << "(" << utils::signed_percent(resist.first-100) << ") : " @@ -872,7 +871,7 @@ static config unit_weapons(reports::context & rc, const unit *attacker, const ma } } - BOOST_FOREACH(const battle_context& weapon, weapons) { + for (const battle_context& weapon : weapons) { // Predict the battle outcome. combatant attacker_combatant(weapon.get_attacker_stats()); @@ -992,7 +991,7 @@ static config unit_weapons(reports::context & rc, const unit *u) //add_text(res, /*span_color(font::weapon_details_color) // +*/ attack_headline /*+ "\n"*/ + '\n', ""); - BOOST_FOREACH(const attack_type &at, u->attacks()) + for (const attack_type &at : u->attacks()) { attack_info(rc, at, res, *u, displayed_unit_hex); } @@ -1082,7 +1081,7 @@ REPORT_GENERATOR(tod_stats, rc) int current = rc.tod().get_current_time(hex); int i = 0; - BOOST_FOREACH(const time_of_day& tod, schedule) { + for (const time_of_day& tod : schedule) { if (i == current) tooltip << ""; tooltip << tod.name << "\n"; if (i == current) tooltip << ""; @@ -1198,7 +1197,7 @@ static config unit_box_at(reports::context & rc, const map_location& mouseover_h std::string bg_terrain_image; - BOOST_FOREACH(const t_translation::t_terrain& underlying_terrain, underlying_terrains) { + for (const t_translation::t_terrain& underlying_terrain : underlying_terrains) { const std::string& terrain_id = map.get_terrain_info(underlying_terrain).id(); bg_terrain_image = "~BLIT(unit_env/terrain/terrain-" + terrain_id + ".png)" + bg_terrain_image; } @@ -1265,7 +1264,7 @@ REPORT_GENERATOR(villages, rc) str << td.villages << '/'; if (viewing_team.uses_shroud()) { int unshrouded_villages = 0; - BOOST_FOREACH(const map_location &loc, rc.map().villages()) { + for (const map_location &loc : rc.map().villages()) { if (!viewing_team.shrouded(loc)) ++unshrouded_villages; } @@ -1370,7 +1369,7 @@ REPORT_GENERATOR(terrain_info, rc) // } const t_translation::t_list& underlying_terrains = map.underlying_union_terrain(terrain); - BOOST_FOREACH(const t_translation::t_terrain& underlying_terrain, underlying_terrains) { + for (const t_translation::t_terrain& underlying_terrain : underlying_terrains) { if (underlying_terrain == t_translation::OFF_MAP_USER) continue; @@ -1495,7 +1494,7 @@ REPORT_GENERATOR(observers, rc) std::ostringstream str; str << _("Observers:") << '\n'; - BOOST_FOREACH(const std::string &obs, observers) { + for (const std::string &obs : observers) { str << obs << '\n'; } return image_report(game_config::images::observer, str.str()); @@ -1583,10 +1582,10 @@ config reports::generate_report(const std::string &name, reports::context & rc, const std::set &reports::report_list() { if (!all_reports_.empty()) return all_reports_; - BOOST_FOREACH(const static_report_generators::value_type &v, static_generators) { + for (const static_report_generators::value_type &v : static_generators) { all_reports_.insert(v.first); } - BOOST_FOREACH(const dynamic_report_generators::value_type &v, dynamic_generators_) { + for (const dynamic_report_generators::value_type &v : dynamic_generators_) { all_reports_.insert(v.first); } return all_reports_; diff --git a/src/save_index.cpp b/src/save_index.cpp index e45d0d193453..da3e9c29a87e 100644 --- a/src/save_index.cpp +++ b/src/save_index.cpp @@ -29,7 +29,6 @@ #include "filesystem.hpp" #include "config.hpp" -#include static lg::log_domain log_engine("engine"); #define LOG_SAVE LOG_STREAM(info, log_engine) @@ -233,7 +232,7 @@ bool save_info_less_time::operator() (const save_info& a, const save_info& b) co } static std::istream* find_save_file(const std::string &name, const std::string &alt_name, const std::vector &suffixes) { - BOOST_FOREACH(const std::string &suf, suffixes) { + for (const std::string &suf : suffixes) { std::istream *file_stream = filesystem::istream_file(filesystem::get_saves_dir() + "/" + name + suf); if (file_stream->fail()) { delete file_stream; @@ -376,7 +375,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) std::string leader_image; std::string leader_image_tc_modifier; - //BOOST_FOREACH(const config &p, cfg_save.child_range("player")) + //for (const config &p : cfg_save.child_range("player")) //{ // if (p["canrecruit"].to_bool(false))) { // leader = p["save_id"]; @@ -389,7 +388,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) //{ if (const config &snapshot = *(has_snapshot ? &cfg_snapshot : &cfg_replay_start)) { - BOOST_FOREACH(const config &side, snapshot.child_range("side")) + for (const config &side : snapshot.child_range("side")) { if (side["controller"] != team::CONTROLLER::enum_to_string(team::CONTROLLER::HUMAN)) { continue; @@ -407,7 +406,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) break; } - BOOST_FOREACH(const config &u, side.child_range("unit")) + for (const config &u : side.child_range("unit")) { if (u["canrecruit"].to_bool()) { leader = u["id"].str(); diff --git a/src/saved_game.cpp b/src/saved_game.cpp index 3d7c8f513377..be45b661aae1 100644 --- a/src/saved_game.cpp +++ b/src/saved_game.cpp @@ -63,7 +63,6 @@ #include #include -#include #include static lg::log_domain log_engine("engine"); @@ -173,7 +172,7 @@ void saved_game::set_defaults() "carryover_percentage", "carryover_add", }; - BOOST_FOREACH(config& side, starting_pos_.child_range("side")) + for(config& side : starting_pos_.child_range("side")) { // Set save_id default value directly after loading to its default to prevent different default behaviour in mp_connect code and sp code. if(side["save_id"].empty()) @@ -190,7 +189,7 @@ void saved_game::set_defaults() side["current_player"] = config::attribute_value(); } // Set some team specific values to their defaults specified in scenario - BOOST_FOREACH(const std::string& att_name, team_defaults) + for(const std::string& att_name : team_defaults) { const config::attribute_value* scenario_value = starting_pos_.get(att_name); config::attribute_value& team_value = side[att_name]; @@ -292,7 +291,7 @@ void saved_game::load_mod(const std::string& type, const std::string& id) } // Copy events - BOOST_FOREACH(const config& modevent, cfg.child_range("event")) + for(const config& modevent : cfg.child_range("event")) { if(modevent["enable_if"].empty() || variable_to_bool(carryover_.child_or_empty("variables"), modevent["enable_if"])) { @@ -300,12 +299,12 @@ void saved_game::load_mod(const std::string& type, const std::string& id) } } // Copy lua - BOOST_FOREACH(const config& modlua, cfg.child_range("lua")) + for(const config& modlua : cfg.child_range("lua")) { this->starting_pos_.add_child("lua", modlua); } // Copy load_resource - BOOST_FOREACH(const config& load_resource, cfg.child_range("load_resource")) + for(const config& load_resource : cfg.child_range("load_resource")) { this->starting_pos_.add_child("load_resource", load_resource); } @@ -336,12 +335,12 @@ void saved_game::expand_mp_events() // In the first iteration mod contains no [resource]s in all other iterations, mods contains only [resource]s do { - BOOST_FOREACH(modevents_entry& mod, mods) + for(modevents_entry& mod : mods) { load_mod(mod.type, mod.id); } mods.clear(); - BOOST_FOREACH(const config& cfg, starting_pos_.child_range("load_resource")) + for(const config& cfg : starting_pos_.child_range("load_resource")) { if(loaded_resources.find(cfg["id"].str()) == loaded_resources.end()) { mods.push_back(modevents_entry("resource", cfg["id"].str())); @@ -368,11 +367,11 @@ void saved_game::expand_mp_options() mods.push_back(modevents_entry("campaign", classification().campaign)); config& variables = carryover_.child_or_add("variables"); - BOOST_FOREACH(modevents_entry& mod, mods) + for(modevents_entry& mod : mods) { if(const config& cfg = this->mp_settings().options.find_child(mod.type, "id", mod.id)) { - BOOST_FOREACH(const config& option, cfg.child_range("option")) + for(const config& option : cfg.child_range("option")) { variables[option["id"]] = option["value"]; } @@ -399,7 +398,7 @@ void saved_game::expand_random_scenario() config scenario_new = random_generate_scenario(starting_pos_["scenario_generation"], starting_pos_.child("generator")); //Preserve "story" form the scenario toplevel. - BOOST_FOREACH(config& story, starting_pos_.child_range("story")) + for(config& story : starting_pos_.child_range("story")) { scenario_new.add_child("story", story); } @@ -434,7 +433,7 @@ void saved_game::expand_carryover() carryover_info sides(carryover_); sides.transfer_to(get_starting_pos()); - BOOST_FOREACH(config& side_cfg, get_starting_pos().child_range("side")) + for(config& side_cfg : get_starting_pos().child_range("side")) { sides.transfer_all_to(side_cfg); } @@ -567,13 +566,13 @@ void saved_game::update_label() void saved_game::cancel_orders() { - BOOST_FOREACH(config &side, this->starting_pos_.child_range("side")) + for(config &side : this->starting_pos_.child_range("side")) { // for humans "goto_x/y" is used for multi-turn-moves // for the ai "goto_x/y" is a way for wml to order the ai to move a unit to a certain place. // we want to cancel human order but not to break wml. if (side["controller"] != "human" && side["controller"] != "network") continue; - BOOST_FOREACH(config &unit, side.child_range("unit")) + for(config &unit : side.child_range("unit")) { unit["goto_x"] = -999; unit["goto_y"] = -999; @@ -583,7 +582,7 @@ void saved_game::cancel_orders() void saved_game::unify_controllers() { - BOOST_FOREACH(config &side, this->starting_pos_.child_range("side")) + for(config &side : this->starting_pos_.child_range("side")) { if (side["controller"] == "network") side["controller"] = "human"; @@ -640,7 +639,7 @@ void saved_game::set_data(config& cfg) } replay_data_ = replay_recorder_base(); //Serversided replays can contain multiple [replay] - BOOST_FOREACH(config& replay, cfg.child_range("replay")) + for(config& replay : cfg.child_range("replay")) { replay_data_.append_config(replay); } diff --git a/src/savegame.cpp b/src/savegame.cpp index a482f92d8f3d..1edf5691a19b 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -48,8 +48,6 @@ #include "units/id.hpp" #include "version.hpp" -#include - static lg::log_domain log_engine("engine"); #define LOG_SAVE LOG_STREAM(info, log_engine) #define ERR_SAVE LOG_STREAM(err, log_engine) @@ -128,7 +126,7 @@ void loadgame::show_difficulty_dialog() std::string campaign_id = summary_["campaign"]; - BOOST_FOREACH(const config &campaign, game_config_.child_range("campaign")) + for(const config &campaign : game_config_.child_range("campaign")) { if(campaign["id"] != campaign_id) { continue; @@ -674,7 +672,7 @@ static void convert_old_saves_1_11_0(config& cfg) //copy rng and menu items from toplevel to new carryover_sides carryover["random_seed"] = cfg["random_seed"]; carryover["random_calls"] = cfg["random_calls"]; - BOOST_FOREACH(const config& menu_item, cfg.child_range("menu_item")){ + for(const config& menu_item : cfg.child_range("menu_item")) { carryover.add_child("menu_item", menu_item); } carryover["difficulty"] = cfg["difficulty"]; @@ -686,28 +684,28 @@ static void convert_old_saves_1_11_0(config& cfg) //copy sides from either snapshot or replay_start to new carryover_sides if(!snapshot.empty()){ - BOOST_FOREACH(const config& side, snapshot.child_range("side")){ + for(const config& side : snapshot.child_range("side")) { carryover.add_child("side", side); } //for compatibility with old savegames that use player instead of side - BOOST_FOREACH(const config& side, snapshot.child_range("player")){ + for(const config& side : snapshot.child_range("player")) { carryover.add_child("side", side); } //save the sides from replay_start in carryover_sides_start - BOOST_FOREACH(const config& side, replay_start.child_range("side")){ + for(const config& side : replay_start.child_range("side")) { carryover_start.add_child("side", side); } //for compatibility with old savegames that use player instead of side - BOOST_FOREACH(const config& side, replay_start.child_range("player")){ + for(const config& side : replay_start.child_range("player")) { carryover_start.add_child("side", side); } } else if (!replay_start.empty()){ - BOOST_FOREACH(const config& side, replay_start.child_range("side")){ + for(const config& side : replay_start.child_range("side")) { carryover.add_child("side", side); carryover_start.add_child("side", side); } //for compatibility with old savegames that use player instead of side - BOOST_FOREACH(const config& side, replay_start.child_range("player")){ + for(const config& side : replay_start.child_range("player")) { carryover.add_child("side", side); carryover_start.add_child("side", side); } @@ -812,13 +810,13 @@ static void convert_old_saves_1_13_1(config& cfg) //This currently only fixes start-of-scenario saves. if(config& carryover_sides_start = cfg.child("carryover_sides_start")) { - BOOST_FOREACH(config& side, carryover_sides_start.child_range("side")) + for(config& side : carryover_sides_start.child_range("side")) { - BOOST_FOREACH(config& unit, side.child_range("unit")) + for(config& unit : side.child_range("unit")) { if(config& modifications = unit.child("modifications")) { - BOOST_FOREACH(config& advancement, modifications.child_range("advance")) + for(config& advancement : modifications.child_range("advance")) { modifications.add_child("advancement", advancement); } @@ -827,10 +825,10 @@ static void convert_old_saves_1_13_1(config& cfg) } } } - BOOST_FOREACH(config& snapshot, cfg.child_range("snapshot")) { + for(config& snapshot : cfg.child_range("snapshot")) { if (snapshot.has_attribute("used_items")) { config used_items; - BOOST_FOREACH(const std::string& item, utils::split(snapshot["used_items"])) { + for(const std::string& item : utils::split(snapshot["used_items"])) { used_items[item] = true; } snapshot.remove_attribute("used_items"); diff --git a/src/scripting/application_lua_kernel.cpp b/src/scripting/application_lua_kernel.cpp index 2d70423db1be..7f0d15df7fb4 100644 --- a/src/scripting/application_lua_kernel.cpp +++ b/src/scripting/application_lua_kernel.cpp @@ -49,7 +49,6 @@ #include #include -#include #include #include #include @@ -271,7 +270,7 @@ application_lua_kernel::request_list application_lua_kernel::thread::run_script( // Now we have to create the context object. It is arranged as a table of boost functions. boost::shared_ptr this_context_backend = boost::make_shared (lua_context_backend()); lua_newtable(T_); // this will be the context table - BOOST_FOREACH( const std::string & key, ctxt.callbacks_ | boost::adaptors::map_keys ) { + for (const std::string & key : ctxt.callbacks_ | boost::adaptors::map_keys ) { lua_pushstring(T_, key.c_str()); lua_cpp::push_function(T_, boost::bind(&impl_context_backend, _1, this_context_backend, key)); lua_settable(T_, -3); @@ -282,7 +281,7 @@ application_lua_kernel::request_list application_lua_kernel::thread::run_script( lua_pushstring(T_, "name"); lua_pushstring(T_, ctxt.name_.c_str()); lua_settable(T_, -3); - BOOST_FOREACH( const plugins_context::accessor_list::value_type & v, ctxt.accessors_) { + for (const plugins_context::accessor_list::value_type & v : ctxt.accessors_) { const std::string & key = v.first; const plugins_context::accessor_function & func = v.second; lua_pushstring(T_, key.c_str()); @@ -323,7 +322,7 @@ application_lua_kernel::request_list application_lua_kernel::thread::run_script( application_lua_kernel::request_list results; - BOOST_FOREACH( const plugins_manager::event & req, this_context_backend->requests) { + for (const plugins_manager::event & req : this_context_backend->requests) { results.push_back(boost::bind(ctxt.callbacks_.find(req.name)->second, req.data)); //results.push_back(std::make_pair(ctxt.callbacks_.find(req.name)->second, req.data)); } diff --git a/src/scripting/game_lua_kernel.cpp b/src/scripting/game_lua_kernel.cpp index 0fa465644568..327a49b49d03 100644 --- a/src/scripting/game_lua_kernel.cpp +++ b/src/scripting/game_lua_kernel.cpp @@ -108,7 +108,6 @@ #include "wml_exception.hpp" #include // for bind_t, bind -#include // for auto_any_base, etc #include // for intrusive_ptr #include #include // boost::copy @@ -166,7 +165,7 @@ struct map_locker void game_lua_kernel::extract_preload_scripts(config const &game_config) { game_lua_kernel::preload_scripts.clear(); - BOOST_FOREACH(config const &cfg, game_config.child_range("lua")) { + for (config const &cfg : game_config.child_range("lua")) { game_lua_kernel::preload_scripts.push_back(cfg); } game_lua_kernel::preload_config = game_config.child("game_config"); @@ -537,7 +536,7 @@ static int impl_unit_attacks_get(lua_State *L) const std::vector& attacks = u ? u->attacks() : ut->attacks(); if(!lua_isnumber(L,2)) { std::string attack_id = luaL_checkstring(L, 2); - BOOST_FOREACH(const attack_type& at, attacks) { + for (const attack_type& at : attacks) { if(at.id() == attack_id) { attack = &at; break; @@ -614,7 +613,7 @@ static int impl_unit_attack_get(lua_State *L) lua_rawgeti(L, 1, 2); std::string attack_id = luaL_checkstring(L, -1); char const *m = luaL_checkstring(L, 2); - BOOST_FOREACH(const attack_type& attack, u->attacks()) + for (const attack_type& attack : u->attacks()) { if(attack.id() == attack_id) { @@ -661,7 +660,7 @@ static int impl_unit_attack_set(lua_State *L) lua_rawgeti(L, 1, 2); std::string attack_id = luaL_checkstring(L, -1); char const *m = luaL_checkstring(L, 2); - BOOST_FOREACH(attack_type& attack, u->attacks()) + for (attack_type& attack : u->attacks()) { if(attack.id() == attack_id) { @@ -765,7 +764,7 @@ int game_lua_kernel::intf_get_unit(lua_State *L) map_location loc; if(lua_isstring(L, 1) && !lua_isnumber(L, 1)) { std::string id = luaL_checkstring(L, 1); - BOOST_FOREACH(const unit& u, units()) { + for(const unit& u : units()) { if(u.id() == id) { new(lua_newuserdata(L, sizeof(lua_unit))) lua_unit(u.underlying_id()); lua_pushlightuserdata(L, getunitKey); @@ -837,7 +836,7 @@ int game_lua_kernel::intf_get_units(lua_State *L) // note that if filter is null, this yields a null filter matching everything (and doing no work) filter_context & fc = game_state_; - BOOST_FOREACH ( const unit * ui, unit_filter(filter, &fc).all_matches_on_map()) { + for (const unit * ui : unit_filter(filter, &fc).all_matches_on_map()) { new(lua_newuserdata(L, sizeof(lua_unit))) lua_unit(ui->underlying_id()); lua_pushvalue(L, 1); lua_setmetatable(L, 3); @@ -923,9 +922,9 @@ int game_lua_kernel::intf_get_recall_units(lua_State *L) int i = 1, s = 1; filter_context & fc = game_state_; const unit_filter ufilt(filter, &fc); - BOOST_FOREACH(team &t, teams()) + for (team &t : teams()) { - BOOST_FOREACH(unit_ptr & u, t.recall_list()) + for (unit_ptr & u : t.recall_list()) { if (!filter.null()) { scoped_recall_unit auto_store("this_unit", @@ -1111,7 +1110,7 @@ int game_lua_kernel::intf_set_menu_item(lua_State *L) int game_lua_kernel::intf_clear_menu_item(lua_State *L) { std::string ids(luaL_checkstring(L, 1)); - BOOST_FOREACH(const std::string& id, utils::split(ids, ',', utils::STRIP_SPACES)) { + for(const std::string& id : utils::split(ids, ',', utils::STRIP_SPACES)) { if(id.empty()) { WRN_LUA << "[clear_menu_item] has been given an empty id=, ignoring" << std::endl; continue; @@ -1158,12 +1157,12 @@ int game_lua_kernel::intf_shroud_op(lua_State *L, bool place_shroud) const terrain_filter filter(cfg, &game_state_); filter.get_locations(locs, true); - BOOST_FOREACH(const int &side_num, sides) + for (const int &side_num : sides) { index = side_num - 1; team &t = teams()[index]; - BOOST_FOREACH(map_location const &loc, locs) + for (map_location const &loc : locs) { if (place_shroud) { t.place_shroud(loc); @@ -2119,11 +2118,11 @@ int game_lua_kernel::intf_find_cost_map(lua_State *L) pathfind::full_cost_map cost_map( ignore_units, !ignore_teleport, viewing_team, see_all, ignore_units); - BOOST_FOREACH(const unit* const u, real_units) + for (const unit* const u : real_units) { cost_map.add_unit(*u, use_max_moves); } - BOOST_FOREACH(const unit_type_vector::value_type& fu, fake_units) + for (const unit_type_vector::value_type& fu : fake_units) { const unit_type* ut = unit_types.find(fu.get<2>()); cost_map.add_unit(fu.get<0>(), ut, fu.get<1>()); @@ -2133,7 +2132,7 @@ int game_lua_kernel::intf_find_cost_map(lua_State *L) { if (game_display_) { game_display_->labels().clear_all(); - BOOST_FOREACH(const map_location& loc, location_set) + for (const map_location& loc : location_set) { std::stringstream s; s << cost_map.get_pair_at(loc.x, loc.y).first; @@ -2147,7 +2146,7 @@ int game_lua_kernel::intf_find_cost_map(lua_State *L) // create return value lua_createtable(L, location_set.size(), 0); int counter = 1; - BOOST_FOREACH(const map_location& loc, location_set) + for (const map_location& loc : location_set) { lua_createtable(L, 4, 0); @@ -2182,7 +2181,7 @@ int game_lua_kernel::intf_heal_unit(lua_State *L) std::vector healers; if (!healers_filter.null()) { const unit_filter ufilt(healers_filter, &game_state_); - BOOST_FOREACH(unit& u, *units) { + for (unit& u : *units) { if ( ufilt(u) && u.has_ability_type("heals") ) { healers.push_back(&u); } @@ -3096,7 +3095,7 @@ int game_lua_kernel::intf_get_locations(lua_State *L) lua_createtable(L, res.size(), 0); int i = 1; - BOOST_FOREACH(map_location const &loc, res) + for (map_location const &loc : res) { lua_createtable(L, 2, 0); lua_pushinteger(L, loc.x + 1); @@ -3191,7 +3190,7 @@ int game_lua_kernel::intf_modify_ai_wml(lua_State *L) side_filter ssf(cfg, &game_state_); std::vector sides = ssf.get_teams(); - BOOST_FOREACH(const int &side_num, sides) + for (const int &side_num : sides) { ai::manager::modify_active_ai_for_side(side_num,cfg.get_parsed_config()); } @@ -3218,7 +3217,7 @@ int game_lua_kernel::intf_modify_side(lua_State *L) std::vector sides = get_sides_vector(cfg); size_t team_index; - BOOST_FOREACH(const int &side_num, sides) + for(const int &side_num : sides) { team_index = side_num - 1; @@ -3378,7 +3377,7 @@ int game_lua_kernel::intf_get_sides(lua_State* L) lua_settop(L, 0); lua_createtable(L, sides.size(), 0); unsigned index = 1; - BOOST_FOREACH(int side, sides) { + for(int side : sides) { luaW_pushteam(L, teams()[side - 1]); lua_rawseti(L, -2, index); ++index; @@ -3394,7 +3393,7 @@ int game_lua_kernel::intf_get_sides(lua_State* L) static int intf_get_traits(lua_State* L) { lua_newtable(L); - BOOST_FOREACH(const config& trait, unit_types.traits()) { + for(const config& trait : unit_types.traits()) { const std::string& id = trait["id"]; //It seems the engine does nowhere check the id field for emptyness or duplicates //(also not later on). @@ -3635,13 +3634,13 @@ int game_lua_kernel::intf_kill(lua_State *L) //Find all the dead units first, because firing events ruins unit_map iteration std::vector dead_men_walking; const unit_filter ufilt(cfg, &game_state_); - BOOST_FOREACH(unit & u, units()){ + for (unit & u : units()){ if ( ufilt(u) ) { dead_men_walking.push_back(&u); } } - BOOST_FOREACH(unit * un, dead_men_walking) { + for(unit * un : dead_men_walking) { map_location loc(un->get_location()); bool fire_event = false; game_events::entity_location death_loc(*un); @@ -3761,7 +3760,7 @@ int game_lua_kernel::intf_redraw(lua_State *L) if (clear_shroud) { side_filter filter(cfg, &game_state_); - BOOST_FOREACH(const int side, filter.get_teams()){ + for (const int side : filter.get_teams()){ actions::clear_shroud(side); } screen.recalculate_minimap(); @@ -4045,7 +4044,7 @@ int game_lua_kernel::intf_scroll(lua_State * L) if (game_display_) { const std::vector side_list = get_sides_vector(cfg); bool side_match = false; - BOOST_FOREACH(int side, side_list) { + for (int side : side_list) { if(teams()[side-1].is_local_human()) { side_match = true; break; @@ -4546,7 +4545,7 @@ game_lua_kernel::game_lua_kernel(CVideo * video, game_state & gs, play_controlle set_wml_action(handler.first, handler.second); } luaW_getglobal(L, "wesnoth", "effects"); - BOOST_FOREACH(const std::string& effect, unit::builtin_effects) { + for(const std::string& effect : unit::builtin_effects) { lua_pushstring(L, effect.c_str()); push_builtin_effect(); lua_rawset(L, -3); @@ -4583,7 +4582,7 @@ void game_lua_kernel::initialize(const config& level) lua_settop(L, 0); lua_getglobal(L, "wesnoth"); lua_newtable(L); - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &ut : unit_types.types()) { luaW_pushunittype(L, ut.first); lua_setfield(L, -2, ut.first.c_str()); @@ -4603,10 +4602,10 @@ void game_lua_kernel::initialize(const config& level) cmd_log_ << "Running preload scripts...\n"; game_config::load_config(game_lua_kernel::preload_config); - BOOST_FOREACH(const config &cfg, game_lua_kernel::preload_scripts) { + for (const config &cfg : game_lua_kernel::preload_scripts) { run(cfg["code"].str().c_str()); } - BOOST_FOREACH(const config &cfg, level_lua_.child_range("lua")) { + for (const config &cfg : level_lua_.child_range("lua")) { run(cfg["code"].str().c_str()); } @@ -4633,7 +4632,7 @@ int game_lua_kernel::return_unit_method(lua_State *L, char const *m) { {"select", &dispatch<&game_lua_kernel::intf_select_unit>}, }; - BOOST_FOREACH(const luaL_Reg& r, methods) { + for (const luaL_Reg& r : methods) { if (strcmp(m, r.name) == 0) { lua_pushcfunction(L, r.func); return 1; @@ -4663,7 +4662,7 @@ static char const *handled_file_tags[] = { static bool is_handled_file_tag(const std::string &s) { - BOOST_FOREACH(char const *t, handled_file_tags) { + for (char const *t : handled_file_tags) { if (s == t) return true; } return false; @@ -4682,7 +4681,7 @@ void game_lua_kernel::load_game(const config& level) lua_newtable(L); int k = 1; - BOOST_FOREACH(const config::any_child &v, level.all_children_range()) + for (const config::any_child &v : level.all_children_range()) { if (is_handled_file_tag(v.key)) continue; lua_createtable(L, 2, 0); diff --git a/src/scripting/lua_api.cpp b/src/scripting/lua_api.cpp index d9985aa7964d..65e05f7d26ac 100644 --- a/src/scripting/lua_api.cpp +++ b/src/scripting/lua_api.cpp @@ -30,7 +30,6 @@ #include "units/map.hpp" #include "variable.hpp" -#include #include #include // for map<>::key_type #include // for operator new diff --git a/src/scripting/lua_common.cpp b/src/scripting/lua_common.cpp index b00b7b7501c4..58096d07e2d3 100644 --- a/src/scripting/lua_common.cpp +++ b/src/scripting/lua_common.cpp @@ -33,7 +33,6 @@ #include "log.hpp" #include "gettext.hpp" -#include #include #include // for distance, advance #include // for operator new @@ -213,7 +212,7 @@ static int impl_vconfig_get(lua_State *L) if (shallow_literal || strcmp(m, "__shallow_parsed") == 0) { lua_newtable(L); - BOOST_FOREACH(const config::attribute &a, v->get_config().attribute_range()) { + for (const config::attribute &a : v->get_config().attribute_range()) { if (shallow_literal) luaW_pushscalar(L, a.second); else @@ -574,7 +573,7 @@ void luaW_filltable(lua_State *L, config const &cfg) return; int k = 1; - BOOST_FOREACH(const config::any_child &ch, cfg.all_children_range()) + for (const config::any_child &ch : cfg.all_children_range()) { lua_createtable(L, 2, 0); lua_pushstring(L, ch.key.c_str()); @@ -584,7 +583,7 @@ void luaW_filltable(lua_State *L, config const &cfg) lua_rawseti(L, -2, 2); lua_rawseti(L, -2, k++); } - BOOST_FOREACH(const config::attribute &attr, cfg.attribute_range()) + for (const config::attribute &attr : cfg.attribute_range()) { luaW_pushscalar(L, attr.second); lua_setfield(L, -2, attr.first.c_str()); diff --git a/src/scripting/lua_common.hpp b/src/scripting/lua_common.hpp index 0cf21113e49b..307dd5908c60 100644 --- a/src/scripting/lua_common.hpp +++ b/src/scripting/lua_common.hpp @@ -212,7 +212,7 @@ bool luaW_checkvariable(lua_State *L, variable_access_create& v, int n); const std::vector& vector = accessor; \ lua_createtable(L, vector.size(), 0); \ int i = 1; \ - BOOST_FOREACH(const std::string& s, vector) { \ + for (const std::string& s : vector) { \ lua_pushstring(L, s.c_str()); \ lua_rawseti(L, -2, i); \ ++i; \ diff --git a/src/scripting/lua_race.cpp b/src/scripting/lua_race.cpp index 4e05a19c037d..5eebd99e74c4 100644 --- a/src/scripting/lua_race.cpp +++ b/src/scripting/lua_race.cpp @@ -18,7 +18,6 @@ #include "scripting/lua_common.hpp" #include "units/types.hpp" -#include #include #include "lua/lua.h" @@ -57,14 +56,14 @@ static int impl_race_get(lua_State* L) if (strcmp(m, "traits") == 0) { lua_newtable(L); if (race.uses_global_traits()) { - BOOST_FOREACH(const config& trait, unit_types.traits()) { + for (const config& trait : unit_types.traits()) { const std::string& id = trait["id"]; lua_pushlstring(L, id.c_str(), id.length()); luaW_pushconfig(L, trait); lua_rawset(L, -3); } } - BOOST_FOREACH(const config& trait, race.additional_traits()) { + for (const config& trait : race.additional_traits()) { const std::string& id = trait["id"]; lua_pushlstring(L, id.c_str(), id.length()); luaW_pushconfig(L, trait); @@ -108,7 +107,7 @@ void luaW_pushracetable(lua_State *L) const race_map& races = unit_types.races(); lua_createtable(L, 0, races.size()); - BOOST_FOREACH(const race_map::value_type &race, races) + for (const race_map::value_type &race : races) { assert(race.first == race.second.id()); luaW_pushrace(L, race.second); diff --git a/src/scripting/lua_team.cpp b/src/scripting/lua_team.cpp index 3a5c5aede767..3ed5e1789d1c 100644 --- a/src/scripting/lua_team.cpp +++ b/src/scripting/lua_team.cpp @@ -17,7 +17,6 @@ #include "scripting/lua_common.hpp" #include "team.hpp" -#include #include #include "lua/lua.h" @@ -83,7 +82,7 @@ static int impl_side_get(lua_State *L) std::set const &recruits = t.recruits(); lua_createtable(L, recruits.size(), 0); int i = 1; - BOOST_FOREACH(std::string const &r, t.recruits()) { + for (std::string const &r : t.recruits()) { lua_pushstring(L, r.c_str()); lua_rawseti(L, -2, i++); } diff --git a/src/scripting/lua_unit_type.cpp b/src/scripting/lua_unit_type.cpp index 478db31e07eb..787d1080e398 100644 --- a/src/scripting/lua_unit_type.cpp +++ b/src/scripting/lua_unit_type.cpp @@ -18,7 +18,6 @@ #include "scripting/push_check.hpp" #include "units/types.hpp" -#include #include #include "lua/lua.h" @@ -60,7 +59,7 @@ static int impl_unit_type_get(lua_State *L) return_cfgref_attrib("__cfg", ut.get_cfg()); if (strcmp(m, "traits") == 0) { lua_newtable(L); - BOOST_FOREACH(const config& trait, ut.possible_traits()) { + for (const config& trait : ut.possible_traits()) { const std::string& id = trait["id"]; lua_pushlstring(L, id.c_str(), id.length()); luaW_pushconfig(L, trait); diff --git a/src/scripting/push_check.hpp b/src/scripting/push_check.hpp index 5b2ad9c28cfd..8c44c8ee2c38 100644 --- a/src/scripting/push_check.hpp +++ b/src/scripting/push_check.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include "tstring.hpp" #include "map/location.hpp" #include "lua/lauxlib.h" @@ -293,7 +292,7 @@ namespace lua_check_impl lua_push(lua_State * L, const T& map ) { lua_newtable(L); - BOOST_FOREACH(const typename T::value_type& pair, map) + for(const typename T::value_type& pair : map) { lua_check_impl::lua_push::type>(L, pair.first); lua_check_impl::lua_push::type>(L, pair.second); diff --git a/src/serialization/parser.cpp b/src/serialization/parser.cpp index db3d33a29ad1..14571bdcd46c 100644 --- a/src/serialization/parser.cpp +++ b/src/serialization/parser.cpp @@ -34,7 +34,6 @@ #include #include -#include #include #include #include @@ -361,7 +360,7 @@ std::string parser::lineno_string(utils::string_map &i18n_symbols, result += '\n' + debug_string; } - BOOST_FOREACH(utils::string_map::value_type& var, i18n_symbols) + for(utils::string_map::value_type& var : i18n_symbols) boost::algorithm::replace_all(result, std::string("$") + var.first, std::string(var.second)); return result; } @@ -578,7 +577,7 @@ static void write_internal(config const &cfg, std::ostream &out, std::string& te if (tab > max_recursion_levels) throw config::error("Too many recursion levels in config write"); - BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { + for (const config::attribute &i : cfg.attribute_range()) { if (!config::valid_id(i.first)) { ERR_CF << "Config contains invalid attribute name '" << i.first << "', skipping...\n"; continue; @@ -586,7 +585,7 @@ static void write_internal(config const &cfg, std::ostream &out, std::string& te write_key_val(out, i.first, i.second, tab, textdomain); } - BOOST_FOREACH(const config::any_child &item, cfg.all_children_range()) + for (const config::any_child &item : cfg.all_children_range()) { if (!config::valid_id(item.key)) { ERR_CF << "Config contains invalid tag name '" << item.key << "', skipping...\n"; diff --git a/src/serialization/preprocessor.cpp b/src/serialization/preprocessor.cpp index 0899960a3b57..1ad9bf05a3ae 100644 --- a/src/serialization/preprocessor.cpp +++ b/src/serialization/preprocessor.cpp @@ -33,8 +33,6 @@ #include "util.hpp" #include "version.hpp" -#include - #include static lg::log_domain log_preprocessor("preprocessor"); @@ -66,7 +64,7 @@ static std::string get_filename(const std::string& file_code){ int n = 0; s >> std::hex >> n; - BOOST_FOREACH(const t_file_number_map::value_type& p, file_number_map){ + for(const t_file_number_map::value_type& p : file_number_map) { if(p.second == n) return p.first; } @@ -145,8 +143,9 @@ void preproc_define::write(config_writer& writer, const std::string& name) const writer.write_key_val("linenum", std::to_string(linenum)); writer.write_key_val("location", get_location(location)); - BOOST_FOREACH(const std::string &arg, arguments) + for(const std::string &arg : arguments) { write_argument(writer, arg); + } writer.close_child(key); } @@ -163,8 +162,9 @@ void preproc_define::read(const config& cfg) linenum = cfg["linenum"]; location = cfg["location"].str(); - BOOST_FOREACH(const config &arg, cfg.child_range("argument")) + for(const config &arg : cfg.child_range("argument")) { read_argument(arg); + } } preproc_map::value_type preproc_define::read_pair(const config &cfg) @@ -558,7 +558,7 @@ preprocessor_file::preprocessor_file(preprocessor_streambuf &t, std::string cons filesystem::get_files_in_dir(name, &files_, nullptr, filesystem::ENTIRE_FILE_PATH, filesystem::SKIP_MEDIA_DIR, filesystem::DO_REORDER); - BOOST_FOREACH(std::string fname, files_) { + for(std::string fname : files_) { size_t cpos = fname.rfind(" "); if (cpos != std::string::npos && cpos >= symbol_index) { std::stringstream ss; @@ -1263,14 +1263,14 @@ void preprocess_resource(const std::string& res_name, preproc_map *defines_map, filesystem::get_files_in_dir(res_name, &files, &dirs, filesystem::ENTIRE_FILE_PATH, filesystem::SKIP_MEDIA_DIR, filesystem::DO_REORDER); // subdirectories - BOOST_FOREACH(const std::string& dir, dirs) + for(const std::string& dir : dirs) { LOG_PREPROC << "processing sub-dir: " << dir << '\n'; preprocess_resource(dir, defines_map, write_cfg, write_plain_cfg, target_directory); } // files in current directory - BOOST_FOREACH(const std::string& file, files) + for(const std::string& file : files) { preprocess_resource(file, defines_map, write_cfg, write_plain_cfg, target_directory); } diff --git a/src/serialization/schema_validator.cpp b/src/serialization/schema_validator.cpp index 214660a6fd5f..b202dec8ea3c 100644 --- a/src/serialization/schema_validator.cpp +++ b/src/serialization/schema_validator.cpp @@ -21,8 +21,6 @@ #include "serialization/preprocessor.hpp" #include "wml_exception.hpp" -#include - namespace schema_validation{ static lg::log_domain log_validation("validation"); @@ -149,14 +147,14 @@ bool schema_validator::read_config_file(const std::string &filename){ ERR_VL << "Failed to read file "<< filename << ":\n" << e.what() << "\n"; return false; } - BOOST_FOREACH(const config &g, cfg.child_range("wml_schema")) { - BOOST_FOREACH(const config &schema, g.child_range("tag")) { + for(const config &g : cfg.child_range("wml_schema")) { + for(const config &schema : g.child_range("tag")) { if (schema["name"].str() == "root"){ //@NOTE Don't know, maybe merging of roots needed. root_ = class_tag (schema); } } - BOOST_FOREACH(const config &type, g.child_range("type")) { + for(const config &type : g.child_range("type")) { try{ types_[type["name"].str()] = boost::regex( type["value"].str()); } diff --git a/src/serialization/unicode.cpp b/src/serialization/unicode.cpp index c41eb916e07c..206afef0f99d 100644 --- a/src/serialization/unicode.cpp +++ b/src/serialization/unicode.cpp @@ -29,7 +29,6 @@ #include #include -#include static lg::log_domain log_engine("engine"); #define ERR_GENERAL LOG_STREAM(err, lg::general()) diff --git a/src/server/ban.cpp b/src/server/ban.cpp index d7b32752d012..a24626ec62a7 100644 --- a/src/server/ban.cpp +++ b/src/server/ban.cpp @@ -23,7 +23,6 @@ #include "ban.hpp" -#include #include namespace wesnothd { @@ -268,7 +267,7 @@ static lg::log_domain log_server("server"); filesystem::scoped_istream ban_file = filesystem::istream_file(filename_); read_gz(cfg, *ban_file); - BOOST_FOREACH(const config &b, cfg.child_range("ban")) + for (const config &b : cfg.child_range("ban")) { try { banned_ptr new_ban(new banned(b)); @@ -284,7 +283,7 @@ static lg::log_domain log_server("server"); // load deleted too if (const config &cfg_del = cfg.child("deleted")) { - BOOST_FOREACH(const config &b, cfg_del.child_range("ban")) + for (const config &b : cfg_del.child_range("ban")) { try { banned_ptr new_ban(new banned(b)); @@ -697,7 +696,7 @@ static lg::log_domain log_server("server"); void ban_manager::load_config(const config& cfg) { ban_times_.clear(); - BOOST_FOREACH(const config &bt, cfg.child_range("ban_time")) { + for (const config &bt : cfg.child_range("ban_time")) { time_t duration = 0; if (parse_time(bt["time"], &duration)) { ban_times_.insert(default_ban_times::value_type(bt["name"], duration)); diff --git a/src/server/game.cpp b/src/server/game.cpp index f7a3eb1c0772..60236a83fbb0 100644 --- a/src/server/game.cpp +++ b/src/server/game.cpp @@ -25,7 +25,6 @@ #include #include -#include #include @@ -1419,7 +1418,7 @@ void game::send_data_sides(simple_wml::document& data, bool game::controls_side(const std::vector& sides, const network::connection player) const { - BOOST_FOREACH(int side, sides) + for (int side : sides) { size_t side_index = side - 1; if(side_index < sides_.size() && sides_[side_index] == player) { diff --git a/src/server/room_manager.cpp b/src/server/room_manager.cpp index 087c959202ba..3223fe2c4de7 100644 --- a/src/server/room_manager.cpp +++ b/src/server/room_manager.cpp @@ -22,8 +22,6 @@ #include "filesystem.hpp" #include "log.hpp" -#include - static lg::log_domain log_server_lobby("server/lobby"); #define ERR_LOBBY LOG_STREAM(err, log_server_lobby) #define WRN_LOBBY LOG_STREAM(warn, log_server_lobby) @@ -58,7 +56,7 @@ room_manager::~room_manager() // this assumes the server is shutting down, so there's no need to // send the actual room-quit messages to clients write_rooms(); - BOOST_FOREACH(t_rooms_by_name_::value_type i, rooms_by_name_) { + for (t_rooms_by_name_::value_type i : rooms_by_name_) { delete i.second; } } @@ -97,7 +95,7 @@ void room_manager::read_rooms() read(cfg, *file); } - BOOST_FOREACH(const config &c, cfg.child_range("room")) { + for (const config &c : cfg.child_range("room")) { room* r(new room(c)); if (room_exists(r->name())) { ERR_LOBBY << "Duplicate room ignored in stored rooms: " @@ -122,7 +120,7 @@ void room_manager::write_rooms() if (filename_.empty()) return; LOG_LOBBY << "Writing rooms to " << filename_ << "\n"; config cfg; - BOOST_FOREACH(const t_rooms_by_name_::value_type& v, rooms_by_name_) { + for (const t_rooms_by_name_::value_type& v : rooms_by_name_) { const room& r = *v.second; if (r.persistent()) { config& c = cfg.add_child("room"); @@ -211,7 +209,7 @@ void room_manager::enter_lobby(network::connection player) void room_manager::enter_lobby(const wesnothd::game &game) { - BOOST_FOREACH(network::connection player, game.all_game_users()) { + for (network::connection player : game.all_game_users()) { enter_lobby(player); } } @@ -225,7 +223,7 @@ void room_manager::exit_lobby(network::connection player) store_player_rooms(player); t_rooms_by_player_::iterator i = rooms_by_player_.find(player); if (i != rooms_by_player_.end()) { - BOOST_FOREACH(room* r, i->second) { + for (room* r : i->second) { r->remove_player(player); } } @@ -244,7 +242,7 @@ void room_manager::remove_player(network::connection player) lobby_->remove_player(player); t_rooms_by_player_::iterator i = rooms_by_player_.find(player); if (i != rooms_by_player_.end()) { - BOOST_FOREACH(room* r, i->second) { + for (room* r : i->second) { r->remove_player(player); } } @@ -315,7 +313,7 @@ void room_manager::store_player_rooms(network::connection player) t_player_stored_rooms_::iterator it = player_stored_rooms_.insert(std::make_pair(player, std::set())).first; std::set& store = it->second; - BOOST_FOREACH(room* r, i->second) { + for (room* r : i->second) { store.insert(r->name()); } } @@ -337,7 +335,7 @@ void room_manager::unstore_player_rooms(const player_map::iterator user) simple_wml::document doc; simple_wml::node& join_msg = doc.root().add_child("room_join"); join_msg.set_attr_dup("player", user->second.name().c_str()); - BOOST_FOREACH(const std::string& room_name, it->second) { + for (const std::string& room_name : it->second) { room* r = get_create_room(room_name, user->first); if (r == nullptr) { LOG_LOBBY << "Player " << user->second.name() << " unable to rejoin room " << room_name << "\n"; @@ -528,7 +526,7 @@ void room_manager::process_room_query(simple_wml::document& data, const player_m void room_manager::fill_room_list(simple_wml::node& root) { simple_wml::node& rooms = root.add_child("rooms"); - BOOST_FOREACH(const t_rooms_by_name_::value_type& tr, rooms_by_name_) { + for (const t_rooms_by_name_::value_type& tr : rooms_by_name_) { const room& r = *tr.second; simple_wml::node& room = rooms.add_child("room"); room.set_attr_dup("name", r.name().c_str()); @@ -539,7 +537,7 @@ void room_manager::fill_room_list(simple_wml::node& root) void room_manager::fill_member_list(const room* room, simple_wml::node& root) { simple_wml::node& members = root.add_child("members"); - BOOST_FOREACH(network::connection m, room->members()) { + for (network::connection m : room->members()) { simple_wml::node& member = members.add_child("member"); player_map::const_iterator mi = all_players_.find(m); if (mi != all_players_.end()) { diff --git a/src/server/server.cpp b/src/server/server.cpp index e06d35b9c084..02b05cb71249 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -53,7 +53,6 @@ #include #include #include -#include #include #include #include @@ -562,15 +561,15 @@ void server::load_config() { } redirected_versions_.clear(); - BOOST_FOREACH(const config &redirect, cfg_.child_range("redirect")) { - BOOST_FOREACH(const std::string &version, utils::split(redirect["version"])) { + for(const config &redirect : cfg_.child_range("redirect")) { + for(const std::string &version : utils::split(redirect["version"])) { redirected_versions_[version] = redirect; } } proxy_versions_.clear(); - BOOST_FOREACH(const config &proxy, cfg_.child_range("proxy")) { - BOOST_FOREACH(const std::string &version, utils::split(proxy["version"])) { + for(const config &proxy : cfg_.child_range("proxy")) { + for(const std::string &version : utils::split(proxy["version"])) { proxy_versions_[version] = proxy; } } @@ -710,7 +709,7 @@ void server::run() { simple_wml::document ping( strstr.str().c_str(), simple_wml::INIT_COMPRESSED ); simple_wml::string_span s = ping.output_compressed(); - BOOST_FOREACH(network::connection sock, ghost_players_) { + for(network::connection sock : ghost_players_) { if (!lg::debug().dont_log(log_server)) { wesnothd::player_map::const_iterator i = players_.find(sock); if (i != players_.end()) { @@ -726,7 +725,7 @@ void server::run() { // Only a single thread should be accessing this // Erase before we copy - speeds inserts ghost_players_.clear(); - BOOST_FOREACH(const wesnothd::player_map::value_type v, players_) { + for(const wesnothd::player_map::value_type v : players_) { ghost_players_.insert(v.first); } last_ping_ = now; @@ -2470,7 +2469,7 @@ void server::process_data_game(const network::connection sock, } const simple_wml::node::child_list& mlist = data.children("modification"); - BOOST_FOREACH (const simple_wml::node* m, mlist) { + for (const simple_wml::node* m : mlist) { desc.add_child_at("modification", 0); desc.child("modification")->set_attr_dup("id", m->attr("id")); if (m->attr("require_modification").to_bool(false)) diff --git a/src/side_filter.cpp b/src/side_filter.cpp index 57cf73364e61..e574689727b6 100644 --- a/src/side_filter.cpp +++ b/src/side_filter.cpp @@ -34,8 +34,6 @@ #include "formula/callable_objects.hpp" #include "formula/formula.hpp" -#include - static lg::log_domain log_engine_sf("engine/side_filter"); #define ERR_NG LOG_STREAM(err, log_engine_sf) @@ -75,7 +73,7 @@ std::vector side_filter::get_teams() const assert(fc_); //@todo: replace with better implementation std::vector result; - BOOST_FOREACH(const team &t, fc_->get_disp_context().teams()) { + for(const team &t : fc_->get_disp_context().teams()) { if (match(t)) { result.push_back(t.side()); } @@ -128,7 +126,7 @@ bool side_filter::match_internal(const team &t) const else { const std::vector& these_team_names = utils::split(this_team_name); bool search_futile = true; - BOOST_FOREACH(const std::string& this_single_team_name, these_team_names) { + for(const std::string& this_single_team_name : these_team_names) { if(this_single_team_name == that_team_name) { search_futile = false; break; @@ -144,7 +142,7 @@ bool side_filter::match_internal(const team &t) const if (!ufilter_) ufilter_.reset(new unit_filter(ufilt_cfg, fc_, flat_)); bool found = false; - BOOST_FOREACH(const unit &u, fc_->get_disp_context().units()) { + for(const unit &u : fc_->get_disp_context().units()) { if (u.side() != t.side()) { continue; } @@ -154,7 +152,7 @@ bool side_filter::match_internal(const team &t) const } } if(!found && ufilt_cfg["search_recall_list"].to_bool(false)) { - BOOST_FOREACH(const unit_const_ptr & u, t.recall_list()) { + for(const unit_const_ptr & u : t.recall_list()) { scoped_recall_unit this_unit("this_unit", t.save_id(),t.recall_list().find_index(u->id())); if(ufilter_->matches(*u)) { found = true; @@ -173,7 +171,7 @@ bool side_filter::match_internal(const team &t) const enemy_filter_.reset(new side_filter(enemy_of, fc_)); const std::vector& teams = enemy_filter_->get_teams(); if(teams.empty()) return false; - BOOST_FOREACH(const int side, teams) { + for(const int side : teams) { if(!(fc_->get_disp_context().teams())[side - 1].is_enemy(t.side())) return false; } @@ -185,7 +183,7 @@ bool side_filter::match_internal(const team &t) const allied_filter_.reset(new side_filter(allied_with, fc_)); const std::vector& teams = allied_filter_->get_teams(); if(teams.empty()) return false; - BOOST_FOREACH(const int side, teams) { + for(const int side : teams) { if((fc_->get_disp_context().teams())[side - 1].is_enemy(t.side())) return false; } @@ -197,7 +195,7 @@ bool side_filter::match_internal(const team &t) const has_enemy_filter_.reset(new side_filter(has_enemy, fc_)); const std::vector& teams = has_enemy_filter_->get_teams(); bool found = false; - BOOST_FOREACH(const int side, teams) { + for(const int side : teams) { if((fc_->get_disp_context().teams())[side - 1].is_enemy(t.side())) { found = true; @@ -213,7 +211,7 @@ bool side_filter::match_internal(const team &t) const has_ally_filter_.reset(new side_filter(has_ally, fc_)); const std::vector& teams = has_ally_filter_->get_teams(); bool found = false; - BOOST_FOREACH(const int side, teams) { + for(const int side : teams) { if(!(fc_->get_disp_context().teams())[side - 1].is_enemy(t.side())) { found = true; @@ -232,7 +230,7 @@ bool side_filter::match_internal(const team &t) const } else { bool found = false; - BOOST_FOREACH(const std::string& controller, utils::split(cfg_controller)) + for(const std::string& controller : utils::split(cfg_controller)) { if(t.controller().to_string() == controller) { found = true; diff --git a/src/sound.cpp b/src/sound.cpp index 28bb4c1fcced..c241c1149bd2 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -26,8 +26,6 @@ #include #include // Travis doesn't like this, although it works on my machine -> '#include -#include - #include #include #include @@ -629,7 +627,7 @@ void commit_music_changes() return; // If current track no longer on playlist, change it. - BOOST_FOREACH(const music_track &m, current_track_list) { + for (const music_track &m : current_track_list) { if (current_track == m) return; } @@ -647,7 +645,7 @@ void write_music_play_list(config& snapshot) { // First entry clears playlist, others append to it. bool append = false; - BOOST_FOREACH(music_track &m, current_track_list) { + for (music_track &m : current_track_list) { m.write(snapshot, append); append = true; } diff --git a/src/statistics.cpp b/src/statistics.cpp index a31a52308712..79ff758dbf24 100644 --- a/src/statistics.cpp +++ b/src/statistics.cpp @@ -26,8 +26,6 @@ #include "units/unit.hpp" #include "util.hpp" -#include - static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define ERR_NG LOG_STREAM(err, log_engine) @@ -67,7 +65,7 @@ scenario_stats::scenario_stats(const config& cfg) : team_stats(), scenario_name(cfg["scenario"]) { - BOOST_FOREACH(const config &team, cfg.child_range("team")) { + for(const config &team : cfg.child_range("team")) { team_stats[team["save_id"]] = stats(team); } } @@ -127,7 +125,7 @@ static void write_str_int_map(config_writer &out, const stats::str_int_map& m) static stats::str_int_map read_str_int_map(const config& cfg) { stats::str_int_map m; - BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { + for(const config::attribute &i : cfg.attribute_range()) { m[i.first] = i.second; } @@ -159,7 +157,7 @@ static void write_battle_result_map(config_writer &out, const stats::battle_resu static stats::battle_result_map read_battle_result_map(const config& cfg) { stats::battle_result_map m; - BOOST_FOREACH(const config &i, cfg.child_range("sequence")) + for(const config &i : cfg.child_range("sequence")) { config item = i; int key = item["_num"]; @@ -611,7 +609,7 @@ void read_stats(const config& cfg) fresh_stats(); mid_scenario = cfg["mid_scenario"].to_bool(); - BOOST_FOREACH(const config &s, cfg.child_range("scenario")) { + for(const config &s : cfg.child_range("scenario")) { master_stats.push_back(scenario_stats(s)); } } diff --git a/src/storyscreen/controller.cpp b/src/storyscreen/controller.cpp index 99614e515264..49bb615e0c63 100644 --- a/src/storyscreen/controller.cpp +++ b/src/storyscreen/controller.cpp @@ -35,8 +35,6 @@ #include "resources.hpp" #include "widgets/button.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) @@ -160,7 +158,7 @@ STORY_RESULT controller::show(START_POSITION startpos) // caching the scaled backgrounds can take over a decent amount of memory. #ifndef LOW_MEM std::vector< render_pointer_type > uis_; - BOOST_FOREACH(part_pointer_type p, parts_) { + for(part_pointer_type p : parts_) { ASSERT_LOG( p != nullptr, "Ouch: hit nullptr storyscreen part in collection" ); render_pointer_type const rpt(new part_ui(*p, video_, next_button, back_button, play_button)); uis_.push_back(rpt); diff --git a/src/storyscreen/render.cpp b/src/storyscreen/render.cpp index e4efb5d069fd..576c40e0d270 100644 --- a/src/storyscreen/render.cpp +++ b/src/storyscreen/render.cpp @@ -33,8 +33,6 @@ #include "video.hpp" #include "widgets/button.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define WARN_NG LOG_STREAM(warn, log_engine) @@ -125,7 +123,7 @@ void part_ui::prepare_background() has_background_ = false; bool no_base_yet = true; - BOOST_FOREACH(const background_layer& bl, p_.get_background_layers()) { + for (const background_layer& bl : p_.get_background_layers()) { sdl::timage layer; if (!bl.file().empty()) { @@ -194,7 +192,7 @@ void part_ui::prepare_background() bool no_base_yet = true; // Build background surface - BOOST_FOREACH(const background_layer& bl, p_.get_background_layers()) { + for (const background_layer& bl : p_.get_background_layers()) { surface layer; if(bl.file().empty() != true) { @@ -303,7 +301,7 @@ void part_ui::prepare_geometry() void part_ui::prepare_floating_images() { // Build floating image surfaces - BOOST_FOREACH(const floating_image& fi, p_.get_floating_images()) { + for (const floating_image& fi : p_.get_floating_images()) { imgs_.push_back( fi.get_render_input(x_scale_factor_, y_scale_factor_, base_rect_) ); } } @@ -326,7 +324,7 @@ bool part_ui::render_floating_images() last_key_ = true; size_t fi_n = 0; - BOOST_FOREACH(floating_image::render_input& ri, imgs_) { + for (floating_image::render_input& ri : imgs_) { const floating_image& fi = p_.get_floating_images()[fi_n]; if(!ri.image.null()) { @@ -356,7 +354,7 @@ bool part_ui::render_floating_images() last_key_ = true; size_t fi_n = 0; - BOOST_FOREACH(floating_image::render_input& ri, imgs_) { + for (floating_image::render_input& ri : imgs_) { const floating_image& fi = p_.get_floating_images()[fi_n]; if(!ri.image.null()) { diff --git a/src/synced_commands.cpp b/src/synced_commands.cpp index ed7bc64aaae5..a97e4fc85edc 100644 --- a/src/synced_commands.cpp +++ b/src/synced_commands.cpp @@ -37,8 +37,6 @@ #include "units/types.hpp" #include "units/udisplay.hpp" -#include - static lg::log_domain log_replay("replay"); #define DBG_REPLAY LOG_STREAM(debug, log_replay) #define LOG_REPLAY LOG_STREAM(info, log_replay) @@ -425,7 +423,7 @@ SYNCED_COMMAND_HANDLER_FUNCTION(debug_unit, child, use_undo, /*show*/, /*error_ i->write(cfg); resources::units->erase(loc); config& statuses = cfg.child_or_add("status"); - BOOST_FOREACH(std::string status, utils::split(value)) { + for (std::string status : utils::split(value)) { bool add = true; if (status.length() >= 1 && status[0] == '-') { add = false; diff --git a/src/synced_user_choice.cpp b/src/synced_user_choice.cpp index 8eee22c0e18f..8f34aa75fc0e 100644 --- a/src/synced_user_choice.cpp +++ b/src/synced_user_choice.cpp @@ -26,7 +26,6 @@ #include "replay.hpp" #include "resources.hpp" #include "gui/dialogs/multiplayer/synced_choice_wait.hpp" -#include #include #include #include @@ -120,7 +119,7 @@ std::map mp_sync::get_user_choice_multiple_sides(const std::string & for empty sides we want to use random choice instead. */ std::set empty_sides; - BOOST_FOREACH(int side, sides) + for(int side : sides) { assert(1 <= side && side <= max_side); if( (*resources::teams)[side-1].is_empty()) @@ -129,14 +128,14 @@ std::map mp_sync::get_user_choice_multiple_sides(const std::string & } } - BOOST_FOREACH(int side, empty_sides) + for(int side : empty_sides) { sides.erase(side); } std::map retv = user_choice_manager::get_user_choice_internal(name, uch, sides); - BOOST_FOREACH(int side, empty_sides) + for(int side : empty_sides) { retv[side] = uch.random_choice(side); } @@ -238,7 +237,7 @@ user_choice_manager::user_choice_manager(const std::string &name, const mp_sync: update_local_choice(); const int max_side = static_cast(resources::teams->size()); - BOOST_FOREACH(int side, required_) + for(int side : required_) { assert(1 <= side && side <= max_side); const team& t = (*resources::teams)[side-1]; @@ -312,7 +311,7 @@ void user_choice_manager::update_local_choice() local_choice_ = 0; //if for any side from which we need an answer std::string sides_str; - BOOST_FOREACH(int side, required_) + for(int side : required_) { //and we havent already received our answer from that side if(res_.find(side) == res_.end()) @@ -366,7 +365,7 @@ void user_choice_manager::fix_oos() { assert(oos_); ERR_REPLAY << "A sync error appeared while waiting for a synced user choice of type '" << uch_.description() << "' ([" + tagname_ + "]), doing the choice locally\n"; - BOOST_FOREACH(int side, required_) + for(int side : required_) { if(res_.find(side) == res_.end()) { diff --git a/src/syncmp_handler.cpp b/src/syncmp_handler.cpp index a8e5847c51e4..b716b8bee0b1 100644 --- a/src/syncmp_handler.cpp +++ b/src/syncmp_handler.cpp @@ -16,8 +16,6 @@ #include #include -#include - syncmp_handler::syncmp_handler() { syncmp_registry::add_handler(this); @@ -51,7 +49,7 @@ void syncmp_registry::add_handler(syncmp_handler* handler) void syncmp_registry::pull_remote_choice() { - BOOST_FOREACH(syncmp_handler* phandler, handlers()) + for(syncmp_handler* phandler : handlers()) { phandler->pull_remote_choice(); } @@ -59,7 +57,7 @@ void syncmp_registry::pull_remote_choice() void syncmp_registry::send_user_choice() { - BOOST_FOREACH(syncmp_handler* phandler, handlers()) + for(syncmp_handler* phandler : handlers()) { phandler->send_user_choice(); } diff --git a/src/team.cpp b/src/team.cpp index 39210e86bae1..db094951ba06 100644 --- a/src/team.cpp +++ b/src/team.cpp @@ -36,8 +36,6 @@ #include "config_assign.hpp" #include "serialization/string_utils.hpp" -#include - static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) @@ -333,7 +331,7 @@ void team::build(const config &cfg, const gamemap& map, int gold) // Was it correct? // Load in the villages the side controls at the start - BOOST_FOREACH(const config &v, cfg.child_range("village")) + for (const config &v : cfg.child_range("village")) { map_location loc(v); if (map.is_village(loc)) { @@ -421,7 +419,7 @@ int team::minimum_recruit_price() const return info_.minimum_recruit_price; }else{ int min = 20; - BOOST_FOREACH(std::string recruit, info_.can_recruit){ + for(std::string recruit : info_.can_recruit) { const unit_type *ut = unit_types.find(recruit); if(!ut) continue; @@ -734,7 +732,7 @@ bool team::shroud_map::shared_value(const std::vector& maps, return true; // A tile is uncovered if it is uncovered on any shared map. - BOOST_FOREACH(const shroud_map * const shared_map, maps) { + for (const shroud_map * const shared_map : maps) { if ( shared_map->enabled_ && !shared_map->value(x,y) ) return false; } @@ -878,7 +876,7 @@ config team::to_config() const std::string team::allied_human_teams() const { std::vector res; - BOOST_FOREACH(const team& t, *teams) + for(const team& t : *teams) { if(!t.is_enemy(this->side()) && t.is_human()) { res.push_back(t.side()); diff --git a/src/teambuilder.cpp b/src/teambuilder.cpp index 4cdef76e2ac3..5ffab18aec35 100644 --- a/src/teambuilder.cpp +++ b/src/teambuilder.cpp @@ -26,7 +26,6 @@ #include "game_errors.hpp" #include "formula/string_utils.hpp" -#include #include #include @@ -181,7 +180,7 @@ class team_builder { // can be recruited for the player, add them. if (!side_cfg_) return; if (const config::attribute_value *v = side_cfg_.get("previous_recruits")) { - BOOST_FOREACH(const std::string &rec, utils::split(*v)) { + for (const std::string &rec : utils::split(*v)) { DBG_NG_TC << "adding previous recruit: " << rec << '\n'; t_->add_recruit(rec); } @@ -235,7 +234,7 @@ class team_builder { config & stored = leader_configs_.back(); // Remove the attributes used to define a side. - BOOST_FOREACH( const std::string & attr , team::attributes) { + for (const std::string & attr : team::attributes) { stored.remove_attribute(attr); } @@ -261,7 +260,7 @@ class team_builder { if (side_cfg_.has_attribute("type") && side_cfg_["type"] != "null" ) { handle_leader(side_cfg_); } - BOOST_FOREACH(const config &l, side_cfg_.child_range("leader")) { + for (const config &l : side_cfg_.child_range("leader")) { handle_leader(l); } } @@ -276,7 +275,7 @@ class team_builder { //for create-or-recall semantics to work: for each unit with non-empty //id, unconditionally put OTHER, later, units with same id directly to //recall list, not including them in unit_configs_ - BOOST_FOREACH(const config &su, side_cfg_.child_range("unit")) { + for (const config &su : side_cfg_.child_range("unit")) { handle_unit(su, "side_cfg"); } } @@ -294,7 +293,7 @@ class team_builder { .allow_rename_side(true) .allow_show(false); - BOOST_FOREACH(const config *u, unit_configs_) { + for (const config *u : unit_configs_) { uc.add_unit(*u); } } diff --git a/src/terrain/builder.cpp b/src/terrain/builder.cpp index acca2d1c0e0b..8be1d4aef55e 100644 --- a/src/terrain/builder.cpp +++ b/src/terrain/builder.cpp @@ -26,8 +26,6 @@ #include "serialization/string_utils.hpp" #include "gui/dialogs/loadscreen.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define WRN_NG LOG_STREAM(warn, log_engine) @@ -121,16 +119,16 @@ void terrain_builder::tile::rebuild_cache(const std::string& tod, logs* log) sorted_images = true; } - BOOST_FOREACH(const rule_image_rand& ri, images){ + for(const rule_image_rand& ri : images) { bool is_background = ri->is_background(); bool animate = (!ri.ri->is_water || preferences::animate_water()); imagelist& img_list = is_background ? images_background : images_foreground; - BOOST_FOREACH(const rule_image_variant& variant, ri->variants){ + for(const rule_image_variant& variant : ri->variants) { if(!variant.has_flag.empty()) { bool has_flag_match = true; - BOOST_FOREACH(const std::string& s, variant.has_flag) { + for(const std::string& s : variant.has_flag) { // If a flag listed in "has_flag" is not present, this variant does not match if(flags.find(s) == flags.end()) { has_flag_match = false; @@ -337,12 +335,12 @@ bool terrain_builder::update_animation(const map_location &loc) tile& btile = tile_map_[loc]; - BOOST_FOREACH(animated& a, btile.images_background) { + for(animated& a : btile.images_background) { if(a.need_update()) changed = true; a.update_last_draw_time(); } - BOOST_FOREACH(animated& a, btile.images_foreground) { + for(animated& a : btile.images_foreground) { if(a.need_update()) changed = true; a.update_last_draw_time(); @@ -419,7 +417,7 @@ static std::vector get_variations(const std::string& base, const st } std::vector vars = utils::split(variations, ';', 0); - BOOST_FOREACH(const std::string& v, vars){ + for (const std::string& v : vars) { res.push_back(base); std::string::size_type pos = 0; while ((pos = res.back().find("@V", pos)) != std::string::npos) { @@ -438,21 +436,21 @@ bool terrain_builder::load_images(building_rule &rule) // Parse images and animations data // If one is not valid, return false. - BOOST_FOREACH(terrain_constraint &constraint, rule.constraints) + for(terrain_constraint &constraint : rule.constraints) { - BOOST_FOREACH(rule_image& ri, constraint.images) + for(rule_image& ri : constraint.images) { - BOOST_FOREACH(rule_image_variant& variant, ri.variants) + for(rule_image_variant& variant : ri.variants) { std::vector var_strings = get_variations(variant.image_string, variant.variations); - BOOST_FOREACH(const std::string& var, var_strings) + for(const std::string& var : var_strings) { /** @todo improve this, 99% of terrains are not animated. */ std::vector frames = utils::square_parenthetical_split(var,','); animated res; - BOOST_FOREACH(const std::string& frame, frames) + for(const std::string& frame : frames) { const std::vector items = utils::split(frame, ':'); const std::string& str = items.front(); @@ -592,7 +590,7 @@ void terrain_builder::replace_rotate_tokens(std::string &s, int angle, void terrain_builder::replace_rotate_tokens(rule_image &image, int angle, const std::vector &replacement) { - BOOST_FOREACH(rule_image_variant& variant, image.variants) { + for(rule_image_variant& variant : image.variants) { replace_rotate_tokens(variant, angle, replacement); } } @@ -600,7 +598,7 @@ void terrain_builder::replace_rotate_tokens(rule_image &image, int angle, void terrain_builder::replace_rotate_tokens(rule_imagelist &list, int angle, const std::vector &replacement) { - BOOST_FOREACH(rule_image &img, list) { + for(rule_image &img : list) { replace_rotate_tokens(img, angle, replacement); } } @@ -608,16 +606,16 @@ void terrain_builder::replace_rotate_tokens(rule_imagelist &list, int angle, void terrain_builder::replace_rotate_tokens(building_rule &rule, int angle, const std::vector &replacement) { - BOOST_FOREACH(terrain_constraint &cons, rule.constraints) + for(terrain_constraint &cons : rule.constraints) { // Transforms attributes - BOOST_FOREACH(std::string &flag, cons.set_flag) { + for(std::string &flag : cons.set_flag) { replace_rotate_tokens(flag, angle, replacement); } - BOOST_FOREACH(std::string &flag, cons.no_flag) { + for(std::string &flag : cons.no_flag) { replace_rotate_tokens(flag, angle, replacement); } - BOOST_FOREACH(std::string &flag, cons.has_flag) { + for(std::string &flag : cons.has_flag) { replace_rotate_tokens(flag, angle, replacement); } replace_rotate_tokens(cons.images, angle, replacement); @@ -634,7 +632,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, return; } - BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { + for(terrain_constraint &cons : ret.constraints) { rotate(cons, angle); } @@ -642,7 +640,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, int minx = INT_MAX; int miny = INT_MAX; - BOOST_FOREACH(const terrain_constraint &cons, ret.constraints) { + for(const terrain_constraint &cons : ret.constraints) { minx = std::min(cons.loc.x, minx); miny = std::min(2 * cons.loc.y + (cons.loc.x & 1), miny); } @@ -652,7 +650,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, if(!(miny & 1) && (minx & 1) && (minx > 0)) miny -= 2; - BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { + for(terrain_constraint &cons : ret.constraints) { legacy_sum_assign(cons.loc,map_location(-minx, -((miny - 1) / 2))); } @@ -678,7 +676,7 @@ terrain_builder::rule_image_variant::rule_image_variant(const std::string &image void terrain_builder::add_images_from_config(rule_imagelist& images, const config &cfg, bool global, int dx, int dy) { - BOOST_FOREACH(const config &img, cfg.child_range("image")) + for (const config &img : cfg.child_range("image")) { int layer = img["layer"]; @@ -705,7 +703,7 @@ void terrain_builder::add_images_from_config(rule_imagelist& images, const confi images.push_back(rule_image(layer, basex - dx, basey - dy, global, center_x, center_y, is_water)); // Adds the other variants of the image - BOOST_FOREACH(const config &variant, img.child_range("variant")) + for(const config &variant : img.child_range("variant")) { const std::string &name = variant["name"]; const std::string &variations = img["variations"]; @@ -731,7 +729,7 @@ terrain_builder::terrain_constraint &terrain_builder::add_constraints( const t_translation::t_match& type, const config& global_images) { terrain_constraint *cons = nullptr; - BOOST_FOREACH(terrain_constraint &c, constraints) { + for (terrain_constraint &c : constraints) { if (c.loc == loc) { cons = &c; break; @@ -872,7 +870,7 @@ void terrain_builder::parse_config(const config &cfg, bool local) int n = 0; // Parses the list of building rules (BRs) - BOOST_FOREACH(const config &br, cfg.child_range("terrain_graphics")) + for(const config &br : cfg.child_range("terrain_graphics")) { building_rule pbr; // Parsed Building rule pbr.local = local; @@ -894,7 +892,7 @@ void terrain_builder::parse_config(const config &cfg, bool local) parse_mapstring(br["map"], pbr, anchors, br); // Parses the terrain constraints (TCs) - BOOST_FOREACH(const config &tc, br.child_range("tile")) + for (const config &tc : br.child_range("tile")) { // Adds the terrain constraint to the current built terrain's list // of terrain constraints, if it does not exist. @@ -930,7 +928,7 @@ void terrain_builder::parse_config(const config &cfg, bool local) const std::vector global_has_flag = utils::split(br["has_flag"]); const std::vector global_set_no_flag = utils::split(br["set_no_flag"]); - BOOST_FOREACH(terrain_constraint &constraint, pbr.constraints) + for(terrain_constraint &constraint : pbr.constraints) { constraint.set_flag.insert(constraint.set_flag.end(), global_set_flag.begin(), global_set_flag.end()); @@ -1035,7 +1033,7 @@ bool terrain_builder::rule_matches(const terrain_builder::building_rule &rule, } } - BOOST_FOREACH(const terrain_constraint &cons, rule.constraints) + for(const terrain_constraint &cons : rule.constraints) { // Translated location const map_location tloc = legacy_sum(loc,cons.loc); @@ -1053,13 +1051,13 @@ bool terrain_builder::rule_matches(const terrain_builder::building_rule &rule, const std::set &flags = tile_map_[tloc].flags; - BOOST_FOREACH(const std::string &s, cons.no_flag) { + for (const std::string &s : cons.no_flag) { // If a flag listed in "no_flag" is present, the rule does not match if (flags.find(s) != flags.end()) { return false; } } - BOOST_FOREACH(const std::string &s, cons.has_flag) { + for (const std::string &s : cons.has_flag) { // If a flag listed in "has_flag" is not present, this rule does not match if (flags.find(s) == flags.end()) { return false; @@ -1074,7 +1072,7 @@ void terrain_builder::apply_rule(const terrain_builder::building_rule &rule, con { unsigned int rand_seed = get_noise(loc, rule.get_hash()); - BOOST_FOREACH(const terrain_constraint &constraint, rule.constraints) + for(const terrain_constraint &constraint : rule.constraints) { const map_location tloc = legacy_sum(loc,constraint.loc); if(!tile_map_.on_map(tloc)) { @@ -1084,13 +1082,13 @@ void terrain_builder::apply_rule(const terrain_builder::building_rule &rule, con tile& btile = tile_map_[tloc]; if (!constraint.no_draw) { - BOOST_FOREACH(const rule_image &img, constraint.images) { + for (const rule_image &img : constraint.images) { btile.images.push_back(tile::rule_image_rand(&img, rand_seed)); } } // Sets flags - BOOST_FOREACH(const std::string &flag, constraint.set_flag) { + for (const std::string &flag : constraint.set_flag) { btile.flags.insert(flag); } @@ -1113,9 +1111,9 @@ unsigned int terrain_builder::building_rule::get_hash() const if(hash_ != DUMMY_HASH) return hash_; - BOOST_FOREACH(const terrain_constraint &constraint, constraints) { - BOOST_FOREACH(const rule_image& ri, constraint.images) { - BOOST_FOREACH(const rule_image_variant& variant, ri.variants) { + for(const terrain_constraint &constraint : constraints) { + for(const rule_image& ri : constraint.images) { + for(const rule_image_variant& variant : ri.variants) { // we will often hash the same string, but that seems fast enough hash_ += hash_str(variant.image_string); } @@ -1143,7 +1141,7 @@ void terrain_builder::build_terrains() } } - BOOST_FOREACH(const building_rule &rule, building_rules_) + for(const building_rule &rule : building_rules_) { // Find the constraint that contains the less terrain of all terrain rules. // We will keep a track of the matching terrains of this constraint @@ -1152,7 +1150,7 @@ void terrain_builder::build_terrains() t_translation::t_list min_types = t_translation::t_list(); // <-- This must be explicitly initialized, just as min_constraint is, at start of loop, or we get a null pointer dereference when we go through on later times. const terrain_constraint *min_constraint = nullptr; - BOOST_FOREACH(const terrain_constraint &constraint, rule.constraints) + for(const terrain_constraint &constraint : rule.constraints) { const t_translation::t_match& match = constraint.terrain_types_match; t_translation::t_list matching_types; diff --git a/src/terrain/filter.cpp b/src/terrain/filter.cpp index 12ad44b7d244..cbd2e3db6765 100644 --- a/src/terrain/filter.cpp +++ b/src/terrain/filter.cpp @@ -33,8 +33,6 @@ #include "formula/callable_objects.hpp" #include "formula/formula.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define WRN_NG LOG_STREAM(warn, log_engine) @@ -148,7 +146,7 @@ bool terrain_filter::match_internal(const map_location& loc, const bool ignore_x variable_access_const vi = gd->get_variable_access_read(cfg_["find_in"]); bool found = false; - BOOST_FOREACH(const config &cfg, vi.as_array()) { + for (const config &cfg : vi.as_array()) { if (map_location(cfg, nullptr) == loc) { found = true; break; @@ -187,7 +185,7 @@ bool terrain_filter::match_internal(const map_location& loc, const bool ignore_x std::vector sides = ssf.get_teams(); bool found = false; - BOOST_FOREACH(const int side, sides) { + for (const int side : sides) { const team &viewing_team = fc_->get_disp_context().teams().at(side - 1); bool viewer_sees = respect_fog ? !viewing_team.fogged(loc) : !viewing_team.shrouded(loc); if (visible == viewer_sees) { @@ -312,7 +310,7 @@ bool terrain_filter::match_internal(const map_location& loc, const bool ignore_x bool found = false; if(sides.empty() && fc_->get_disp_context().village_owner(loc) == -1) found = true; - BOOST_FOREACH(const int side, sides) { + for(const int side : sides) { if(fc_->get_disp_context().teams().at(side - 1).owns_village(loc)) { found = true; break; @@ -461,7 +459,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde try { variable_access_const vi = gd->get_variable_access_read(cfg_["find_in"]); - BOOST_FOREACH(const config& cfg, vi.as_array()) + for (const config& cfg : vi.as_array()) { map_location test_loc(cfg, nullptr); match_set.insert(test_loc); @@ -498,7 +496,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde { std::set findin_locs; variable_access_const vi = gd->get_variable_access_read(cfg_["find_in"]); - BOOST_FOREACH(const config& cfg, vi.as_array()) + for (const config& cfg : vi.as_array()) { map_location test_loc(cfg, nullptr); if (match_set.count(test_loc)) { @@ -523,7 +521,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde xy_vector = fc_->get_disp_context().map().parse_location_range(cfg_["x"], cfg_["y"], with_border); const std::set& area = fc_->get_tod_man().get_area_by_id(cfg_["area"]); - BOOST_FOREACH(const map_location& loc, xy_vector) { + for (const map_location& loc : xy_vector) { if (area.count(loc) != 0) match_set.insert(loc); } @@ -542,7 +540,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde try { variable_access_const vi = gd->get_variable_access_read(cfg_["find_in"]); - BOOST_FOREACH(const config& cfg, vi.as_array()) + for (const config& cfg : vi.as_array()) { map_location test_loc(cfg, nullptr); if (area.count(test_loc) != 0) @@ -573,7 +571,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde { variable_access_const vi = gd->get_variable_access_read(cfg_["find_in"]); - BOOST_FOREACH(const config &cfg, vi.as_array()) { + for (const config &cfg : vi.as_array()) { map_location test_loc(cfg, nullptr); if (area.count(test_loc) != 0 && xy_set.count(test_loc) != 0) match_set.insert(test_loc); diff --git a/src/terrain/terrain.cpp b/src/terrain/terrain.cpp index 91a750e12597..38cafe18caec 100644 --- a/src/terrain/terrain.cpp +++ b/src/terrain/terrain.cpp @@ -20,8 +20,6 @@ #include "terrain/terrain.hpp" #include "util.hpp" -#include - #include static lg::log_domain log_config("config"); @@ -319,7 +317,7 @@ void create_terrain_maps(const config::const_child_itors &cfgs, t_translation::t_list& terrain_list, std::map& letter_to_terrain) { - BOOST_FOREACH(const config &t, cfgs) + for (const config &t : cfgs) { terrain_type terrain(t); DBG_G << "create_terrain_maps: " << terrain.number() << " " @@ -336,10 +334,12 @@ void create_terrain_maps(const config::const_child_itors &cfgs, std::vector eg2 = utils::split(terrain.editor_group()); std::set egs; bool clean_merge = true; - BOOST_FOREACH(std::string& t, eg1) + for (std::string& t : eg1) { clean_merge &= egs.insert(t).second; - BOOST_FOREACH(std::string& t, eg2) + } + for (std::string& t : eg2) { clean_merge &= egs.insert(t).second; + } std::string joined = utils::join(egs); curr.set_editor_group(joined); diff --git a/src/tests/create_images.cpp b/src/tests/create_images.cpp index 2cc22056287f..0c855eaf2128 100644 --- a/src/tests/create_images.cpp +++ b/src/tests/create_images.cpp @@ -24,7 +24,6 @@ #include #include -#include #include diff --git a/src/tests/gui/test_gui2.cpp b/src/tests/gui/test_gui2.cpp index 79c073b03303..e8e3b969c672 100644 --- a/src/tests/gui/test_gui2.cpp +++ b/src/tests/gui/test_gui2.cpp @@ -89,7 +89,6 @@ #include "wml_exception.hpp" #include -#include #include @@ -158,7 +157,7 @@ namespace { template void test_resolutions(const tresolution_list& resolutions) { - BOOST_FOREACH(const tresolution& resolution, resolutions) { + for(const tresolution& resolution : resolutions) { CVideo& video = test_utils::get_fake_display(resolution.first, resolution.second).video(); boost::scoped_ptr dlg(twrapper::create()); @@ -196,7 +195,7 @@ namespace { { bool interact = false; for(int i = 0; i < 2; ++i) { - BOOST_FOREACH(const tresolution& resolution, resolutions) { + for(const tresolution& resolution : resolutions) { CVideo& video = test_utils::get_fake_display(resolution.first, resolution.second).video(); boost::scoped_ptr dlg(twrapper::create()); @@ -242,7 +241,7 @@ namespace { void test_tip_resolutions(const tresolution_list& resolutions , const std::string& id) { - BOOST_FOREACH(const tresolution& resolution, resolutions) { + for(const tresolution& resolution : resolutions) { //CVideo& video = test_utils::get_fake_display(resolution.first, resolution.second).video(); @@ -483,7 +482,7 @@ BOOST_AUTO_TEST_CASE(test_gui2) // Test size() instead of empty() to get the number of offenders BOOST_CHECK_EQUAL(list.size(), 0); - BOOST_FOREACH(const std::string& id, list) { + for(const std::string& id : list) { std::cerr << "Window '" << id << "' registered but not tested.\n"; } } @@ -858,7 +857,7 @@ struct twrapper BOOST_REQUIRE_MESSAGE(result, "Failed to create a dialog."); std::vector map_generators; - BOOST_FOREACH(const config &i, main_config.child_range("multiplayer")) { + for(const config &i : main_config.child_range("multiplayer")) { if(i["scenario_generation"] == "default") { const config &generator_cfg = i.child("generator"); if (generator_cfg) { diff --git a/src/tests/test_addons.cpp b/src/tests/test_addons.cpp index 51e12035d383..10de8ff1b722 100644 --- a/src/tests/test_addons.cpp +++ b/src/tests/test_addons.cpp @@ -18,8 +18,6 @@ #include "addon/validation.hpp" -#include - BOOST_AUTO_TEST_SUITE( addons ) BOOST_AUTO_TEST_CASE( validation ) @@ -78,7 +76,7 @@ BOOST_AUTO_TEST_CASE( encoding ) // There is no test for \x00 here because \x00 really shouldn't occur in // a string -- otherwise things get weird. // - BOOST_FOREACH(const char c, raw) + for(const char c : raw) { if(c == bin_escape || bin_special.find(c) != std::string::npos) { encoded += bin_escape; diff --git a/src/tests/test_config.cpp b/src/tests/test_config.cpp index d51dc2f26aee..0f5da3acbb2a 100644 --- a/src/tests/test_config.cpp +++ b/src/tests/test_config.cpp @@ -15,7 +15,6 @@ #define GETTEXT_DOMAIN "wesnoth-test" #include -#include #include #include "config.hpp" @@ -260,7 +259,7 @@ BOOST_AUTO_TEST_CASE ( test_variable_info ) BOOST_CHECK_EQUAL (variable_access_const("tag1[1].tag2.length", nonempty).as_scalar(), 3); BOOST_CHECK_EQUAL (variable_access_const("tag1[1].tag2[2].atribute1", nonempty).as_scalar().to_int(), 88); int count = 0; - BOOST_FOREACH(const config& child, variable_access_const("tag1", nonempty).as_array()) + for(const config& child : variable_access_const("tag1", nonempty).as_array()) { //silences unused variable warning. UNUSED(child); @@ -268,7 +267,7 @@ BOOST_AUTO_TEST_CASE ( test_variable_info ) } BOOST_CHECK_EQUAL (count, 3); count = 0; - BOOST_FOREACH(const config& child, variable_access_const("tag1.tag2", nonempty).as_array()) + for(const config& child : variable_access_const("tag1.tag2", nonempty).as_array()) { //silences unused variable warning. UNUSED(child); @@ -277,7 +276,7 @@ BOOST_AUTO_TEST_CASE ( test_variable_info ) BOOST_CHECK_EQUAL (count, 0); count = 0; // explicit indexes as range always return a one element range, whether they exist or not. - BOOST_FOREACH(const config& child, variable_access_const("tag1.tag2[5]", nonempty).as_array()) + for(const config& child : variable_access_const("tag1.tag2[5]", nonempty).as_array()) { //silences unused variable warning. UNUSED(child); diff --git a/src/tests/test_filesystem.cpp b/src/tests/test_filesystem.cpp index bba7cc2260ae..ee6f17801809 100644 --- a/src/tests/test_filesystem.cpp +++ b/src/tests/test_filesystem.cpp @@ -16,8 +16,6 @@ #include "filesystem.hpp" #include "game_config.hpp" -#include - #if 0 namespace { @@ -107,11 +105,11 @@ BOOST_AUTO_TEST_CASE( test_fs_enum ) std::vector files, dirs; std::vector expected_filepaths, expected_dirpaths; - BOOST_FOREACH(const std::string& n, expected_filenames) { + for(const std::string& n : expected_filenames) { expected_filepaths.push_back(gamedata + "/" + path + "/" + n); } - BOOST_FOREACH(const std::string& n, expected_dirnames) { + for(const std::string& n : expected_dirnames) { expected_dirpaths.push_back(gamedata + "/" + path + "/" + n); } diff --git a/src/tests/test_mp_connect.cpp b/src/tests/test_mp_connect.cpp index 33820583f8a5..f480df891d43 100644 --- a/src/tests/test_mp_connect.cpp +++ b/src/tests/test_mp_connect.cpp @@ -25,7 +25,6 @@ #include "saved_game.hpp" #include "tests/utils/fake_display.hpp" -#include #include #include diff --git a/src/tests/test_whiteboard_side_actions.cpp b/src/tests/test_whiteboard_side_actions.cpp index 9ccd3f3d89b2..c6b6276031ec 100644 --- a/src/tests/test_whiteboard_side_actions.cpp +++ b/src/tests/test_whiteboard_side_actions.cpp @@ -20,7 +20,6 @@ #include "whiteboard/visitor.hpp" #include -#include using namespace wb; @@ -61,7 +60,7 @@ BOOST_AUTO_TEST_CASE( test_insertion ) BOOST_REQUIRE(sac.num_turns() == 1); int tmp=0; - BOOST_FOREACH(action_ptr act, sac){ + for(action_ptr act : sac) { ++tmp; BOOST_REQUIRE(dact = boost::dynamic_pointer_cast(act)); BOOST_REQUIRE(dact->id_ == tmp); @@ -82,7 +81,7 @@ BOOST_AUTO_TEST_CASE( test_insertion ) BOOST_REQUIRE(sac.num_turns() == 3); tmp=0; - BOOST_FOREACH(action_ptr act, sac){ + for(action_ptr act : sac) { ++tmp; BOOST_REQUIRE(dact = boost::dynamic_pointer_cast(act)); BOOST_REQUIRE(dact->id_ == tmp); diff --git a/src/text.cpp b/src/text.cpp index a75bc0f23c4e..14afd944445b 100644 --- a/src/text.cpp +++ b/src/text.cpp @@ -26,8 +26,6 @@ #include "tstring.hpp" #include "preferences.hpp" -#include - #include #include @@ -73,7 +71,7 @@ static bool looks_like_url(const std::string & token); std::string escape_text(const std::string& text) { std::string result; - BOOST_FOREACH(const char c, text) { + for(const char c : text) { switch(c) { case '&': result += "&"; break; case '<': result += "<"; break; @@ -870,7 +868,7 @@ bool ttext::set_markup_helper(const std::string& text) * with the escaped version. */ std::string semi_escaped; - BOOST_FOREACH(const char c, text) { + for(const char c : text) { if(c == '&') { semi_escaped += "&"; } else { diff --git a/src/time_of_day.cpp b/src/time_of_day.cpp index 2c7b70c348c3..c53b273be526 100644 --- a/src/time_of_day.cpp +++ b/src/time_of_day.cpp @@ -18,8 +18,6 @@ #include "time_of_day.hpp" #include "gettext.hpp" -#include - std::ostream &operator<<(std::ostream &s, const tod_color& c){ s << c.r << "," << c.g << "," << c.b; return s; @@ -67,7 +65,7 @@ void time_of_day::write(config& cfg) const void time_of_day::parse_times(const config& cfg, std::vector& times) { - BOOST_FOREACH(const config &t, cfg.child_range("time")) { + for(const config &t : cfg.child_range("time")) { times.push_back(time_of_day(t)); } diff --git a/src/tod_manager.cpp b/src/tod_manager.cpp index 482c25cf5213..3dcb7d9589c2 100644 --- a/src/tod_manager.cpp +++ b/src/tod_manager.cpp @@ -29,7 +29,6 @@ #include "network.hpp" #include "config_assign.hpp" -#include #include #include #include @@ -314,7 +313,7 @@ void tod_manager::set_area_id(int area_index, const std::string& id) { std::vector tod_manager::get_area_ids() const { std::vector areas; - BOOST_FOREACH(const area_time_of_day& area, areas_) { + for (const area_time_of_day& area : areas_) { areas.push_back(area.id); } return areas; @@ -322,7 +321,7 @@ std::vector tod_manager::get_area_ids() const const std::set& tod_manager::get_area_by_id(const std::string& id) const { - BOOST_FOREACH(const area_time_of_day& area, areas_) { + for (const area_time_of_day& area : areas_) { if (area.id == id) return area.hexes; } @@ -451,7 +450,7 @@ void tod_manager::set_turn_by_wml(const int num, game_data* vars, const bool inc void tod_manager::set_new_current_times(const int new_current_turn_number) { set_current_time(calculate_current_time(times_.size(), new_current_turn_number, currentTime_)); - BOOST_FOREACH(area_time_of_day& area, areas_) { + for (area_time_of_day& area : areas_) { set_current_time(calculate_current_time( area.times.size(), new_current_turn_number, diff --git a/src/tools/exploder_cutter.cpp b/src/tools/exploder_cutter.cpp index e3dde551fa4c..e9f81ea4bf50 100644 --- a/src/tools/exploder_cutter.cpp +++ b/src/tools/exploder_cutter.cpp @@ -20,8 +20,6 @@ #include "serialization/string_utils.hpp" #include -#include - #include cutter::cutter() diff --git a/src/tools/schema/tag.cpp b/src/tools/schema/tag.cpp index fed276add047..e0a0646cb5a6 100644 --- a/src/tools/schema/tag.cpp +++ b/src/tools/schema/tag.cpp @@ -21,8 +21,6 @@ #include "config.hpp" -#include - namespace schema_validation{ /*WIKI @@ -82,15 +80,15 @@ class_tag::class_tag(const config & cfg) if (cfg.has_attribute("super")){ super_ = cfg["super"].str(); } - BOOST_FOREACH(const config &child, cfg.child_range("tag")) { + for (const config &child : cfg.child_range("tag")) { class_tag child_tag (child); add_tag(child_tag); } - BOOST_FOREACH(const config &child, cfg.child_range("key")) { + for (const config &child : cfg.child_range("key")) { class_key child_key (child); add_key(child_key); } - BOOST_FOREACH(const config &link, cfg.child_range("link")) { + for (const config &link : cfg.child_range("link")) { std::string link_name = link["name"].str(); add_link(link_name); } diff --git a/src/tools/sdl2/sdl2.cpp b/src/tools/sdl2/sdl2.cpp index da5ca0204540..e3ad2cb6a131 100644 --- a/src/tools/sdl2/sdl2.cpp +++ b/src/tools/sdl2/sdl2.cpp @@ -26,8 +26,6 @@ #include -#include - #include #include diff --git a/src/tooltips.cpp b/src/tooltips.cpp index 9d797f3bbf4a..1402505ad856 100644 --- a/src/tooltips.cpp +++ b/src/tooltips.cpp @@ -25,8 +25,6 @@ #include // Travis doesn't like this, although it works on my machine -> '#include -#include - namespace { CVideo* video_ = nullptr; diff --git a/src/tracer.cpp b/src/tracer.cpp index b307c6a6d55b..034e0699c6cd 100644 --- a/src/tracer.cpp +++ b/src/tracer.cpp @@ -14,8 +14,6 @@ #include "tracer.hpp" -#include - #include #include diff --git a/src/units/abilities.cpp b/src/units/abilities.cpp index 90be47c9d6aa..529185e052bc 100644 --- a/src/units/abilities.cpp +++ b/src/units/abilities.cpp @@ -28,8 +28,6 @@ #include "units/map.hpp" #include "filter_context.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -132,7 +130,7 @@ bool unit::get_ability_bool(const std::string& tag_name, const map_location& loc { assert(resources::teams); - BOOST_FOREACH(const config &i, this->abilities_.child_range(tag_name)) { + for (const config &i : this->abilities_.child_range(tag_name)) { if (ability_active(tag_name, i, loc) && ability_affects_self(tag_name, i, loc)) { @@ -154,7 +152,7 @@ bool unit::get_ability_bool(const std::string& tag_name, const map_location& loc // ourself. if ( &*it == this ) continue; - BOOST_FOREACH(const config &j, it->abilities_.child_range(tag_name)) { + for (const config &j : it->abilities_.child_range(tag_name)) { if (affects_side(j, *resources::teams, side(), it->side()) && it->ability_active(tag_name, j, adjacent[i]) && ability_affects_adjacent(tag_name, j, i, loc, *it)) @@ -173,7 +171,7 @@ unit_ability_list unit::get_abilities(const std::string& tag_name, const map_loc unit_ability_list res; - BOOST_FOREACH(const config &i, this->abilities_.child_range(tag_name)) { + for (const config &i : this->abilities_.child_range(tag_name)) { if (ability_active(tag_name, i, loc) && ability_affects_self(tag_name, i, loc)) { @@ -195,7 +193,7 @@ unit_ability_list unit::get_abilities(const std::string& tag_name, const map_loc // ourself. if ( &*it == this ) continue; - BOOST_FOREACH(const config &j, it->abilities_.child_range(tag_name)) { + for (const config &j : it->abilities_.child_range(tag_name)) { if (affects_side(j, *resources::teams, side(), it->side()) && it->ability_active(tag_name, j, adjacent[i]) && ability_affects_adjacent(tag_name, j, i, loc, *it)) @@ -213,7 +211,7 @@ std::vector unit::get_ability_list() const { std::vector res; - BOOST_FOREACH(const config::any_child &ab, this->abilities_.all_children_range()) { + for (const config::any_child &ab : this->abilities_.all_children_range()) { std::string const &id = ab.cfg["id"]; if (!id.empty()) res.push_back(id); @@ -266,7 +264,7 @@ std::vector > unit::ability_tooltips(st if ( active_list ) active_list->clear(); - BOOST_FOREACH(const config::any_child &ab, this->abilities_.all_children_range()) + for (const config::any_child &ab : this->abilities_.all_children_range()) { if ( !active_list || ability_active(ab.key, ab.cfg, loc_) ) { @@ -321,12 +319,12 @@ bool unit::ability_active(const std::string& ability,const config& cfg,const map get_adjacent_tiles(loc,adjacent); const unit_map& units = *resources::units; - BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent")) + for (const config &i : cfg.child_range("filter_adjacent")) { size_t count = 0; const unit_filter ufilt(vconfig(i), resources::filter_con, illuminates); std::vector dirs = map_location::parse_directions(i["adjacent"]); - BOOST_FOREACH(const map_location::DIRECTION index, dirs) + for (const map_location::DIRECTION index : dirs) { if (index == map_location::NDIRECTIONS) continue; @@ -351,14 +349,14 @@ bool unit::ability_active(const std::string& ability,const config& cfg,const map } } - BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent_location")) + for (const config &i : cfg.child_range("filter_adjacent_location")) { size_t count = 0; terrain_filter adj_filter(vconfig(i), resources::filter_con); adj_filter.flatten(illuminates); std::vector dirs = map_location::parse_directions(i["adjacent"]); - BOOST_FOREACH(const map_location::DIRECTION index, dirs) + for (const map_location::DIRECTION index : dirs) { if (index == map_location::NDIRECTIONS) { continue; @@ -389,7 +387,7 @@ bool unit::ability_affects_adjacent(const std::string& ability, const config& cf assert(dir >=0 && dir <= 5); map_location::DIRECTION direction = static_cast(dir); - BOOST_FOREACH(const config &i, cfg.child_range("affect_adjacent")) + for (const config &i : cfg.child_range("affect_adjacent")) { if (i.has_attribute("adjacent")) { //key adjacent defined std::vector dirs = map_location::parse_directions(i["adjacent"]); @@ -437,7 +435,7 @@ std::pair unit_ability_list::highest(const std::string& key, i int abs_max = 0; int flat = 0; int stack = 0; - BOOST_FOREACH(unit_ability const &p, cfgs_) + for (unit_ability const &p : cfgs_) { int value = (*p.first)[key].to_int(def); if ((*p.first)["cumulative"].to_bool()) { @@ -468,7 +466,7 @@ std::pair unit_ability_list::lowest(const std::string& key, in int abs_max = 0; int flat = 0; int stack = 0; - BOOST_FOREACH(unit_ability const &p, cfgs_) + for (unit_ability const &p : cfgs_) { int value = (*p.first)[key].to_int(def); if ((*p.first)["cumulative"].to_bool()) { @@ -530,7 +528,7 @@ namespace { */ bool get_special_children(std::vector& result, const config& parent, const std::string& id, bool just_peeking=false) { - BOOST_FOREACH(const config::any_child &sp, parent.all_children_range()) + for (const config::any_child &sp : parent.all_children_range()) { if (sp.key == id || sp.cfg["id"] == id) { if(just_peeking) { @@ -590,12 +588,12 @@ unit_ability_list attack_type::get_specials(const std::string& special) const { //log_scope("get_specials"); unit_ability_list res; - BOOST_FOREACH(const config &i, specials_.child_range(special)) { + for (const config &i : specials_.child_range(special)) { if ( special_active(i, AFFECT_SELF) ) res.push_back(unit_ability(&i, self_loc_)); } if (!other_attack_) return res; - BOOST_FOREACH(const config &i, other_attack_->specials_.child_range(special)) { + for (const config &i : other_attack_->specials_.child_range(special)) { if ( other_attack_->special_active(i, AFFECT_OTHER) ) res.push_back(unit_ability(&i, other_loc_)); } @@ -619,7 +617,7 @@ std::vector > attack_type::special_tooltips( if ( active_list ) active_list->clear(); - BOOST_FOREACH(const config::any_child &sp, specials_.all_children_range()) + for (const config::any_child &sp : specials_.all_children_range()) { if ( !active_list || special_active(sp.cfg, AFFECT_EITHER) ) { const t_string &name = sp.cfg["name"]; @@ -652,7 +650,7 @@ std::string attack_type::weapon_specials(bool only_active, bool is_backstab) con { //log_scope("weapon_specials"); std::string res; - BOOST_FOREACH(const config::any_child &sp, specials_.all_children_range()) + for (const config::any_child &sp : specials_.all_children_range()) { if ( only_active && !special_active(sp.cfg, AFFECT_EITHER, is_backstab) ) continue; @@ -924,12 +922,12 @@ bool attack_type::special_active(const config& special, AFFECTS whom, get_adjacent_tiles(self_loc_, adjacent); // Filter the adjacent units. - BOOST_FOREACH(const config &i, special.child_range("filter_adjacent")) + for (const config &i : special.child_range("filter_adjacent")) { size_t count = 0; std::vector dirs = map_location::parse_directions(i["adjacent"]); unit_filter filter(vconfig(i), resources::filter_con); - BOOST_FOREACH(const map_location::DIRECTION index, dirs) + for (const map_location::DIRECTION index : dirs) { if (index == map_location::NDIRECTIONS) continue; @@ -953,12 +951,12 @@ bool attack_type::special_active(const config& special, AFFECTS whom, } // Filter the adjacent locations. - BOOST_FOREACH(const config &i, special.child_range("filter_adjacent_location")) + for (const config &i : special.child_range("filter_adjacent_location")) { size_t count = 0; std::vector dirs = map_location::parse_directions(i["adjacent"]); terrain_filter adj_filter(vconfig(i), resources::filter_con); - BOOST_FOREACH(const map_location::DIRECTION index, dirs) + for (const map_location::DIRECTION index : dirs) { if (index == map_location::NDIRECTIONS) continue; @@ -1023,7 +1021,7 @@ effect::effect(const unit_ability_list& list, int def, bool backstab) : individual_effect set_effect; - BOOST_FOREACH (const unit_ability & ability, list) { + for (const unit_ability & ability : list) { const config& cfg = *ability.first; std::string const &effect_id = cfg[cfg["id"].empty() ? "name" : "id"]; diff --git a/src/units/animation.cpp b/src/units/animation.cpp index 7ef24bb870ee..22a6a9d4ea6a 100644 --- a/src/units/animation.cpp +++ b/src/units/animation.cpp @@ -27,8 +27,6 @@ #include "units/filter.hpp" #include "variable.hpp" -#include - #include struct tag_name_manager { @@ -81,7 +79,7 @@ struct animation_branch config merge() const { config result = attributes; - BOOST_FOREACH(const config::all_children_iterator &i, children) { + for (const config::all_children_iterator &i : children) { result.add_child(i->key, i->cfg); } return result; @@ -222,7 +220,7 @@ static void prepare_single_animation(const config &anim_cfg, animation_branches } if (ac.itors.first->key != "if") { // Append current config object to all the branches in scope. - BOOST_FOREACH(animation_branch &ab, ac.branches) { + for (animation_branch &ab : ac.branches) { ab.children.push_back(ac.itors.first); } ++ac.itors.first; @@ -243,9 +241,9 @@ static void prepare_single_animation(const config &anim_cfg, animation_branches } //debug - /*BOOST_FOREACH(animation_branch &ab, anim_cursors.back().branches) { + /*for (animation_branch &ab : anim_cursors.back().branches) { std::cout << "--branch--\n" << ab.attributes; - BOOST_FOREACH(config::all_children_iterator &ci, ab.children) { + for (config::all_children_iterator &ci : ab.children) { std::cout << "--branchcfg--\n" << ci->cfg; } std::cout << "\n"; @@ -261,7 +259,7 @@ static void prepare_single_animation(const config &anim_cfg, animation_branches static animation_branches prepare_animation(const config &cfg, const std::string &animation_tag) { animation_branches expanded_animations; - BOOST_FOREACH(const config &anim, cfg.child_range(animation_tag)) { + for (const config &anim : cfg.child_range(animation_tag)) { prepare_single_animation(anim, expanded_animations); } return expanded_animations; @@ -314,7 +312,7 @@ unit_animation::unit_animation(const config& cfg,const std::string& frame_string overlaped_hex_() { // if(!cfg["debug"].empty()) printf("DEBUG WML: FINAL\n%s\n\n",cfg.debug().c_str()); - BOOST_FOREACH(const config::any_child &fr, cfg.all_children_range()) + for (const config::any_child &fr : cfg.all_children_range()) { if (fr.key == frame_string) continue; if (fr.key.find("_frame", fr.key.size() - 6) == std::string::npos) continue; @@ -334,11 +332,11 @@ unit_animation::unit_animation(const config& cfg,const std::string& frame_string fc = resources::filter_con; //!< This is a pointer to the gamestate. Would prefer to tie unit animations only to the display, but for now this is an acceptable fallback. It seems to be relevant because when a second game is created, it seems that the game_display is null at the time that units are being constructed, and hence at the time that this code is running. A different solution might be to delay the team_builder stage 2 call until after the gui is initialized. Note that the current set up could concievably cause problems with the editor, iirc it doesn't initailize a filter context. assert(fc); }*/ - BOOST_FOREACH(const config &filter, cfg.child_range("filter")) { + for (const config &filter : cfg.child_range("filter")) { unit_filter_.push_back(filter); } - BOOST_FOREACH(const config &filter, cfg.child_range("filter_second")) { + for (const config &filter : cfg.child_range("filter_second")) { secondary_unit_filter_.push_back(filter); } @@ -366,10 +364,10 @@ unit_animation::unit_animation(const config& cfg,const std::string& frame_string for(value2=value2_str.begin() ; value2 != value2_str.end() ; ++value2) { value2_.push_back(atoi(value2->c_str())); } - BOOST_FOREACH(const config &filter, cfg.child_range("filter_attack")) { + for (const config &filter : cfg.child_range("filter_attack")) { primary_attack_filter_.push_back(filter); } - BOOST_FOREACH(const config &filter, cfg.child_range("filter_second_attack")) { + for (const config &filter : cfg.child_range("filter_second_attack")) { secondary_attack_filter_.push_back(filter); } play_offscreen_ = cfg["offscreen"].to_bool(true); @@ -418,7 +416,7 @@ int unit_animation::matches(const display &disp, const map_location& loc,const m if(!secondary_unit_filter_.empty()) { unit_map::const_iterator unit = disp.get_units().find(second_loc); if (unit.valid()) { - BOOST_FOREACH(const config &c , secondary_unit_filter_) { + for (const config &c : secondary_unit_filter_) { unit_filter f(vconfig(c), &disp); if (!f(*unit, second_loc)) return MATCH_FAIL; result++; @@ -603,7 +601,7 @@ static void add_simple_anim(std::vector &animations, display::tdrawing_layer layer = display::LAYER_UNIT_DEFAULT, bool offscreen = true) { - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, tag_name)) + for (const animation_branch &ab : prepare_animation(cfg, tag_name)) { config anim = ab.merge(); anim["apply_to"] = apply_to; @@ -619,7 +617,7 @@ static void add_simple_anim(std::vector &animations, void unit_animation::add_anims( std::vector & animations, const config & cfg) { - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "animation")) { + for (const animation_branch &ab : prepare_animation(cfg, "animation")) { animations.push_back(unit_animation(ab.merge())); } @@ -635,13 +633,13 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "levelin_anim", "levelin"); add_simple_anim(animations, cfg, "levelout_anim", "levelout"); - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "standing_anim")) { config anim = ab.merge(); anim["apply_to"] = "standing"; anim["cycles"] = "true"; // add cycles to all frames within a standing animation block - BOOST_FOREACH(config::all_children_iterator ci, ab.children) + for (config::all_children_iterator ci : ab.children) { std::string sub_frame_name = ci->key; size_t pos = sub_frame_name.find("_frame"); @@ -654,12 +652,12 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } // standing animations are also used as default animations - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "standing_anim")) { config anim = ab.merge(); anim["apply_to"] = "default"; anim["cycles"] = "true"; - BOOST_FOREACH(config::all_children_iterator ci, ab.children) + for (config::all_children_iterator ci : ab.children) { std::string sub_frame_name = ci->key; size_t pos = sub_frame_name.find("_frame"); @@ -671,7 +669,7 @@ void unit_animation::add_anims( std::vector & animations, const if (anim["offscreen"].empty()) anim["offscreen"] = false; animations.push_back(unit_animation(anim)); } - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healing_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "healing_anim")) { config anim = ab.merge(); anim["apply_to"] = "healing"; @@ -680,7 +678,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healed_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "healed_anim")) { config anim = ab.merge(); anim["apply_to"] = "healed"; @@ -697,7 +695,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.back().sub_anims_["_healed_sound"].add_frame(1,frame_builder().sound(healed_sound),true); } - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "poison_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "poison_anim")) { config anim = ab.merge(); anim["apply_to"] ="poisoned"; @@ -710,7 +708,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "pre_movement_anim", "pre_movement", display::LAYER_UNIT_MOVE_DEFAULT); - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "movement_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "movement_anim")) { config anim = ab.merge(); if (anim["offset"].empty()) { @@ -723,7 +721,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "post_movement_anim", "post_movement", display::LAYER_UNIT_MOVE_DEFAULT); - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "defend")) + for (const animation_branch &ab : prepare_animation(cfg, "defend")) { config anim = ab.merge(); anim["apply_to"] = "defend"; @@ -748,7 +746,7 @@ void unit_animation::add_anims( std::vector & animations, const else { std::vector v = utils::split(anim["hits"]); - BOOST_FOREACH(const std::string &hit_type, v) + for (const std::string &hit_type : v) { config tmp = anim; tmp["hits"] = hit_type; @@ -767,7 +765,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "draw_weapon_anim", "draw_weapon", display::LAYER_UNIT_MOVE_DEFAULT); add_simple_anim(animations, cfg, "sheath_weapon_anim", "sheath_weapon", display::LAYER_UNIT_MOVE_DEFAULT); - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "attack_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "attack_anim")) { config anim = ab.merge(); anim["apply_to"] = "attack"; @@ -788,7 +786,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "death")) + for (const animation_branch &ab : prepare_animation(cfg, "death")) { config anim = ab.merge(); anim["apply_to"] = "death"; @@ -808,7 +806,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "victory_anim", "victory"); - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "extra_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "extra_anim")) { config anim = ab.merge(); anim["apply_to"] = anim["flag"]; @@ -816,7 +814,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "teleport_anim")) + for (const animation_branch &ab : prepare_animation(cfg, "teleport_anim")) { config anim = ab.merge(); if (anim["layer"].empty()) anim["layer"] = default_layer; @@ -887,14 +885,14 @@ unit_animation::particule::particule( config::const_child_itors range = cfg.child_range(frame_string+"frame"); starting_frame_time_=INT_MAX; if(cfg[frame_string+"start_time"].empty() &&range.first != range.second) { - BOOST_FOREACH(const config &frame, range) { + for (const config &frame : range) { starting_frame_time_ = std::min(starting_frame_time_, frame["begin"].to_int()); } } else { starting_frame_time_ = cfg[frame_string+"start_time"]; } - BOOST_FOREACH(const config &frame, range) + for (const config &frame : range) { unit_frame tmp_frame(frame); add_frame(tmp_frame.duration(),tmp_frame,!tmp_frame.does_not_change()); @@ -1101,7 +1099,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim { std::cout << "["; int i=0; - BOOST_FOREACH(std::string event, u_animation.event_) { + for (std::string event : u_animation.event_) { if (i>0) std::cout << ','; i++; std::cout << event; } @@ -1112,7 +1110,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim if (u_animation.hits_.size() > 0) { std::cout << "\thits="; i=0; - BOOST_FOREACH(const unit_animation::hit_type hit_type, u_animation.hits_) { + for (const unit_animation::hit_type hit_type : u_animation.hits_) { if (i>0) std::cout << ','; i++; switch (hit_type) { case (unit_animation::HIT) : std::cout << "hit"; break; @@ -1126,7 +1124,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim if (u_animation.directions_.size() > 0) { std::cout << "\tdirections="; i=0; - BOOST_FOREACH(const map_location::DIRECTION direction, u_animation.directions_) { + for (const map_location::DIRECTION direction : u_animation.directions_) { if (i>0) std::cout << ','; i++; switch (direction) { case (map_location::NORTH) : std::cout << "n"; break; @@ -1143,7 +1141,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim if (u_animation.terrain_types_.size() > 0) { i=0; std::cout << "\tterrain="; - BOOST_FOREACH(const t_translation::t_terrain terrain, u_animation.terrain_types_) { + for (const t_translation::t_terrain terrain : u_animation.terrain_types_) { if (i>0) std::cout << ','; i++; std::cout << terrain; } @@ -1153,7 +1151,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim if (u_animation.unit_filter_.size() > 0) { std::cout << "[filter]\n"; - BOOST_FOREACH(const config & cfg, u_animation.unit_filter_) { + for (const config & cfg : u_animation.unit_filter_) { std::cout << cfg.debug(); } //std::cout << "TODO: create debugging output for unit filters"; @@ -1161,7 +1159,7 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim } if (u_animation.secondary_unit_filter_.size() > 0) { std::cout << "[filter_second]\n"; - BOOST_FOREACH(const config & cfg, u_animation.secondary_unit_filter_) { + for (const config & cfg : u_animation.secondary_unit_filter_) { std::cout << cfg.debug(); } //std::cout << "TODO: create debugging output for unit filters"; @@ -1169,14 +1167,14 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim } if (u_animation.primary_attack_filter_.size() > 0) { std::cout << "[filter_attack]\n"; - BOOST_FOREACH(const config cfg, u_animation.primary_attack_filter_) { + for (const config cfg : u_animation.primary_attack_filter_) { std::cout << cfg.debug(); } std::cout << "[/filter_attack]\n"; } if (u_animation.secondary_attack_filter_.size() > 0) { std::cout << "[filter_second_attack]\n"; - BOOST_FOREACH(const config cfg, u_animation.secondary_attack_filter_) { + for (const config cfg : u_animation.secondary_attack_filter_) { std::cout << cfg.debug(); } std::cout << "[/filter_second_attack]\n"; @@ -1184,21 +1182,20 @@ std::ostream& operator << (std::ostream& outstream, const unit_animation& u_anim for (size_t i=0; i p; - BOOST_FOREACH (p, u_animation.sub_anims_) { + for (std::pair p : u_animation.sub_anims_) { for (size_t i=0; i0) std::cout << ','; i++; std::cout << event; } diff --git a/src/units/attack_type.cpp b/src/units/attack_type.cpp index 9eb127128ed1..1ee4a9a49069 100644 --- a/src/units/attack_type.cpp +++ b/src/units/attack_type.cpp @@ -26,7 +26,6 @@ #include "log.hpp" #include "serialization/string_utils.hpp" #include "gettext.hpp" -#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -162,7 +161,7 @@ bool attack_type::matches_filter(const config& filter) const bool matches = matches_simple_filter(*this, filter); // Handle [and], [or], and [not] with in-order precedence - BOOST_FOREACH( const config::any_child &condition, filter.all_children_range() ) + for (const config::any_child &condition : filter.all_children_range() ) { // Handle [and] if ( condition.key == "and" ) @@ -238,7 +237,7 @@ bool attack_type::apply_modification(const config& cfg) if(del_specials.empty() == false) { const std::vector& dsl = utils::split(del_specials); config new_specials; - BOOST_FOREACH(const config::any_child &vp, specials_.all_children_range()) { + for (const config::any_child &vp : specials_.all_children_range()) { std::vector::const_iterator found_id = std::find(dsl.begin(), dsl.end(), vp.cfg["id"].str()); if (found_id == dsl.end()) { @@ -253,7 +252,7 @@ bool attack_type::apply_modification(const config& cfg) if (mode != "append") { specials_.clear(); } - BOOST_FOREACH(const config::any_child &value, set_specials.all_children_range()) { + for (const config::any_child &value : set_specials.all_children_range()) { specials_.add_child(value.key, value.cfg); } } diff --git a/src/units/drawer.cpp b/src/units/drawer.cpp index 6f594cc6bc53..f5d606328165 100644 --- a/src/units/drawer.cpp +++ b/src/units/drawer.cpp @@ -27,8 +27,6 @@ #include "units/animation_component.hpp" #include "units/frame.hpp" -#include - unit_drawer::unit_drawer(display & thedisp, std::map & bar_rects) : disp(thedisp), dc(disp.get_disp_context()), diff --git a/src/units/filter.cpp b/src/units/filter.cpp index bcda435f335e..856947600e6d 100644 --- a/src/units/filter.cpp +++ b/src/units/filter.cpp @@ -38,7 +38,6 @@ #include "formula/callable_objects.hpp" #include "formula/formula.hpp" -#include #include #include #include @@ -85,7 +84,7 @@ class null_unit_filter_impl : public unit_filter_abstract_impl { } virtual std::vector all_matches_on_map(unsigned max_matches) const { std::vector ret; - BOOST_FOREACH(const unit & u, fc_.get_disp_context().units()) { + for(const unit & u : fc_.get_disp_context().units()) { --max_matches; ret.push_back(&u); if(max_matches == 0) { @@ -340,7 +339,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l const unit_type* const type = u.variation().empty() ? &u.type() : unit_types.find(u.type().base_id()); assert(type); - BOOST_FOREACH(const std::string& variation_id, utils::split(vcfg["has_variation"])) { + for (const std::string& variation_id : utils::split(vcfg["has_variation"])) { if (type->has_variation(variation_id)) { match = true; break; @@ -353,7 +352,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l { bool match = false; - BOOST_FOREACH(const std::string& ability_id, utils::split(vcfg["ability"])) { + for (const std::string& ability_id : utils::split(vcfg["ability"])) { if (u.has_ability_by_id(ability_id)) { match = true; break; @@ -386,7 +385,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l bool status_found = false; std::map states_map = u.get_states(); - BOOST_FOREACH (const std::string status, utils::split(vcfg["status"])) { + for (const std::string status : utils::split(vcfg["status"])) { if (states_map[status] == "yes") { status_found = true; break; @@ -461,7 +460,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l // filter only => not for us // unit only => not filtered config unit_cfg; // No point in serializing the unit once for each [filter_wml]! - BOOST_FOREACH(const vconfig& wmlcfg, vcfg.get_children("filter_wml")) { + for (const vconfig& wmlcfg : vcfg.get_children("filter_wml")) { config fwml = wmlcfg.get_parsed_config(); /* Check if the filter only cares about variables. If so, no need to serialize the whole unit. */ @@ -480,7 +479,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l } } - BOOST_FOREACH(const vconfig& vision, vcfg.get_children("filter_vision")) { + for (const vconfig& vision : vcfg.get_children("filter_vision")) { std::set viewers; // Use standard side filter @@ -489,7 +488,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l viewers.insert(sides.begin(), sides.end()); bool found = false; - BOOST_FOREACH (const int viewer, viewers) { + for (const int viewer : viewers) { bool fogged = fc_.get_disp_context().teams()[viewer - 1].fogged(loc); bool hiding = u.invisible(loc/*, false(?) */); bool unit_hidden = fogged || hiding; @@ -506,7 +505,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l map_location adjacent[6]; get_adjacent_tiles(loc, adjacent); - BOOST_FOREACH(const vconfig& adj_cfg, vcfg.get_children("filter_adjacent")) { + for (const vconfig& adj_cfg : vcfg.get_children("filter_adjacent")) { int match_count=0; unit_filter filt(adj_cfg, &fc_, use_flat_tod_); @@ -549,7 +548,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l { variable_access_const vi = gd->get_variable_access_read(vcfg["find_in"]); bool found_id = false; - BOOST_FOREACH(const config& c, vi.as_array()) + for (const config& c : vi.as_array()) { if(c["id"] == u.id()) found_id = true; @@ -598,7 +597,7 @@ bool basic_unit_filter_impl::internal_matches_filter(const unit & u, const map_l std::vector basic_unit_filter_impl::all_matches_on_map(unsigned max_matches) const { std::vector ret; - BOOST_FOREACH(const unit & u, fc_.get_disp_context().units()) { + for (const unit & u : fc_.get_disp_context().units()) { if (matches(u, u.get_location(), nullptr)) { if(max_matches == 0) { return ret; diff --git a/src/units/formula_manager.cpp b/src/units/formula_manager.cpp index 5f62bfa306f9..6cd41d4a1ea3 100644 --- a/src/units/formula_manager.cpp +++ b/src/units/formula_manager.cpp @@ -21,8 +21,6 @@ #include "map/location.hpp" #include "log.hpp" -#include - void unit_formula_manager::add_formula_var(std::string str, variant var) { if(!formula_vars_) formula_vars_ = new game_logic::map_formula_callable; @@ -40,7 +38,7 @@ void unit_formula_manager::read(const config & ai) formula_vars_ = new game_logic::map_formula_callable; variant var; - BOOST_FOREACH(const config::attribute &i, ai_vars.attribute_range()) { + for (const config::attribute &i : ai_vars.attribute_range()) { var.serialize_from_string(i.second); formula_vars_->add(i.first, var); } diff --git a/src/units/map.cpp b/src/units/map.cpp index 87c80f6c32e5..4dd89eda1e2f 100644 --- a/src/units/map.cpp +++ b/src/units/map.cpp @@ -22,8 +22,6 @@ #include #include "units/map.hpp" -#include - static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) #define WRN_NG LOG_STREAM(warn, log_engine) @@ -382,7 +380,7 @@ bool unit_map::has_unit(const unit * const u) const { assert(u); - BOOST_FOREACH(const t_umap::value_type& item, umap_) { + for(const t_umap::value_type& item : umap_) { if(item.second.unit.get() == u) { return true; } diff --git a/src/units/types.cpp b/src/units/types.cpp index d458abc6a6d7..8582df2df7ff 100644 --- a/src/units/types.cpp +++ b/src/units/types.cpp @@ -34,7 +34,6 @@ #include "gui/auxiliary/formula.hpp" #include "gui/dialogs/loadscreen.hpp" -#include #include #include @@ -198,7 +197,7 @@ void unit_type::build_full(const movement_type_map &mv_types, if ( cfg_["ignore_race_traits"].to_bool() ) { possible_traits_.clear(); } else { - BOOST_FOREACH(const config &t, race_->additional_traits()) + for (const config &t : race_->additional_traits()) { if (alignment_ != unit_type::ALIGNMENT::NEUTRAL || t["id"] != "fearless") possible_traits_.add_child("trait", t); @@ -210,7 +209,7 @@ void unit_type::build_full(const movement_type_map &mv_types, } // Insert any traits that are just for this unit type - BOOST_FOREACH(const config &trait, cfg_.child_range("trait")) + for (const config &trait : cfg_.child_range("trait")) { possible_traits_.add_child("trait", trait); } @@ -228,7 +227,7 @@ void unit_type::build_full(const movement_type_map &mv_types, xp_bar_scaling_ = cfg_["xp_bar_scaling"].to_double(game_config::xp_bar_scaling); // Propagate the build to the variations. - BOOST_FOREACH(variations_map::value_type & variation, variations_) { + for (variations_map::value_type & variation : variations_) { variation.second->build_full(mv_types, races, traits); } @@ -296,7 +295,7 @@ void unit_type::build_help_index(const movement_type_map &mv_types, if (const config &abil_cfg = cfg_.child("abilities")) { - BOOST_FOREACH(const config::any_child &ab, abil_cfg.all_children_range()) { + for (const config::any_child &ab : abil_cfg.all_children_range()) { const config::attribute_value &name = ab.cfg["name"]; if (!name.empty()) { abilities_.push_back(name.t_str()); @@ -305,15 +304,15 @@ void unit_type::build_help_index(const movement_type_map &mv_types, } } - BOOST_FOREACH(const config &adv, cfg_.child_range("advancement")) + for (const config &adv : cfg_.child_range("advancement")) { - BOOST_FOREACH(const config &effect, adv.child_range("effect")) + for (const config &effect : adv.child_range("effect")) { const config &abil_cfg = effect.child("abilities"); if (!abil_cfg || effect["apply_to"] != "new_ability") { continue; } - BOOST_FOREACH(const config::any_child &ab, abil_cfg.all_children_range()) { + for (const config::any_child &ab : abil_cfg.all_children_range()) { const config::attribute_value &name = ab.cfg["name"]; if (!name.empty()) { adv_abilities_.push_back(name.t_str()); @@ -336,11 +335,11 @@ void unit_type::build_help_index(const movement_type_map &mv_types, // Override parts of the movement type with what is in our config. movement_type_.merge(cfg_); - BOOST_FOREACH(const config &t, traits) + for (const config &t : traits) { possible_traits_.add_child("trait", t); } - BOOST_FOREACH(const config &var_cfg, cfg_.child_range("variation")) + for (const config &var_cfg : cfg_.child_range("variation")) { const std::string& var_id = var_cfg["variation_id"].empty() ? var_cfg["variation_name"] : var_cfg["variation_id"]; @@ -484,7 +483,7 @@ const std::vector& unit_type::animations() const { std::vector unit_type::attacks() const { std::vector res; - BOOST_FOREACH(const config &att, cfg_.child_range("attack")) { + for (const config &att : cfg_.child_range("attack")) { res.push_back(attack_type(att)); } @@ -534,7 +533,7 @@ bool unit_type::has_ability_by_id(const std::string& ability) const { if (const config &abil = cfg_.child("abilities")) { - BOOST_FOREACH(const config::any_child &ab, abil.all_children_range()) { + for (const config::any_child &ab : abil.all_children_range()) { if (ab.cfg["id"] == ability) return true; } @@ -549,7 +548,7 @@ std::vector unit_type::get_ability_list() const const config &abilities = cfg_.child("abilities"); if (!abilities) return res; - BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { + for (const config::any_child &ab : abilities.all_children_range()) { const std::string &id = ab.cfg["id"]; if (!id.empty()) res.push_back(id); @@ -631,7 +630,7 @@ static void advancement_tree_internal(const std::string& id, std::setadvances_to()) { + for (const std::string& adv : ut->advances_to()) { if (tree.insert(adv).second) { // insertion succeed, expand the new type advancement_tree_internal(adv, tree); @@ -652,9 +651,9 @@ const std::vector unit_type::advances_from() const unit_types.build_all(unit_type::HELP_INDEXED); std::vector adv_from; - BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + for (const unit_type_data::unit_type_map::value_type &ut : unit_types.types()) { - BOOST_FOREACH(const std::string& adv, ut.second.advances_to()) { + for (const std::string& adv : ut.second.advances_to()) { if (adv == id_) adv_from.push_back(ut.second.id()); } @@ -675,12 +674,12 @@ bool unit_type::musthave_status(const std::string& status_name) const // status gets changed. In the unlikely event it gets changed // multiple times, we want to try to do it in the same order // that unit::apply_modifications does things. - BOOST_FOREACH(const config &mod, possible_traits()) + for (const config &mod : possible_traits()) { if (mod["availability"] != "musthave") continue; - BOOST_FOREACH(const config &effect, mod.child_range("effect")) + for (const config &effect : mod.child_range("effect")) { // See if the effect only applies to // certain unit types But don't worry @@ -727,7 +726,7 @@ std::vector unit_type::variations() const { std::vector retval; retval.reserve(variations_.size()); - BOOST_FOREACH(const variations_map::value_type &val, variations_) { + for (const variations_map::value_type &val : variations_) { retval.push_back(val.first); } return retval; @@ -740,7 +739,7 @@ bool unit_type::has_variation(const std::string& variation_id) const bool unit_type::show_variations_in_help() const { - BOOST_FOREACH(const variations_map::value_type &val, variations_) { + for (const variations_map::value_type &val : variations_) { assert(val.second != nullptr); if (!val.second->hide_help()) { return true; @@ -767,7 +766,7 @@ const config & unit_type::build_unit_cfg() const "name", "num_traits", "variation_id", "variation_name", "recall_cost", "cost", "level", "gender", "flag_rgb", "alignment", "advances_to", "do_not_list" }; - BOOST_FOREACH(const char *attr, unit_type_attrs) { + for (const char *attr : unit_type_attrs) { unit_cfg_.remove_attribute(attr); } built_unit_cfg_ = true; @@ -779,7 +778,7 @@ int unit_type::resistance_against(const std::string& damage_name, bool attacker) int resistance = movement_type_.resistance_against(damage_name); unit_ability_list resistance_abilities; if (const config &abilities = cfg_.child("abilities")) { - BOOST_FOREACH(const config& cfg, abilities.child_range("resistance")) { + for (const config& cfg : abilities.child_range("resistance")) { if (!cfg["affect_self"].to_bool(true)) { continue; } @@ -871,7 +870,7 @@ namespace { // Helpers for set_config() { std::stringstream ss; ss << "[base_unit] recursion loop in [unit_type] "; - BOOST_FOREACH(const std::string &step, base_tree) + for (const std::string &step : base_tree) ss << step << "->"; ss << base_id; ERR_CF << ss.str() << '\n'; @@ -904,7 +903,7 @@ namespace { // Helpers for set_config() { // Get a list of base units to apply. std::vector base_ids; - BOOST_FOREACH (config & base, ut_cfg.child_range("base_unit") ) + for (config & base : ut_cfg.child_range("base_unit")) base_ids.push_back(base["id"]); if ( base_ids.empty() ) @@ -920,7 +919,7 @@ namespace { // Helpers for set_config() ut_cfg.clear_children("base_unit"); // Merge the base units, in order. - BOOST_FOREACH(const std::string & base_id, base_ids) { + for (const std::string & base_id : base_ids) { // Detect recursion so the WML author is made aware of an error. if ( std::find(base_tree.begin(), base_tree.end(), base_id) != base_tree.end() ) throw_base_unit_recursion_error(base_tree, base_id); @@ -967,7 +966,7 @@ namespace { // Helpers for set_config() variations.splice_children(ut_cfg, "variation"); // Handle each variation's inheritance. - BOOST_FOREACH (config &var_cfg, variations.child_range("variation")) + for (config &var_cfg : variations.child_range("variation")) fill_unit_sub_type(var_cfg, ut_cfg, false); // Restore the variations. @@ -987,7 +986,7 @@ namespace { // Helpers for set_config() gui2::tformula formula(formula_str); game_logic::map_formula_callable original; boost::sregex_iterator m(formula_str.begin(), formula_str.end(), fai_identifier); - BOOST_FOREACH(const boost::sregex_iterator::value_type& p, std::make_pair(m, boost::sregex_iterator())) { + for (const boost::sregex_iterator::value_type& p : std::make_pair(m, boost::sregex_iterator())) { const std::string var_name = p.str(); variant val(original_cfg[var_name].to_int(default_val)); original.add(var_name, val); @@ -1009,13 +1008,13 @@ void unit_type_data::set_config(config &cfg) clear(); unit_cfg_ = &cfg; - BOOST_FOREACH(const config &mt, cfg.child_range("movetype")) + for (const config &mt : cfg.child_range("movetype")) { movement_types_.insert(std::make_pair(mt["name"].str(), movetype(mt))); gui2::tloadscreen::progress(); } - BOOST_FOREACH(const config &r, cfg.child_range("race")) + for (const config &r : cfg.child_range("race")) { const unit_race race(r); races_.insert(std::pair(race.id(),race)); @@ -1023,11 +1022,11 @@ void unit_type_data::set_config(config &cfg) } // Movetype resistance patching - BOOST_FOREACH(const config &r, cfg.child_range("resistance_defaults")) + for (const config &r : cfg.child_range("resistance_defaults")) { const std::string& dmg_type = r["id"]; config temp_cfg; - BOOST_FOREACH(const config::attribute &attr, r.attribute_range()) { + for (const config::attribute &attr : r.attribute_range()) { const std::string &mt = attr.first; if (mt == "id" || mt == "default" || movement_types_.find(mt) == movement_types_.end()) { continue; @@ -1035,7 +1034,7 @@ void unit_type_data::set_config(config &cfg) patch_movetype(movement_types_[mt].get_resistances(), dmg_type, attr.second, 100, true); } if (r.has_attribute("default")) { - BOOST_FOREACH(movement_type_map::value_type &mt, movement_types_) { + for (movement_type_map::value_type &mt : movement_types_) { // Don't apply a default if a value is explicitly specified. if (r.has_attribute(mt.first)) { continue; @@ -1046,17 +1045,17 @@ void unit_type_data::set_config(config &cfg) } // Movetype move/defend patching - BOOST_FOREACH(const config &terrain, cfg.child_range("terrain_defaults")) + for (const config &terrain : cfg.child_range("terrain_defaults")) { const std::string& ter_type = terrain["id"]; config temp_cfg; static const std::string terrain_info_tags[] = {"movement", "vision", "jamming", "defense"}; - BOOST_FOREACH(const std::string &tag, terrain_info_tags) { + for (const std::string &tag : terrain_info_tags) { if (!terrain.has_child(tag)) { continue; } const config& info = terrain.child(tag); - BOOST_FOREACH(const config::attribute &attr, info.attribute_range()) { + for (const config::attribute &attr : info.attribute_range()) { const std::string &mt = attr.first; if (mt == "default" || movement_types_.find(mt) == movement_types_.end()) { continue; @@ -1072,7 +1071,7 @@ void unit_type_data::set_config(config &cfg) } } if (info.has_attribute("default")) { - BOOST_FOREACH(movement_type_map::value_type &mt, movement_types_) { + for (movement_type_map::value_type &mt : movement_types_) { // Don't apply a default if a value is explicitly specified. if (info.has_attribute(mt.first)) { continue; @@ -1092,7 +1091,7 @@ void unit_type_data::set_config(config &cfg) } // Apply base units. - BOOST_FOREACH(config &ut, cfg.child_range("unit_type")) + for (config &ut : cfg.child_range("unit_type")) { if ( ut.has_child("base_unit") ) { // Derived units must specify a new id. @@ -1107,7 +1106,7 @@ void unit_type_data::set_config(config &cfg) } // Handle inheritance and recording of unit types. - BOOST_FOREACH(config &ut, cfg.child_range("unit_type")) + for (config &ut : cfg.child_range("unit_type")) { std::string id = ut["id"]; // Every type is required to have an id. @@ -1176,7 +1175,7 @@ const unit_type *unit_type_data::find(const std::string& key, unit_type::BUILD_S void unit_type_data::check_types(const std::vector& types) const { - BOOST_FOREACH(const std::string& type, types) { + for (const std::string& type : types) { if(!find(type)) throw game::game_error("unknown unit type: " + type); } } @@ -1231,7 +1230,7 @@ void unit_type_data::read_hide_help(const config& cfg) std::vector trees = utils::split(cfg["type_adv_tree"]); hide_help_type_.back().insert(trees.begin(), trees.end()); - BOOST_FOREACH(const std::string& t_id, trees) { + for (const std::string& t_id : trees) { unit_type_map::iterator ut = types_.find(t_id); if (ut != types_.end()) { std::set adv_tree = ut->second.advancement_tree(); @@ -1262,7 +1261,7 @@ void unit_type_data::add_advancement(unit_type& to_unit) const { const config& cfg = to_unit.get_cfg(); - BOOST_FOREACH(const config &af, cfg.child_range("advancefrom")) + for (const config &af : cfg.child_range("advancefrom")) { const std::string &from = af["unit"]; int xp = af["experience"]; diff --git a/src/units/udisplay.cpp b/src/units/udisplay.cpp index b2dcfbc244ff..42dc97ef4d7f 100644 --- a/src/units/udisplay.cpp +++ b/src/units/udisplay.cpp @@ -32,8 +32,6 @@ #include "units/filter.hpp" #include "units/map.hpp" -#include - #define LOG_DP LOG_STREAM(info, display) @@ -629,7 +627,7 @@ void unit_attack(display * disp, game_board & board, animator.add_animation(&defender, defender_anim, def->get_location(), true, text , display::rgb(255, 0, 0)); - BOOST_FOREACH (const unit_ability & ability, leaders) { + for (const unit_ability & ability : leaders) { if(ability.second == a) continue; if(ability.second == b) continue; unit_map::const_iterator leader = board.units().find(ability.second); @@ -639,7 +637,7 @@ void unit_attack(display * disp, game_board & board, att->get_location(), damage, true, "", 0, hit_type, &attack, secondary_attack, swing); } - BOOST_FOREACH (const unit_ability & ability, helpers) { + for (const unit_ability & ability : helpers) { if(ability.second == a) continue; if(ability.second == b) continue; unit_map::const_iterator helper = board.units().find(ability.second); @@ -657,7 +655,7 @@ void unit_attack(display * disp, game_board & board, bool extra_hit_sounds_played = false; while(damage_left > 0 && !animator.would_end()) { if(!extra_hit_sounds_played && extra_hit_sounds != nullptr) { - BOOST_FOREACH (std::string hit_sound, *extra_hit_sounds) { + for (std::string hit_sound : *extra_hit_sounds) { sound::play_sound(hit_sound); } extra_hit_sounds_played = true; @@ -685,7 +683,7 @@ void reset_helpers(const unit *attacker,const unit *defender) const unit_map& units = disp->get_units(); if(attacker) { unit_ability_list leaders = attacker->get_abilities("leadership"); - BOOST_FOREACH (const unit_ability & ability, leaders) { + for (const unit_ability & ability : leaders) { unit_map::const_iterator leader = units.find(ability.second); assert(leader != units.end()); leader->anim_comp().set_standing(); @@ -694,7 +692,7 @@ void reset_helpers(const unit *attacker,const unit *defender) if(defender) { unit_ability_list helpers = defender->get_abilities("resistance"); - BOOST_FOREACH (const unit_ability & ability, helpers) { + for (const unit_ability & ability : helpers) { unit_map::const_iterator helper = units.find(ability.second); assert(helper != units.end()); helper->anim_comp().set_standing(); @@ -742,7 +740,7 @@ void unit_healing(unit &healed, const std::vector &healers, int healing, disp->display_unit_hex(healed_loc); unit_animator animator; - BOOST_FOREACH(unit *h, healers) { + for (unit *h : healers) { h->set_facing(h->get_location().get_relative_dir(healed_loc)); animator.add_animation(h, "healing", h->get_location(), healed_loc, healing); diff --git a/src/units/unit.cpp b/src/units/unit.cpp index 3a3b3d21d515..9723efa0fe3a 100644 --- a/src/units/unit.cpp +++ b/src/units/unit.cpp @@ -49,7 +49,6 @@ #include "variable.hpp" // for vconfig, etc #include -#include // for auto_any_base, etc #include // for intrusive_ptr #include #include @@ -426,7 +425,7 @@ unit::unit(const config &cfg, bool use_traits, const vconfig* vcfg, n_unit::id_m filter_recall_ = filter_recall.get_config(); const vconfig::child_list& events = vcfg->get_children("event"); - BOOST_FOREACH(const vconfig& e, events) { + for(const vconfig& e : events) { events_.add_child("event", e.get_config()); } } @@ -434,7 +433,7 @@ unit::unit(const config &cfg, bool use_traits, const vconfig* vcfg, n_unit::id_m { filter_recall_ = cfg.child_or_empty("filter_recall"); - BOOST_FOREACH(const config& unit_event, cfg.child_range("event")) { + for(const config& unit_event : cfg.child_range("event")) { events_.add_child("event", unit_event); } } @@ -540,7 +539,7 @@ unit::unit(const config &cfg, bool use_traits, const vconfig* vcfg, n_unit::id_m cfg_range = cfg.child_range("abilities"); if(cfg_range.first != cfg_range.second) { this->abilities_.clear(); - BOOST_FOREACH(const config& abilities, cfg_range) + for(const config& abilities : cfg_range) { this->abilities_.append(abilities); } @@ -552,7 +551,7 @@ unit::unit(const config &cfg, bool use_traits, const vconfig* vcfg, n_unit::id_m if (const config &status_flags = cfg.child("status")) { - BOOST_FOREACH(const config::attribute &st, status_flags.attribute_range()) { + for(const config::attribute &st : status_flags.attribute_range()) { if (st.second.to_bool()) { set_state(st.first, true); } @@ -832,12 +831,12 @@ void unit::generate_traits(bool musthaveonly) config::const_child_itors current_traits = modifications_.child_range("trait"); std::vector candidate_traits; - BOOST_FOREACH(const config &t, u_type.possible_traits()) + for (const config &t : u_type.possible_traits()) { // Skip the trait if the unit already has it. const std::string &tid = t["id"]; bool already = false; - BOOST_FOREACH(const config &mod, current_traits) + for (const config &mod : current_traits) { if (mod["id"] == tid) { already = true; @@ -883,7 +882,7 @@ std::vector unit::get_traits_list() const { std::vector res; - BOOST_FOREACH(const config &mod, modifications_.child_range("trait")) + for (const config &mod : modifications_.child_range("trait")) { std::string const &id = mod["id"]; // Make sure to return empty id trait strings as otherwise @@ -928,7 +927,7 @@ void unit::advance_to(const unit_type &u_type, generate_name_ &= new_type.generate_name(); abilities_ = new_type.abilities_cfg(); advancements_.clear(); - BOOST_FOREACH(const config& advancement, new_type.advancements()) { + for(const config& advancement : new_type.advancements()) { advancements_.push_back(new config(advancement)); } // If unit has specific profile, remember it and keep it after advancing @@ -1120,7 +1119,7 @@ void unit::set_recruits(const std::vector& recruits) const std::vector unit::advances_to_translated() const { std::vector result; - BOOST_FOREACH(std::string adv_type_id, advances_to_) + for (std::string adv_type_id : advances_to_) { const unit_type *adv_type = unit_types.find(adv_type_id); if ( adv_type ) @@ -1266,7 +1265,7 @@ void unit::heal(int amount) const std::map unit::get_states() const { std::map all_states; - BOOST_FOREACH(std::string const &s, states_) { + for (std::string const &s : states_) { all_states[s] = "yes"; } for (std::map::const_iterator i = known_boolean_state_names_.begin(), @@ -1355,7 +1354,7 @@ void unit::set_state(const std::string &state, bool value) bool unit::has_ability_by_id(const std::string& ability) const { - BOOST_FOREACH(const config::any_child &ab, this->abilities_.all_children_range()) { + for (const config::any_child &ab : this->abilities_.all_children_range()) { if (ab.cfg["id"] == ability) { return true; } @@ -1480,7 +1479,7 @@ void unit::write(config& cfg) const cfg.clear_children("abilities"); cfg.add_child("abilities", abilities_); cfg.clear_children("advancement"); - BOOST_FOREACH(const config& advancement, this->advancements_) + for(const config& advancement : this->advancements_) { cfg.add_child("advancement", advancement); } @@ -1586,7 +1585,7 @@ std::map unit::advancement_icons() const { std::ostringstream tooltip; const std::string &image = game_config::images::level; - BOOST_FOREACH(const std::string &s, advances_to()) + for (const std::string &s : advances_to()) { if (!s.empty()) tooltip << s << '\n'; @@ -1594,7 +1593,7 @@ std::map unit::advancement_icons() const temp[image] = tooltip.str(); } - BOOST_FOREACH(const config &adv, get_modification_advances()) + for (const config &adv : get_modification_advances()) { const std::string &image = adv["image"]; if (image.empty()) continue; @@ -1612,7 +1611,7 @@ std::vector > unit::amla_icons() const std::vector > temp; std::pair icon; // - BOOST_FOREACH(const config &adv, get_modification_advances()) + for (const config &adv : get_modification_advances()) { icon.first = adv["icon"].str(); icon.second = adv["description"].str(); @@ -1629,7 +1628,7 @@ std::vector > unit::amla_icons() const std::vector unit::get_modification_advances() const { std::vector res; - BOOST_FOREACH(const config &adv, modification_advancements()) + for (const config &adv : modification_advancements()) { if (adv["strict_amla"].to_bool() && !advances_to_.empty()) continue; @@ -1650,7 +1649,7 @@ std::vector unit::get_modification_advances() const std::unique_copy(temp_exclude.begin(), temp_exclude.end(), std::back_inserter(uniq_exclude)); bool exclusion_found = false; - BOOST_FOREACH(const std::string &s, uniq_exclude) + for (const std::string &s : uniq_exclude) { int max_num = std::count(temp_exclude.begin(), temp_exclude.end(), s); int mod_num = modification_count("advancement", s); @@ -1664,7 +1663,7 @@ std::vector unit::get_modification_advances() const } bool requirements_done = true; - BOOST_FOREACH(const std::string &s, uniq_require) + for (const std::string &s : uniq_require) { int required_num = std::count(temp_require.begin(), temp_require.end(), s); int mod_num = modification_count("advancement", s); @@ -1684,7 +1683,7 @@ std::vector unit::get_modification_advances() const void unit::set_advancements(std::vector advancements) { this->advancements_.clear(); - BOOST_FOREACH(config& advancement, advancements) + for (config& advancement : advancements) { this->advancements_.push_back(new config()); this->advancements_.back().swap(advancement); @@ -1694,7 +1693,7 @@ void unit::set_advancements(std::vector advancements) size_t unit::modification_count(const std::string& mod_type, const std::string& id) const { size_t res = 0; - BOOST_FOREACH(const config &item, modifications_.child_range(mod_type)) { + for (const config &item : modifications_.child_range(mod_type)) { if (item["id"] == id) { ++res; } @@ -1947,12 +1946,12 @@ void unit::apply_builtin_effect(std::string apply_to, const config& effect) const std::string& add = effect["add"]; const std::string& remove = effect["remove"]; - BOOST_FOREACH(const std::string& to_add, utils::split(add)) + for (const std::string& to_add : utils::split(add)) { set_state(to_add, true); } - BOOST_FOREACH(const std::string& to_remove, utils::split(remove)) + for (const std::string& to_remove : utils::split(remove)) { set_state(to_remove, false); } @@ -1985,7 +1984,7 @@ void unit::apply_builtin_effect(std::string apply_to, const config& effect) } else if (apply_to == "new_ability") { if (const config &ab_effect = effect.child("abilities")) { config to_append; - BOOST_FOREACH(const config::any_child &ab, ab_effect.all_children_range()) { + for (const config::any_child &ab : ab_effect.all_children_range()) { if(!has_ability_by_id(ab.cfg["id"])) { to_append.add_child(ab.key, ab.cfg); } @@ -1994,7 +1993,7 @@ void unit::apply_builtin_effect(std::string apply_to, const config& effect) } } else if (apply_to == "remove_ability") { if (const config &ab_effect = effect.child("abilities")) { - BOOST_FOREACH(const config::any_child &ab, ab_effect.all_children_range()) { + for (const config::any_child &ab : ab_effect.all_children_range()) { remove_ability_by_id(ab.cfg["id"]); } } @@ -2062,7 +2061,7 @@ void unit::apply_builtin_effect(std::string apply_to, const config& effect) std::vector temp_advances = utils::parenthetical_split(types, ','); std::vector::iterator iter; - BOOST_FOREACH(const std::string& unit, temp_advances) { + for (const std::string& unit : temp_advances) { iter = std::find(advances_to_.begin(), advances_to_.end(), unit); if (iter != advances_to_.end()) { advances_to_.erase(iter); @@ -2139,7 +2138,7 @@ void unit::add_modification(const std::string& mod_type, const config& mod, bool bool set_poisoned = false; // Tracks if the poisoned state was set after the type or variation was changed. config last_effect; std::vector effects_description; - BOOST_FOREACH(const config &effect, mod.child_range("effect")) + for (const config &effect : mod.child_range("effect")) { // Apply SUF. if (const config &afilter = effect.child("filter")) { @@ -2279,7 +2278,7 @@ void unit::apply_modifications() if(mod == "advance" && modifications_.has_child(mod)) { lg::wml_error() << "[modifications][advance] is deprecated, use [advancement] instead\n"; } - BOOST_FOREACH(const config &m, modifications_.child_range(mod)) { + for(const config &m : modifications_.child_range(mod)) { log_scope("add mod"); add_modification(ModificationTypes[i], m, true); } @@ -2551,20 +2550,20 @@ std::string get_checksum(const unit& u) { "number", ""}; - BOOST_FOREACH(const config &att, unit_config.child_range("attack")) + for (const config &att : unit_config.child_range("attack")) { config& child = wcfg.add_child("attack"); for (int i = 0; !attack_keys[i].empty(); ++i) { child[attack_keys[i]] = att[attack_keys[i]]; } - BOOST_FOREACH(const config &spec, att.child_range("specials")) { + for (const config &spec : att.child_range("specials")) { config& child_spec = child.add_child("specials", spec); child_spec.recursive_clear_value("description"); } } - BOOST_FOREACH(const config &abi, unit_config.child_range("abilities")) + for (const config &abi : unit_config.child_range("abilities")) { config& child = wcfg.add_child("abilities", abi); child.recursive_clear_value("description"); @@ -2573,7 +2572,7 @@ std::string get_checksum(const unit& u) { child.recursive_clear_value("name_inactive"); } - BOOST_FOREACH(const config &trait, unit_config.child_range("trait")) + for (const config &trait : unit_config.child_range("trait")) { config& child = wcfg.add_child("trait", trait); child.recursive_clear_value("description"); @@ -2586,7 +2585,7 @@ std::string get_checksum(const unit& u) { for (int i = 0; !child_keys[i].empty(); ++i) { - BOOST_FOREACH(const config &c, unit_config.child_range(child_keys[i])) { + for (const config &c : unit_config.child_range(child_keys[i])) { wcfg.add_child(child_keys[i], c); } } diff --git a/src/units/unit.hpp b/src/units/unit.hpp index 8a5f0f0c5b2c..f6dd77ae88a5 100644 --- a/src/units/unit.hpp +++ b/src/units/unit.hpp @@ -68,7 +68,7 @@ class unit_ability_list std::pair highest(const std::string& key, int def=0) const; std::pair lowest(const std::string& key, int def=0) const; - // The following make this class usable with BOOST_FOREACH: + // The following make this class usable with standard library algorithms and such: typedef std::vector::iterator iterator; typedef std::vector::const_iterator const_iterator; iterator begin() { return cfgs_.begin(); } diff --git a/src/utils/iterable_pair.hpp b/src/utils/iterable_pair.hpp index 6a61a21f68ae..728c72adb974 100644 --- a/src/utils/iterable_pair.hpp +++ b/src/utils/iterable_pair.hpp @@ -20,6 +20,7 @@ #define UTILS_ITERABLE_PAIR_HPP_INCLUDED #include +#include namespace std { // Some cases don't work if not in std namespace @@ -33,6 +34,38 @@ inline T end(const std::pair& p) { return p.second; } +// TODO: Is there a way to enforce that this is called only for const_iterators? +template +inline T cbegin(const std::pair& p) { + return p.first; +} + +template +inline T cend(const std::pair& p) { + return p.second; +} + +template +inline std::reverse_iterator rbegin(const std::pair& p) { + return std::reverse_iterator(p.second); +} + +template +inline std::reverse_iterator rend(const std::pair& p) { + return std::reverse_iterator(p.first); +} + +// TODO: Is there a way to enforce that this is called only for const_iterators? +template +inline std::reverse_iterator crbegin(const std::pair& p) { + return std::reverse_iterator(p.second); +} + +template +inline std::reverse_iterator crend(const std::pair& p) { + return std::reverse_iterator(p.first); +} + } #endif diff --git a/src/utils/smart_list.hpp b/src/utils/smart_list.hpp index 40330c9c3de4..c0dd39c8e246 100644 --- a/src/utils/smart_list.hpp +++ b/src/utils/smart_list.hpp @@ -91,7 +91,7 @@ class smart_list typedef value_type * pointer; typedef value_type & reference; typedef std::bidirectional_iterator_tag iterator_category; - typedef ptrdiff_t difference_type; // Needed to use this with BOOST_FOREACH + typedef ptrdiff_t difference_type; protected: // Construct this via derived classes. /// Default constructor diff --git a/src/variable.cpp b/src/variable.cpp index 44afeb8ed5e7..82a521b5bd0c 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -32,7 +32,6 @@ #include "units/map.hpp" #include "team.hpp" -#include #include static lg::log_domain log_engine("engine"); @@ -136,11 +135,11 @@ config vconfig::get_parsed_config() const config res; - BOOST_FOREACH(const config::attribute &i, cfg_->attribute_range()) { + for (const config::attribute &i : cfg_->attribute_range()) { res[i.first] = expand(i.first); } - BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) + for (const config::any_child &child : cfg_->all_children_range()) { if (child.key == "insert_tag") { vconfig insert_cfg(child.cfg); @@ -152,7 +151,7 @@ config vconfig::get_parsed_config() const try { config::const_child_itors range = as_nonempty_range(vname); - BOOST_FOREACH(const config& child, range) + for (const config& child : range) { res.add_child(name, vconfig(child).get_parsed_config()); } @@ -183,7 +182,7 @@ vconfig::child_list vconfig::get_children(const std::string& key) const { vconfig::child_list res; - BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) + for (const config::any_child &child : cfg_->all_children_range()) { if (child.key == key) { res.push_back(vconfig(child.cfg, cache_)); @@ -194,7 +193,7 @@ vconfig::child_list vconfig::get_children(const std::string& key) const try { config::const_child_itors range = as_nonempty_range(insert_cfg["variable"]); - BOOST_FOREACH(const config& child, range) + for (const config& child : range) { res.push_back(vconfig(child, true)); } @@ -213,7 +212,7 @@ size_t vconfig::count_children(const std::string& key) const { size_t n = 0; - BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) + for (const config::any_child &child : cfg_->all_children_range()) { if (child.key == key) { n++; @@ -246,7 +245,7 @@ vconfig vconfig::child(const std::string& key) const if (const config &natural = cfg_->child(key)) { return vconfig(natural, cache_); } - BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) + for (const config &ins : cfg_->child_range("insert_tag")) { vconfig insert_cfg(ins); if(insert_cfg["name"] == key) @@ -273,7 +272,7 @@ bool vconfig::has_child(const std::string& key) const if (cfg_->child(key)) { return true; } - BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) + for (const config &ins : cfg_->child_range("insert_tag")) { vconfig insert_cfg(ins); if(insert_cfg["name"] == key) { @@ -419,7 +418,7 @@ config &scoped_wml_variable::store(const config &var_value) { try { - BOOST_FOREACH(const config &i, resources::gamedata->get_variables().child_range(var_name_)) { + for (const config &i : resources::gamedata->get_variables().child_range(var_name_)) { previous_val_.add_child(var_name_, i); } resources::gamedata->clear_variable_cfg(var_name_); @@ -442,7 +441,7 @@ scoped_wml_variable::~scoped_wml_variable() if(activated_) { resources::gamedata->clear_variable_cfg(var_name_); - BOOST_FOREACH(const config &i, previous_val_.child_range(var_name_)) + for(const config &i : previous_val_.child_range(var_name_)) { try { diff --git a/src/video.cpp b/src/video.cpp index 3355f59f323c..437e46977ef8 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -31,8 +31,6 @@ #include "sdl/gpu.hpp" #include "display.hpp" -#include - #include #include #include diff --git a/src/wesmage/filter.cpp b/src/wesmage/filter.cpp index 0ff070d5da91..4030e363ddc7 100644 --- a/src/wesmage/filter.cpp +++ b/src/wesmage/filter.cpp @@ -18,7 +18,6 @@ #include "wesmage/exit.hpp" #include -#include #include "utils/boost_function_guarded.hpp" #include diff --git a/src/wesmage/options.cpp b/src/wesmage/options.cpp index f9d7b5330fc9..20ee74ddc47b 100644 --- a/src/wesmage/options.cpp +++ b/src/wesmage/options.cpp @@ -17,8 +17,6 @@ #include "wesmage/exit.hpp" #include "wesmage/filter.hpp" -#include - #include #include #include diff --git a/src/wesmage/wesmage.cpp b/src/wesmage/wesmage.cpp index b69538f35fa8..48261a6dafe7 100644 --- a/src/wesmage/wesmage.cpp +++ b/src/wesmage/wesmage.cpp @@ -22,8 +22,6 @@ #include "wesmage/filter.hpp" #include "wesmage/options.hpp" -#include - #include #include diff --git a/src/wesnoth.cpp b/src/wesnoth.cpp index 844a0582beb1..89ff71f32f24 100644 --- a/src/wesnoth.cpp +++ b/src/wesnoth.cpp @@ -74,7 +74,6 @@ #include // for SDL_Init, SDL_INIT_TIMER #include -#include // for auto_any_base, etc #include // for input, output #include // for copy #include // for bzip2_compressor, etc @@ -232,7 +231,7 @@ static void handle_preprocess_command(const commandline_options& cmdline_opts) int read = 0; // use static preproc_define::read_pair(config) to make a object - BOOST_FOREACH( const config::any_child &value, cfg.all_children_range() ) { + for (const config::any_child &value : cfg.all_children_range()) { const preproc_map::value_type def = preproc_define::read_pair( value.cfg ); input_macros[def.first] = def.second; ++read; @@ -253,7 +252,7 @@ static void handle_preprocess_command(const commandline_options& cmdline_opts) if ( cmdline_opts.preprocess_defines ) { // add the specified defines - BOOST_FOREACH( const std::string &define, *cmdline_opts.preprocess_defines ) { + for (const std::string &define : *cmdline_opts.preprocess_defines) { if (define.empty()){ std::cerr << "empty define supplied\n"; continue; @@ -696,7 +695,7 @@ static int do_gameloop(const std::vector& args) config_manager.game_config().child("titlescreen_music"); if (cfg) { sound::play_music_repeatedly(game_config::title_music); - BOOST_FOREACH(const config &i, cfg.child_range("music")) { + for (const config &i : cfg.child_range("music")) { sound::play_music_config(i); } sound::commit_music_changes(); @@ -835,8 +834,7 @@ static int do_gameloop(const std::vector& args) int current = 0; std::vector cores; - BOOST_FOREACH(const config& core, - game_config_manager::get()->game_config().child_range("core")) { + for (const config& core : game_config_manager::get()->game_config().child_range("core")) { cores.push_back(core); if (core["id"] == preferences::core_id()) current = cores.size() -1; diff --git a/src/whiteboard/highlighter.cpp b/src/whiteboard/highlighter.cpp index dfb87ff1b545..b6df9014a05d 100644 --- a/src/whiteboard/highlighter.cpp +++ b/src/whiteboard/highlighter.cpp @@ -18,6 +18,7 @@ #include #include +#include #include @@ -46,8 +47,6 @@ #include "units/animation_component.hpp" #include "units/map.hpp" -#include - namespace wb { @@ -111,7 +110,7 @@ void highlighter::set_mouseover_hex(const map_location& hex) if(side_actions_->empty()) { return; } - BOOST_REVERSE_FOREACH(action_ptr act, *side_actions_) { + for(action_ptr act : boost::adaptors::reverse(*side_actions_)) { /**@todo "is_numbering_hex" is not the "correct" criterion by which to * select the hightlighted/selected action. It's just convenient for me * to use at the moment since it happens to coincide with the "correct" @@ -154,7 +153,7 @@ void highlighter::highlight() if(!secondary_highlights_.empty()) { //Highlight secondary highlights highlight_secondary_visitor hs_visitor(*this); - BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) { + for(weak_action_ptr weak : secondary_highlights_) { if(action_ptr action = weak.lock()) { action->accept(hs_visitor); } @@ -173,14 +172,14 @@ void highlighter::unhighlight() } //unhighlight secondary highlights - BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) { + for(weak_action_ptr weak : secondary_highlights_) { if(action_ptr action = weak.lock()) { action->accept(uh_visitor); } } //unhide other units if needed - BOOST_FOREACH(map_location hex, exclusive_display_hexes_) { + for(map_location hex : exclusive_display_hexes_) { resources::screen->remove_exclusive_draw(hex); } exclusive_display_hexes_.clear(); diff --git a/src/whiteboard/manager.cpp b/src/whiteboard/manager.cpp index b912632df14f..49c7dc267d7d 100644 --- a/src/whiteboard/manager.cpp +++ b/src/whiteboard/manager.cpp @@ -52,7 +52,6 @@ #include #include -#include #include @@ -277,7 +276,7 @@ bool manager::allow_leader_to_move(unit const& leader) const } //Look for planned recruits that depend on this leader - BOOST_FOREACH(action_const_ptr action, *viewer_actions()) + for(action_const_ptr action : *viewer_actions()) { recruit_const_ptr recruit = boost::dynamic_pointer_cast(action); recall_const_ptr recall = boost::dynamic_pointer_cast(action); @@ -345,8 +344,9 @@ void manager::post_delete_action(action_ptr action) static void hide_all_plans() { - BOOST_FOREACH(team& t, *resources::teams) + for(team& t : *resources::teams){ t.get_side_actions()->hide(); + } } /* private */ @@ -357,7 +357,7 @@ void manager::update_plan_hiding(size_t team_index) hide_all_plans(); else // normal circumstance { - BOOST_FOREACH(team& t, *resources::teams) + for(team& t : *resources::teams) { //make sure only appropriate teams are hidden if(!t.is_network_human()) @@ -518,7 +518,7 @@ void manager::pre_draw() for_each_action(boost::ref(move_finder)); units_owning_moves_ = move_finder.get_units_owning_moves(); - BOOST_FOREACH(size_t unit_id, units_owning_moves_) { + for (size_t unit_id : units_owning_moves_) { unit_map::iterator unit_iter = resources::units->find(unit_id); assert(unit_iter.valid()); ghost_owner_unit(&*unit_iter); @@ -528,7 +528,7 @@ void manager::pre_draw() void manager::post_draw() { - BOOST_FOREACH(size_t unit_id, units_owning_moves_) + for (size_t unit_id : units_owning_moves_) { unit_map::iterator unit_iter = resources::units->find(unit_id); if (unit_iter.valid()) { @@ -553,7 +553,7 @@ void manager::draw_hex(const map_location& hex) //Info about the action numbers to be displayed on screen. side_actions::numbers_t numbers; - BOOST_FOREACH(team& t, *resources::teams) + for (team& t : *resources::teams) { side_actions& sa = *t.get_side_actions(); if(!sa.hidden()) @@ -628,7 +628,7 @@ void manager::process_network_data(config const& cfg) LOG_WB << "Received wb data (" << count << ").\n"; team& team_from = resources::teams->at(wb_cfg["side"]-1); - BOOST_FOREACH(side_actions::net_cmd const& cmd, wb_cfg.child_range("net_cmd")) + for(side_actions::net_cmd const& cmd : wb_cfg.child_range("net_cmd")) team_from.get_side_actions()->execute_net_cmd(cmd); } } @@ -744,7 +744,7 @@ void manager::create_temp_move() void manager::erase_temp_move() { move_arrows_.clear(); - BOOST_FOREACH(fake_unit_ptr const& tmp, fake_units_) { + for(fake_unit_ptr const& tmp : fake_units_) { if(tmp) { tmp->anim_comp().invalidate(*game_display::get_singleton()); } @@ -1083,7 +1083,7 @@ void manager::options_dlg() options.push_back(_("HIDE ALL allies’ plans")); //populate list of networked allies - BOOST_FOREACH(team &t, *resources::teams) + for(team &t : *resources::teams) { //Exclude enemies, AIs, and local players if(t.is_enemy(v_side) || !t.is_network()) @@ -1109,12 +1109,14 @@ void manager::options_dlg() switch(selection) { case 0: - BOOST_FOREACH(team* t, allies) + for(team* t : allies) { team_plans_hidden_[t->side()-1]=false; + } break; case 1: - BOOST_FOREACH(team* t, allies) + for(team* t : allies) { team_plans_hidden_[t->side()-1]=true; + } break; default: if(selection > 1) diff --git a/src/whiteboard/mapbuilder.cpp b/src/whiteboard/mapbuilder.cpp index c34b74f2baf6..d0268328cf10 100644 --- a/src/whiteboard/mapbuilder.cpp +++ b/src/whiteboard/mapbuilder.cpp @@ -29,7 +29,7 @@ #include "units/unit.hpp" #include "units/map.hpp" -#include +#include namespace wb { @@ -56,13 +56,13 @@ mapbuilder::~mapbuilder() void mapbuilder::pre_build() { - BOOST_FOREACH(team& t, *resources::teams) { + for (team& t : *resources::teams) { //Reset spent gold to zero, it'll be recalculated during the map building t.get_side_actions()->reset_gold_spent(); } int current_side = resources::controller->current_side(); - BOOST_FOREACH(unit& u, *resources::units) { + for (unit& u : *resources::units) { bool on_current_side = (u.side() == current_side); //Remove any unit the current side cannot see to avoid their detection by planning @@ -96,7 +96,7 @@ void mapbuilder::build_map() bool end = false; for(size_t turn=0; !end; ++turn) { end = true; - BOOST_FOREACH(team &side, *resources::teams) { + for (team &side : *resources::teams) { side_actions &actions = *side.get_side_actions(); if(turn < actions.num_turns() && team_has_visible_plan(side)) { end = false; @@ -177,7 +177,7 @@ void mapbuilder::post_visit_team(size_t turn) // Go backwards through the actions of this turn to identify // which ones are moves that end a turn. - BOOST_REVERSE_FOREACH(action_ptr action, applied_actions_this_turn_) { + for(action_ptr action : boost::adaptors::reverse(applied_actions_this_turn_)) { move_ptr move = boost::dynamic_pointer_cast(action); if(move) { move->set_turn_number(0); @@ -197,7 +197,7 @@ void mapbuilder::post_visit_team(size_t turn) void mapbuilder::restore_normal_map() { //applied_actions_ contain only the actions that we applied to the unit map - BOOST_REVERSE_FOREACH(action_ptr act, applied_actions_) { + for(action_ptr act : boost::adaptors::reverse(applied_actions_)) { act->remove_temp_modifier(unit_map_); } } diff --git a/src/whiteboard/move.cpp b/src/whiteboard/move.cpp index 27a423f1417b..0fe0705931fd 100644 --- a/src/whiteboard/move.cpp +++ b/src/whiteboard/move.cpp @@ -39,8 +39,6 @@ #include "units/udisplay.hpp" #include "units/map.hpp" -#include - namespace wb { std::ostream& operator<<(std::ostream &s, move_ptr move) @@ -110,10 +108,10 @@ move::move(config const& cfg, bool hidden) if(!route_cfg) throw action::ctor_err("move: Invalid route_"); route_->move_cost = route_cfg["move_cost"]; - BOOST_FOREACH(config const& loc_cfg, route_cfg.child_range("step")) { + for(config const& loc_cfg : route_cfg.child_range("step")) { route_->steps.push_back(map_location(loc_cfg["x"],loc_cfg["y"])); } - BOOST_FOREACH(config const& mark_cfg, route_cfg.child_range("mark")) { + for(config const& mark_cfg : route_cfg.child_range("mark")) { route_->marks[map_location(mark_cfg["x"],mark_cfg["y"])] = pathfind::marked_route::mark(mark_cfg["turns"], mark_cfg["zoc"].to_bool(), @@ -504,7 +502,7 @@ config move::to_config() const //Serialize route_ config route_cfg; route_cfg["move_cost"]=route_->move_cost; - BOOST_FOREACH(map_location const& loc, route_->steps) + for(map_location const& loc : route_->steps) { config loc_cfg; loc_cfg["x"]=loc.x; @@ -512,7 +510,7 @@ config move::to_config() const route_cfg.add_child("step",loc_cfg); } typedef std::pair pair_loc_mark; - BOOST_FOREACH(pair_loc_mark const& item, route_->marks) + for(pair_loc_mark const& item : route_->marks) { config mark_cfg; mark_cfg["x"]=item.first.x; diff --git a/src/whiteboard/recall.cpp b/src/whiteboard/recall.cpp index 998c9ebda558..3fa9d29f0fd0 100644 --- a/src/whiteboard/recall.cpp +++ b/src/whiteboard/recall.cpp @@ -36,8 +36,6 @@ #include "units/unit.hpp" #include "units/animation_component.hpp" -#include - namespace wb { @@ -75,7 +73,7 @@ recall::recall(config const& cfg, bool hidden) { // Construct and validate temp_unit_ size_t underlying_id = cfg["temp_unit_"]; - BOOST_FOREACH(const unit_const_ptr & recall_unit, resources::teams->at(team_index()).recall_list()) + for(const unit_const_ptr & recall_unit : resources::teams->at(team_index()).recall_list()) { if(recall_unit->underlying_id()==underlying_id) { diff --git a/src/whiteboard/side_actions.cpp b/src/whiteboard/side_actions.cpp index 788b7de290b5..dc34b09d9f00 100644 --- a/src/whiteboard/side_actions.cpp +++ b/src/whiteboard/side_actions.cpp @@ -42,8 +42,6 @@ #include "resources.hpp" #include "units/unit.hpp" -#include - namespace wb { @@ -290,7 +288,7 @@ void side_actions::get_numbers(const map_location& hex, numbers_t& result) main_number = index; } - BOOST_FOREACH(weak_action_ptr action, hlighter->get_secondary_highlights()) { + for(weak_action_ptr action : hlighter->get_secondary_highlights()) { if(action.lock() == *it) { secondary_numbers.insert(index); } @@ -377,7 +375,7 @@ void side_actions::hide() hidden_ = true; - BOOST_FOREACH(action_ptr act, *this) { + for(action_ptr act : *this) { act->hide(); } } @@ -389,7 +387,7 @@ void side_actions::show() hidden_ = false; - BOOST_FOREACH(action_ptr act, *this) { + for(action_ptr act : *this) { act->show(); } } @@ -787,7 +785,7 @@ void side_actions::execute_net_cmd(net_cmd const& cmd) } else if(type=="refresh") { LOG_WB << "Command received: refresh\n"; clear(); - BOOST_FOREACH(net_cmd const& sub_cmd, cmd.child_range("net_cmd")) + for(net_cmd const& sub_cmd : cmd.child_range("net_cmd")) execute_net_cmd(sub_cmd); } else { ERR_WB << "side_actions::execute_network_command(): received invalid type!" << std::endl; @@ -862,7 +860,7 @@ void side_actions::raw_turn_shift() { //find units who still have plans for turn 0 (i.e. were too lazy to finish their jobs) std::set lazy_units; - BOOST_FOREACH(action_ptr const& act, iter_turn(0)) { + for(action_ptr const& act : iter_turn(0)) { unit_const_ptr u = act->get_unit(); if(u) { lazy_units.insert(u); diff --git a/src/whiteboard/utility.cpp b/src/whiteboard/utility.cpp index 12d99e87510c..d909c820059c 100644 --- a/src/whiteboard/utility.cpp +++ b/src/whiteboard/utility.cpp @@ -34,8 +34,6 @@ #include "units/unit.hpp" #include "units/animation_component.hpp" -#include - namespace wb { size_t viewer_team() @@ -82,7 +80,7 @@ unit* find_recruiter(size_t team_index, map_location const& hex) if ( !resources::gameboard->map().is_castle(hex) ) return nullptr; - BOOST_FOREACH(unit& u, *resources::units) + for(unit& u : *resources::units) if(u.can_recruit() && u.side() == static_cast(team_index+1) && dynamic_cast(resources::filter_con)->can_recruit_on(u, hex)) @@ -124,8 +122,9 @@ int path_cost(std::vector const& path, unit const& u) int result = 0; gamemap const& map = resources::gameboard->map(); - BOOST_FOREACH(map_location const& loc, std::make_pair(path.begin()+1,path.end())) + for(map_location const& loc : std::make_pair(path.begin()+1,path.end())) { result += u.movement_cost(map[loc]); + } return result; } @@ -153,9 +152,10 @@ void unghost_owner_unit(unit* unit) bool has_actions() { - BOOST_FOREACH(team& t, *resources::teams) + for (team& t : *resources::teams) { if (!t.get_side_actions()->empty()) return true; + } return false; } @@ -170,7 +170,7 @@ void for_each_action(boost::function function, team_filter tea bool end = false; for(size_t turn=0; !end; ++turn) { end = true; - BOOST_FOREACH(team &side, *resources::teams) { + for(team &side : *resources::teams) { side_actions &actions = *side.get_side_actions(); if(turn < actions.num_turns() && team_filter(side)) { std::for_each(actions.turn_begin(turn), actions.turn_end(turn), function); @@ -185,7 +185,7 @@ action_ptr find_action_at(map_location hex, team_filter team_filter) action_ptr result; size_t result_turn = std::numeric_limits::max(); - BOOST_FOREACH(team &side, *resources::teams) { + for(team &side : *resources::teams) { side_actions &actions = *side.get_side_actions(); if(team_filter(side)) { side_actions::iterator chall = actions.find_first_action_at(hex);