From c7b7cdd7c57f11a905deccd0f3a9c2a30058a011 Mon Sep 17 00:00:00 2001 From: Sergey Popov Date: Sun, 8 Jul 2012 14:26:21 +0000 Subject: [PATCH] Backport: Use BOOST_FOREACH directly instead of #define foreach BOOST_FOREACH 2012-07-07T00:49:45Z!loonycyborg@gmail.com from trunk. The define is extremely unreliable, will break compile with boost >= 1.50 and upstream can't fix issues with it, see https://svn.boost.org/trac/boost/ticket/6131 --- src/about.cpp | 21 +-- src/actions.cpp | 24 ++-- src/addon/manager.cpp | 33 ++--- src/addon/validation.cpp | 7 +- src/ai/composite/ai.cpp | 12 +- src/ai/composite/aspect.hpp | 10 +- src/ai/composite/component.cpp | 8 +- src/ai/composite/engine.cpp | 1 - src/ai/composite/engine_default.cpp | 1 - src/ai/composite/engine_fai.cpp | 1 - src/ai/composite/goal.cpp | 14 +- src/ai/composite/property_handler.hpp | 10 +- src/ai/composite/stage.cpp | 1 - src/ai/configuration.cpp | 41 +++--- src/ai/contexts.cpp | 22 +-- src/ai/default/ai.cpp | 11 +- src/ai/default/attack.cpp | 1 - src/ai/default/contexts.cpp | 1 - src/ai/formula/ai.cpp | 13 +- src/ai/formula/candidates.cpp | 9 +- src/ai/formula/function_table.cpp | 12 +- src/ai/formula/stage_side_formulas.cpp | 1 - src/ai/lua/core.cpp | 1 - src/ai/manager.cpp | 9 +- src/ai/testing/aspect_attacks.cpp | 7 +- src/ai/testing/ca.cpp | 20 +-- src/ai/testing/ca_global_fallback.cpp | 4 +- src/ai/testing/ca_testing_move_to_targets.cpp | 1 - src/ai/testing/ca_testing_recruitment.cpp | 130 +++++++++--------- src/ai/testing/stage_fallback.cpp | 1 - src/ai/testing/stage_rca.cpp | 10 +- src/arrow.cpp | 5 +- src/builder.cpp | 75 +++++----- src/campaign_server/campaign_server.cpp | 14 +- src/cavegen.cpp | 9 +- src/commandline_options.cpp | 8 +- src/config.cpp | 62 ++++----- src/config_cache.cpp | 10 +- src/controller_base.cpp | 5 +- src/dialogs.cpp | 8 +- src/display.cpp | 29 ++-- src/editor/action.cpp | 28 ++-- src/editor/brush.cpp | 9 +- src/editor/editor_controller.cpp | 32 ++--- src/editor/editor_map.cpp | 4 +- src/editor/editor_palettes.cpp | 15 +- src/editor/map_context.cpp | 6 +- src/editor/map_fragment.cpp | 27 ++-- src/filesystem.cpp | 13 +- src/font.cpp | 19 +-- src/foreach.hpp | 12 -- src/formula.cpp | 7 +- src/formula_function.cpp | 8 +- src/formula_tokenizer.cpp | 1 - src/game.cpp | 7 +- src/game_config.cpp | 11 +- src/game_controller.cpp | 16 ++- src/game_controller_abstract.cpp | 5 +- src/game_display.cpp | 23 ++-- src/game_events.cpp | 87 ++++++------ src/game_preferences.cpp | 17 +-- src/game_preferences_display.cpp | 6 +- src/gamestatus.cpp | 32 ++--- src/gui/auxiliary/canvas.cpp | 7 +- src/gui/auxiliary/event/dispatcher.cpp | 1 - src/gui/auxiliary/event/handler.cpp | 11 +- src/gui/auxiliary/notifier.hpp | 6 +- src/gui/auxiliary/tips.cpp | 9 +- src/gui/auxiliary/widget_definition.hpp | 5 +- src/gui/auxiliary/window_builder.cpp | 14 +- src/gui/auxiliary/window_builder/helper.cpp | 5 +- .../window_builder/horizontal_listbox.cpp | 9 +- src/gui/auxiliary/window_builder/listbox.cpp | 9 +- .../auxiliary/window_builder/multi_page.cpp | 9 +- src/gui/auxiliary/window_builder/slider.cpp | 5 +- .../window_builder/stacked_widget.cpp | 5 +- .../auxiliary/window_builder/tree_view.cpp | 5 +- src/gui/dialogs/addon/description.cpp | 7 +- src/gui/dialogs/addon/uninstall_list.cpp | 7 +- src/gui/dialogs/addon_list.cpp | 5 +- src/gui/dialogs/campaign_difficulty.cpp | 7 +- src/gui/dialogs/campaign_selection.cpp | 6 +- src/gui/dialogs/chat_log.cpp | 4 +- src/gui/dialogs/data_manage.cpp | 6 +- src/gui/dialogs/debug_clock.cpp | 3 +- src/gui/dialogs/dialog.cpp | 9 +- .../dialogs/editor_set_starting_position.cpp | 2 +- src/gui/dialogs/formula_debugger.cpp | 6 +- src/gui/dialogs/game_load.cpp | 6 +- src/gui/dialogs/game_save.cpp | 1 - src/gui/dialogs/gamestate_inspector.cpp | 24 ++-- src/gui/dialogs/language_selection.cpp | 5 +- src/gui/dialogs/lobby/lobby_data.cpp | 13 +- src/gui/dialogs/lobby/lobby_info.cpp | 27 ++-- src/gui/dialogs/lobby_main.cpp | 16 +-- src/gui/dialogs/message.cpp | 5 +- src/gui/dialogs/mp_change_control.cpp | 4 +- src/gui/dialogs/mp_connect.cpp | 4 +- src/gui/dialogs/mp_create_game.cpp | 6 +- src/gui/dialogs/network_transmission.cpp | 1 - src/gui/dialogs/simple_item_selector.cpp | 5 +- src/gui/dialogs/title_screen.cpp | 3 +- src/gui/dialogs/unit_attack.cpp | 4 +- src/gui/dialogs/unit_create.cpp | 5 +- src/gui/dialogs/wml_message.cpp | 1 - src/gui/widgets/control.cpp | 6 +- src/gui/widgets/generator.cpp | 4 +- src/gui/widgets/generator_private.hpp | 15 +- src/gui/widgets/grid.cpp | 32 +++-- src/gui/widgets/grid_private.hpp | 6 +- src/gui/widgets/progress_bar.cpp | 3 +- src/gui/widgets/scrollbar.cpp | 6 +- src/gui/widgets/scrollbar_container.cpp | 12 +- src/gui/widgets/settings.cpp | 11 +- src/gui/widgets/settings.hpp | 3 +- src/gui/widgets/slider.cpp | 4 +- src/gui/widgets/stacked_widget.cpp | 4 +- src/gui/widgets/text_box.cpp | 6 +- src/gui/widgets/toggle_button.cpp | 4 +- src/gui/widgets/toggle_panel.cpp | 4 +- src/gui/widgets/tree_view_node.cpp | 13 +- src/gui/widgets/window.cpp | 10 +- src/help.cpp | 33 ++--- src/hotkeys.cpp | 5 +- src/image.cpp | 6 +- src/image_modifications.cpp | 5 +- src/language.cpp | 12 +- src/log.cpp | 9 +- src/map_label.cpp | 15 +- src/mapgen.cpp | 6 +- src/menu_events.cpp | 22 +-- src/mouse_events.cpp | 6 +- src/multiplayer.cpp | 3 +- src/multiplayer_connect.cpp | 32 ++--- src/multiplayer_create.cpp | 9 +- src/multiplayer_lobby.cpp | 11 +- src/multiplayer_ui.cpp | 19 +-- src/multiplayer_wait.cpp | 13 +- src/pathfind/astarsearch.cpp | 1 - src/pathfind/pathfind.cpp | 7 +- src/pathfind/teleport.cpp | 8 +- src/persist_manager.cpp | 8 +- src/play_controller.cpp | 21 +-- src/playcampaign.cpp | 11 +- src/playmp_controller.cpp | 6 +- src/playsingle_controller.cpp | 15 +- src/playturn.cpp | 13 +- src/preferences_display.cpp | 5 +- src/replay.cpp | 16 +-- src/replay_controller.cpp | 5 +- src/reports.cpp | 30 ++-- src/savegame.cpp | 9 +- src/scripting/lua.cpp | 41 +++--- src/serialization/parser.cpp | 8 +- src/serialization/preprocessor.cpp | 13 +- src/serialization/schema_validator.cpp | 9 +- src/server/ban.cpp | 9 +- src/server/room_manager.cpp | 23 ++-- src/server/server.cpp | 14 +- src/side_filter.cpp | 15 +- src/sound.cpp | 7 +- src/soundsource.cpp | 1 - src/statistics.cpp | 11 +- src/storyscreen/controller.cpp | 5 +- src/storyscreen/interface.cpp | 1 - src/storyscreen/part.cpp | 1 - src/storyscreen/render.cpp | 7 +- src/team.cpp | 9 +- src/terrain.cpp | 9 +- src/terrain_filter.cpp | 7 +- src/tests/gui/test_gui2.cpp | 14 +- src/theme.cpp | 34 ++--- src/time_of_day.cpp | 4 +- src/tod_manager.cpp | 5 +- src/tools/exploder_cutter.cpp | 7 +- src/tools/schema/tag.cpp | 10 +- src/tooltips.cpp | 5 +- src/unit.cpp | 80 +++++------ src/unit_abilities.cpp | 47 +++---- src/unit_animation.cpp | 53 +++---- src/unit_display.cpp | 4 +- src/unit_map.cpp | 5 +- src/unit_types.cpp | 54 ++++---- src/variable.cpp | 16 +-- src/video.cpp | 7 +- src/whiteboard/highlight_visitor.cpp | 9 +- src/whiteboard/manager.cpp | 25 ++-- src/whiteboard/mapbuilder.cpp | 7 +- src/whiteboard/move.cpp | 11 +- src/whiteboard/recall.cpp | 5 +- src/whiteboard/side_actions.cpp | 23 ++-- src/whiteboard/suppose_dead.cpp | 1 - src/whiteboard/utility.cpp | 11 +- src/whiteboard/validate_visitor.cpp | 5 +- src/whiteboard/visitor.hpp | 4 +- 195 files changed, 1280 insertions(+), 1199 deletions(-) delete mode 100644 src/foreach.hpp diff --git a/src/about.cpp b/src/about.cpp index 745bf1c0fc9d..dedc1ecad2f4 100644 --- a/src/about.cpp +++ b/src/about.cpp @@ -22,10 +22,11 @@ #include "construct_dialog.hpp" #include "display.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "marked-up_text.hpp" +#include + /** * @namespace about * Display credits %about all contributors. @@ -52,7 +53,7 @@ static void add_lines(std::vector &res, config const &c) { } std::vector lines = utils::split(c["text"], '\n'); - foreach (std::string &line, lines) + BOOST_FOREACH(std::string &line, lines) { if (line.size() > 1 && line[0] == '+') line = "+ " + line.substr(1); @@ -67,7 +68,7 @@ static void add_lines(std::vector &res, config const &c) { } } - foreach (const config &entry, c.child_range("entry")) { + BOOST_FOREACH(const config &entry, c.child_range("entry")) { res.push_back("- "+ entry["name"].str()); } } @@ -80,7 +81,7 @@ std::vector get_text(const std::string &campaign) config::child_itors about_entries = about_list.child_range("about"); if (!campaign.empty()) { - foreach (const config &about, about_entries) { + BOOST_FOREACH(const config &about, about_entries) { // just finished a particular campaign if (campaign == about["id"]) { add_lines(res, about); @@ -88,7 +89,7 @@ std::vector get_text(const std::string &campaign) } } - foreach (const config &about, about_entries) { + BOOST_FOREACH(const config &about, about_entries) { add_lines(res, about); } @@ -101,7 +102,7 @@ void set_about(const config &cfg) images.clear(); images_default = ""; - foreach (const config &about, cfg.child_range("about")) + BOOST_FOREACH(const config &about, cfg.child_range("about")) { about_list.add_child("about", about); const std::string &im = about["images"]; @@ -114,7 +115,7 @@ void set_about(const config &cfg) } } - foreach (const config &campaign, cfg.child_range("campaign")) + BOOST_FOREACH(const config &campaign, cfg.child_range("campaign")) { config::const_child_itors abouts = campaign.child_range("about"); if (abouts.first == abouts.second) continue; @@ -126,7 +127,7 @@ void set_about(const config &cfg) temp["id"] = id; std::string campaign_images; - foreach (const config &about, abouts) + BOOST_FOREACH(const config &about, abouts) { const std::string &subtitle = about["title"]; if (!subtitle.empty()) @@ -139,12 +140,12 @@ void set_about(const config &cfg) text << '\n'; } - foreach (const std::string &line, utils::split(about["text"], '\n')) + BOOST_FOREACH(const std::string &line, utils::split(about["text"], '\n')) { text << " " << line << '\n'; } - foreach (const config &entry, about.child_range("entry")) + BOOST_FOREACH(const config &entry, about.child_range("entry")) { text << " " << entry["name"] << '\n'; } diff --git a/src/actions.cpp b/src/actions.cpp index a60c5dfa8062..99856e48192a 100644 --- a/src/actions.cpp +++ b/src/actions.cpp @@ -21,7 +21,6 @@ #include "actions.hpp" #include "attack_prediction.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_events.hpp" #include "game_preferences.hpp" @@ -40,6 +39,7 @@ #include "whiteboard/manager.hpp" #include +#include static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) @@ -206,7 +206,7 @@ map_location unit_creator::find_location(const config &cfg, const unit* pass_che placements.push_back("map"); placements.push_back("recall"); - foreach(std::string place, placements) { + BOOST_FOREACH(std::string place, placements) { map_location loc; bool pass((place == "leader_passable") || (place == "map_passable")); @@ -417,7 +417,7 @@ const std::vector get_recalls_for_location(int side, const map_loca leader_in_place= true; else continue; - foreach (const unit& recall_unit, recall_list) + BOOST_FOREACH(const unit& recall_unit, recall_list) { //Only units which match the leaders recall filter are valid. scoped_recall_unit this_unit("this_unit", t.save_id(), &recall_unit - &recall_list[0]); @@ -435,7 +435,7 @@ const std::vector get_recalls_for_location(int side, const map_loca } if (!(recall_loc_is_castle && leader_in_place)) { - foreach (const unit &recall, recall_list) + BOOST_FOREACH(const unit &recall, recall_list) { result.push_back(&recall); } @@ -546,7 +546,7 @@ std::string find_recruit_location(const int side, map_location& recruit_location bool can_recruit_unit = is_on_team_list; if (!can_recruit_unit) { - foreach (const std::string &recruitable, leader->recruits()) { + BOOST_FOREACH(const std::string &recruitable, leader->recruits()) { if (recruitable == unit_type) { can_recruit_unit = true; break; @@ -1925,7 +1925,7 @@ bool get_village(const map_location& loc, int side, int *action_timebonus) // Simple algorithm: no maximum number of patients per healer. void reset_resting(unit_map& units, int side) { - foreach (unit &u, units) { + BOOST_FOREACH(unit &u, units) { if (u.side() == side) u.set_resting(true); } @@ -1946,7 +1946,7 @@ void calculate_healing(int side, bool update_display) std::list l; // We look for all allied units, then we see if our healer is near them. - foreach (unit &u, units) { + BOOST_FOREACH(unit &u, units) { if (u.get_state("unhealable") || u.incapacitated()) continue; @@ -2307,7 +2307,7 @@ namespace { } pathfind::paths p(*resources::game_map, *resources::units, loc, *resources::teams, true, false, tm, 0, false, true); - foreach (const pathfind::paths::step &dest, p.destinations) { + BOOST_FOREACH(const pathfind::paths::step &dest, p.destinations) { clear_shroud_loc(tm, dest.curr, &cleared_locations); } @@ -2350,7 +2350,7 @@ void recalculate_fog(int side) tm.refog(); - foreach (unit &u, *resources::units) + BOOST_FOREACH(unit &u, *resources::units) { if (u.side() == side) { const unit_movement_resetter move_resetter(u); @@ -2372,7 +2372,7 @@ bool clear_shroud(int side) bool result = false; - foreach (unit &u, *resources::units) + BOOST_FOREACH(unit &u, *resources::units) { if (u.side() == side) { const unit_movement_resetter move_resetter(u); @@ -2435,7 +2435,7 @@ size_t move_unit(move_unit_spectator *move_spectator, std::set known_units; if(check_shroud) { - foreach (const unit &u, units) { + BOOST_FOREACH(const unit &u, units) { if (!tm->fogged(u.get_location())) { known_units.insert(u.get_location()); tm->see(u.side() - 1); @@ -2860,7 +2860,7 @@ void apply_shroud_changes(undo_list &undos, int side) */ std::set known_units; - foreach (const unit &u, units) { + BOOST_FOREACH(const unit &u, units) { if (!tm.fogged(u.get_location())) { known_units.insert(u.get_location()); } diff --git a/src/addon/manager.cpp b/src/addon/manager.cpp index b3f096b1035e..47265046638f 100644 --- a/src/addon/manager.cpp +++ b/src/addon/manager.cpp @@ -19,7 +19,6 @@ #include "addon/manager.hpp" #include "dialogs.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "formatter.hpp" #include "game_display.hpp" #include "game_preferences.hpp" @@ -41,6 +40,8 @@ #include "wml_separators.hpp" #include "formula_string_utils.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) @@ -321,11 +322,11 @@ static void unarchive_dir(const std::string& path, const config& cfg) make_directory(dir); - foreach (const config &d, cfg.child_range("dir")) { + BOOST_FOREACH(const config &d, cfg.child_range("dir")) { unarchive_dir(dir, d); } - foreach (const config &f, cfg.child_range("file")) { + BOOST_FOREACH(const config &f, cfg.child_range("file")) { unarchive_file(dir, f); } } @@ -701,7 +702,7 @@ namespace { std::string missing = ""; size_t count_missing = 0; - foreach(const std::string& i, dependencies) { + BOOST_FOREACH(const std::string& i, dependencies) { if (std::find(installed.begin(), installed.end(), i) == installed.end()) { missing += "\n" + i; ++count_missing; @@ -717,7 +718,7 @@ namespace { std::vector< std::string > unsafe_matches; std::ostringstream unsafe_list; std::map remote_version_map; - foreach (const config &remote_addon, remote_addons_list) + BOOST_FOREACH(const config &remote_addon, remote_addons_list) { const std::string& name = remote_addon["name"]; if (std::find(dependencies.begin(), dependencies.end(), name) != dependencies.end()) { @@ -837,7 +838,7 @@ namespace { if(!result) { assert(failed_titles.empty() == false); std::string failed_titles_list_fmt; - foreach(const std::string& entry, failed_titles) { + BOOST_FOREACH(const std::string& entry, failed_titles) { failed_titles_list_fmt += '\n'; failed_titles_list_fmt += entry; } @@ -870,7 +871,7 @@ namespace { std::vector safe_local_versions; std::vector unsafe_local_versions; std::map remote_version_map; - foreach (const config &remote_addon, remote_addons_list) + BOOST_FOREACH(const config &remote_addon, remote_addons_list) { const std::string& name = remote_addon["name"]; const std::string& version = remote_addon["version"]; @@ -1065,7 +1066,7 @@ namespace { if(!result) { assert(failed_titles.empty() == false); std::string failed_titles_list_fmt; - foreach(const std::string& entry, failed_titles) { + BOOST_FOREACH(const std::string& entry, failed_titles) { failed_titles_list_fmt += '\n'; failed_titles_list_fmt += entry; } @@ -1090,7 +1091,7 @@ namespace { const std::string& addon, const std::vector& own_addons) { - foreach(const std::string& current_own_addon, own_addons) { + BOOST_FOREACH(const std::string& current_own_addon, own_addons) { if(current_own_addon == addon) { utils::string_map symbols; symbols["addon"] = addon; @@ -1171,7 +1172,7 @@ namespace { std::vector< addon_info > infos; - foreach(const config &c, addon_cfgs) + BOOST_FOREACH(const config &c, addon_cfgs) { const std::string& name = c["name"]; const std::string& downloads = c["downloads"].str(); @@ -1254,13 +1255,13 @@ namespace { infos.push_back(inf); } - foreach(const std::string& pub, publish_options) { + BOOST_FOREACH(const std::string& pub, publish_options) { static const std::string publish_icon = "icons/icon-addon-publish.png"; const std::string text = _("Publish add-on: ") + get_addon_name(pub); options.push_back(IMAGE_PREFIX + publish_icon + COLUMN_SEPARATOR + font::GOOD_TEXT + text); options_to_filter.push_back(text); } - foreach(const std::string& del, delete_options) { + BOOST_FOREACH(const std::string& del, delete_options) { static const std::string delete_icon = "icons/icon-addon-delete.png"; const std::string text = _("Delete add-on: ") + get_addon_name(del); options.push_back(IMAGE_PREFIX + delete_icon + COLUMN_SEPARATOR + font::BAD_TEXT + text); @@ -1408,7 +1409,7 @@ namespace { remove_names.clear(); - foreach(const std::string& id, remove_ids) { + BOOST_FOREACH(const std::string& id, remove_ids) { remove_names.push_back(get_addon_name(id)); } @@ -1425,7 +1426,7 @@ namespace { std::vector failed_names, skipped_names, succeeded_names; - foreach(const std::string& id, remove_ids) { + BOOST_FOREACH(const std::string& id, remove_ids) { const std::string& name = get_addon_name(id); if(have_addon_pbl_info(id) || have_addon_in_vcs_tree(id)) { @@ -1531,12 +1532,12 @@ void refresh_addon_version_info_cache() } static const std::string parentd = get_addon_campaigns_dir(); std::vector addon_info_files; - foreach(std::string const& dir, addons) + BOOST_FOREACH(std::string const& dir, addons) addon_info_files.push_back(parentd+"/"+dir+"/_info.cfg"); size_t i = 0; - foreach(std::string const& info_file, addon_info_files) { + BOOST_FOREACH(std::string const& info_file, addon_info_files) { assert(i < addons.size()); std::string const& addon = addons[i]; diff --git a/src/addon/validation.cpp b/src/addon/validation.cpp index 8590ba26c020..c3595b001e6c 100644 --- a/src/addon/validation.cpp +++ b/src/addon/validation.cpp @@ -17,7 +17,8 @@ #include "global.hpp" #include "addon/validation.hpp" #include "config.hpp" -#include "foreach.hpp" + +#include #include @@ -44,10 +45,10 @@ bool addon_name_legal(const std::string& name) bool check_names_legal(const config& dir) { - foreach (const config &path, dir.child_range("file")) { + BOOST_FOREACH(const config &path, dir.child_range("file")) { if (!addon_name_legal(path["name"])) return false; } - foreach (const config &path, dir.child_range("dir")) { + BOOST_FOREACH(const config &path, dir.child_range("dir")) { if (!addon_name_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 98802e17a2cc..6348a217ad34 100644 --- a/src/ai/composite/ai.cpp +++ b/src/ai/composite/ai.cpp @@ -27,11 +27,11 @@ #include "stage.hpp" #include "../manager.hpp" #include "../../actions.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include #include +#include namespace ai { @@ -60,7 +60,7 @@ void ai_composite::on_create() cfg_["id"]<<"]"< stages; create_stage(stages,cfg); int j=0; - foreach (stage_ptr b, stages ){ + BOOST_FOREACH(stage_ptr b, stages ){ stages_.push_back(b); j++; } @@ -128,7 +128,7 @@ bool ai_composite::add_goal(const config &cfg) std::vector< goal_ptr > goals; create_goal(goals,cfg); int j=0; - foreach (goal_ptr b, goals ){ + BOOST_FOREACH(goal_ptr b, goals ){ get_goals().push_back(b); j++; } @@ -137,7 +137,7 @@ bool ai_composite::add_goal(const config &cfg) void ai_composite::play_turn(){ - foreach(stage_ptr &s, stages_){ + BOOST_FOREACH(stage_ptr &s, stages_){ s->play_stage(); } } @@ -206,7 +206,7 @@ config ai_composite::to_config() const config cfg; //serialize the composite ai stages - foreach(const stage_ptr &s, stages_){ + BOOST_FOREACH(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 a8feac667ede..316fd0efae19 100644 --- a/src/ai/composite/aspect.hpp +++ b/src/ai/composite/aspect.hpp @@ -265,7 +265,7 @@ class composite_aspect : public typesafe_aspect { , facets_() , default_() { - foreach (const config &cfg_element, this->cfg_.child_range("facet") ){ + BOOST_FOREACH(const config &cfg_element, this->cfg_.child_range("facet") ){ add_facet(-1,cfg_element); } @@ -291,7 +291,7 @@ class composite_aspect : public typesafe_aspect { { std::vector facets_base; engine::parse_aspect_from_config(*this,cfg,this->get_id(),std::back_inserter(facets_base)); - foreach (aspect_ptr a, facets_base ){ + BOOST_FOREACH(aspect_ptr a, facets_base ){ typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); facets.push_back(b); } @@ -301,7 +301,7 @@ class composite_aspect : public typesafe_aspect { virtual void recalculate() const { ///@todo 1.9 optimize in case of an aspect which returns variant - foreach (const typename aspect_type::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) { + BOOST_FOREACH(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; @@ -316,7 +316,7 @@ class composite_aspect : public typesafe_aspect { virtual config to_config() const { config cfg = aspect::to_config(); - foreach (const typename aspect_type::typesafe_ptr f, facets_) { + BOOST_FOREACH(const typename aspect_type::typesafe_ptr f, facets_) { cfg.add_child("facet",f->to_config()); } if (default_) { @@ -334,7 +334,7 @@ class composite_aspect : public typesafe_aspect { std::vector< aspect_ptr > facets; engine::parse_aspect_from_config(*this,cfg,this->get_id(),std::back_inserter(facets)); int j=0; - foreach (aspect_ptr a, facets ){ + BOOST_FOREACH(aspect_ptr a, facets ){ typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); facets_.insert(facets_.begin()+pos+j,b); j++; diff --git a/src/ai/composite/component.cpp b/src/ai/composite/component.cpp index acfcf598bf1a..19fc3533c88c 100644 --- a/src/ai/composite/component.cpp +++ b/src/ai/composite/component.cpp @@ -23,12 +23,12 @@ #include "property_handler.hpp" #include "../../config.hpp" #include "../../log.hpp" -#include "../../foreach.hpp" #include "../formula/ai.hpp" #include #include +#include namespace pathfind { @@ -125,7 +125,7 @@ std::vector component::get_children(const std::string &type) std::vector component::get_children_types() { std::vector types; - foreach (property_handler_map::value_type &ph, property_handlers_) { + BOOST_FOREACH(property_handler_map::value_type &ph, property_handlers_) { types.push_back(ph.first); } return types; @@ -241,9 +241,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; - foreach (std::string t, t_list) { + BOOST_FOREACH(std::string t, t_list) { std::vector c_list = root->get_children(t); - foreach (component *c, c_list) { + BOOST_FOREACH(component *c, c_list) { print_component(c,t,s,offset+1); } } diff --git a/src/ai/composite/engine.cpp b/src/ai/composite/engine.cpp index dbd56ea836b8..ff6a36f31577 100644 --- a/src/ai/composite/engine.cpp +++ b/src/ai/composite/engine.cpp @@ -21,7 +21,6 @@ #include "engine.hpp" #include "contexts.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" namespace ai { diff --git a/src/ai/composite/engine_default.cpp b/src/ai/composite/engine_default.cpp index a07609bc3915..e14a4f1c3cc0 100644 --- a/src/ai/composite/engine_default.cpp +++ b/src/ai/composite/engine_default.cpp @@ -24,7 +24,6 @@ #include "engine_default.hpp" #include "rca.hpp" #include "stage.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" namespace ai { diff --git a/src/ai/composite/engine_fai.cpp b/src/ai/composite/engine_fai.cpp index fb9abb4f89e4..23ef48589a81 100644 --- a/src/ai/composite/engine_fai.cpp +++ b/src/ai/composite/engine_fai.cpp @@ -25,7 +25,6 @@ #include "../formula/candidates.hpp" #include "../formula/stage_side_formulas.hpp" #include "../formula/stage_unit_formulas.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" namespace ai { diff --git a/src/ai/composite/goal.cpp b/src/ai/composite/goal.cpp index 7608332b5bbd..d10c34eb33d3 100644 --- a/src/ai/composite/goal.cpp +++ b/src/ai/composite/goal.cpp @@ -24,7 +24,6 @@ #include "../../log.hpp" #include "../lua/lua_object.hpp" #include "../../gamestatus.hpp" -#include "../../foreach.hpp" #include "../../resources.hpp" #include "../../scripting/lua.hpp" #include "../../terrain_filter.hpp" @@ -34,6 +33,7 @@ #include "../../variable.hpp" #include +#include namespace ai { @@ -128,7 +128,7 @@ void target_unit_goal::add_targets(std::back_insert_iterator< std::vector< targe if (!criteria) return; //find the enemy leaders and explicit targets - foreach (const unit &u, *resources::units) { + BOOST_FOREACH(const unit &u, *resources::units) { if (u.matches_filter(vconfig(criteria), u.get_location())) { LOG_AI_GOAL << "found explicit target unit at ... " << u.get_location() << " with value: " << value() << "\n"; *target_list = target(u.get_location(), value(), target::EXPLICIT); @@ -173,7 +173,7 @@ void target_location_goal::add_targets(std::back_insert_iterator< std::vector< t std::set items; filter_ptr_->get_locations(items); - foreach (const map_location &loc, items) + BOOST_FOREACH(const map_location &loc, items) { LOG_AI_GOAL << "found explicit target location ... " << loc << " with value: " << value() << std::endl; *target_list = target(loc, value(), target::EXPLICIT); @@ -252,7 +252,7 @@ void protect_goal::add_targets(std::back_insert_iterator< std::vector< target > std::set items; if (protect_unit_) { - foreach (const unit &u, units) + BOOST_FOREACH(const unit &u, units) { if (protect_only_own_unit_ && u.side() != get_side()) { continue; @@ -268,9 +268,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. - foreach (const map_location &loc, items) + BOOST_FOREACH(const map_location &loc, items) { - foreach (const unit &u, units) + BOOST_FOREACH(const unit &u, units) { int distance = distance_between(u.get_location(), loc); if (current_team().is_enemy(u.side()) && distance < radius_ && @@ -325,7 +325,7 @@ void lua_goal::add_targets(std::back_insert_iterator< std::vector< target > > ta handler_->handle(c, true, l_obj); std::vector < target > targets = *(l_obj->get()); - foreach (target tg, targets) + BOOST_FOREACH(target tg, targets) { *target_list = tg; } diff --git a/src/ai/composite/property_handler.hpp b/src/ai/composite/property_handler.hpp index 18bf9b0d93b6..22524706798b 100644 --- a/src/ai/composite/property_handler.hpp +++ b/src/ai/composite/property_handler.hpp @@ -23,9 +23,9 @@ #define AI_COMPOSITE_PROPERTY_HANDLER_HPP_INCLUDED #include +#include #include "config.hpp" -#include "foreach.hpp" #include "ai/composite/component.hpp" namespace ai{ @@ -134,7 +134,7 @@ class vector_property_handler : public base_property_handler { std::vector handle_get_children() { std::vector children; - foreach (t_ptr v, values_) { + BOOST_FOREACH(t_ptr v, values_) { children.push_back(&*v); } return children; @@ -149,7 +149,7 @@ class vector_property_handler : public base_property_handler { t_ptr_vector values; factory_(values,cfg); int j=0; - foreach (t_ptr b, values ){ + BOOST_FOREACH(t_ptr b, values ){ values_.insert(values_.begin()+pos+j,b); j++; } @@ -200,7 +200,7 @@ class aspect_property_handler : public base_property_handler { //* is a special case - 'delete all facets' if (child.id == "*") { bool b = false; - foreach(typename aspect_map::value_type a, aspects_) { + BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { b |= a.second->delete_all_facets(); } return b; @@ -212,7 +212,7 @@ class aspect_property_handler : public base_property_handler { std::vector handle_get_children() { std::vector children; - foreach(typename aspect_map::value_type a, aspects_) { + BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { children.push_back(&*a.second); } return children; diff --git a/src/ai/composite/stage.cpp b/src/ai/composite/stage.cpp index 09d76595c23f..5d59af29c9f8 100644 --- a/src/ai/composite/stage.cpp +++ b/src/ai/composite/stage.cpp @@ -22,7 +22,6 @@ #include "engine.hpp" #include "stage.hpp" #include "../contexts.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../resources.hpp" #include "../../tod_manager.hpp" diff --git a/src/ai/configuration.cpp b/src/ai/configuration.cpp index 1b62eb516665..67a4c6f7f114 100644 --- a/src/ai/configuration.cpp +++ b/src/ai/configuration.cpp @@ -22,12 +22,13 @@ #include "configuration.hpp" #include "../filesystem.hpp" -#include "../foreach.hpp" #include "../log.hpp" #include "../serialization/parser.hpp" #include "../serialization/preprocessor.hpp" #include "../team.hpp" +#include + #include namespace ai { @@ -93,7 +94,7 @@ void configuration::init(const config &game_config) } - foreach (const config &ai_configuration, ais.child_range("ai")) { + BOOST_FOREACH(const config &ai_configuration, ais.child_range("ai")) { const std::string &id = ai_configuration["id"]; if (id.empty()){ @@ -118,7 +119,7 @@ void configuration::init(const config &game_config) void configuration::add_era_ai_from_config(const config &era) { era_ai_configurations_.clear(); - foreach (const config &ai_configuration, era.child_range("ai")) { + BOOST_FOREACH(const config &ai_configuration, era.child_range("ai")) { const std::string &id = ai_configuration["id"]; if (id.empty()){ @@ -196,7 +197,7 @@ bool configuration::upgrade_aspect_config_from_1_07_02_to_1_07_03(side_number /* config aspect_config; aspect_config["id"] = id; - foreach (const config &aiparam, cfg.child_range("ai")) { + BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { const config &_aspect = aiparam.find_child("aspect","id",id); if (_aspect) { aspect_config.append(_aspect); @@ -216,7 +217,7 @@ bool configuration::upgrade_aspect_config_from_1_07_02_to_1_07_03(side_number /* if (aspect_was_attribute) { facet_config["value"] = aiparam[id]; } else { - foreach (const config &value, aiparam.child_range(id)) { + BOOST_FOREACH(const config &value, aiparam.child_range(id)) { facet_config.add_child("value",value); } } @@ -242,7 +243,7 @@ bool configuration::parse_side_config(side_number side, const config& original_c //leave only the [ai] children cfg = config(); - foreach (const config &aiparam, original_cfg.child_range("ai")) { + BOOST_FOREACH(const config &aiparam, original_cfg.child_range("ai")) { cfg.add_child("ai",aiparam); } @@ -264,7 +265,7 @@ bool configuration::parse_side_config(side_number side, const config& original_c //find version int version = 10600; - foreach (const config &aiparam, cfg.child_range("ai")) { + BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { if (const config::attribute_value *a = aiparam.get("version")){ int v = a->to_int(version); if (version + static lg::log_domain log_ai("ai/general"); #define DBG_AI LOG_STREAM(debug, log_ai) #define LOG_AI LOG_STREAM(info, log_ai) @@ -223,19 +225,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 - foreach(const config &cfg_element, cfg_.child_range("engine")){ + BOOST_FOREACH(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 - foreach(const config &cfg_element, cfg_.child_range("aspect")){ + BOOST_FOREACH(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 - foreach(const config &cfg_element, cfg_.child_range("goal")){ + BOOST_FOREACH(const config &cfg_element, cfg_.child_range("goal")){ engine::parse_goal_from_config(*this,cfg_element,std::back_inserter(get_goals())); } } @@ -255,13 +257,13 @@ config readwrite_context_impl::to_readwrite_context_config() const config readonly_context_impl::to_readonly_context_config() const { config cfg; - foreach(const engine_ptr e, engines_) { + BOOST_FOREACH(const engine_ptr e, engines_) { cfg.add_child("engine",e->to_config()); } - foreach(const aspect_map::value_type a, aspects_) { + BOOST_FOREACH(const aspect_map::value_type a, aspects_) { cfg.add_child("aspect",a.second->to_config()); } - foreach(const goal_ptr g, goals_) { + BOOST_FOREACH(const goal_ptr g, goals_) { cfg.add_child("goal",g->to_config()); } return cfg; @@ -366,7 +368,7 @@ void readonly_context_impl::calculate_moves(const unit_map& units, std::map::iterator m = res.begin(); m != res.end(); ++m) { - foreach (const pathfind::paths::step &dest, m->second.destinations) + BOOST_FOREACH(const pathfind::paths::step &dest, m->second.destinations) { const map_location& src = m->first; const map_location& dst = dest.curr; @@ -406,7 +408,7 @@ void readonly_context_impl::calculate_moves(const unit_map& units, std::map &aspects ) { - foreach (aspect_ptr a, aspects) { + BOOST_FOREACH(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()) { @@ -1024,7 +1026,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; - foreach (const attack_type &att, un.attacks()) + BOOST_FOREACH(const attack_type &att, un.attacks()) { int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); if (damage > most_damage) { @@ -1112,7 +1114,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; - foreach (const pathfind::paths::step &dest, leader_paths.destinations) + BOOST_FOREACH(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/ai.cpp b/src/ai/default/ai.cpp index 33a20971a536..810877f54b40 100644 --- a/src/ai/default/ai.cpp +++ b/src/ai/default/ai.cpp @@ -26,7 +26,6 @@ #include "../../array.hpp" #include "../../dialogs.hpp" -#include "../../foreach.hpp" #include "../../game_end_exceptions.hpp" #include "../../game_events.hpp" #include "../../game_preferences.hpp" @@ -41,6 +40,8 @@ #include "../../pathfind/pathfind.hpp" +#include + #include #include #include @@ -144,7 +145,7 @@ void ai_default_recruitment_stage::recruit_situation_change_observer::set_valid( void ai_default_recruitment_stage::on_create() { stage::on_create(); - foreach (const config &c, cfg_.child_range("limit")) { + BOOST_FOREACH(const config &c, cfg_.child_range("limit")) { if (c.has_attribute("type") && c.has_attribute("max") ) { maximum_counts_.insert(std::make_pair(c["type"],lexical_cast_default(c["max"],0))); } @@ -193,7 +194,7 @@ bool ai_default_recruitment_stage::recruit_usage(const std::string& usage) bool found = false; // Find an available unit that can be recruited, // matches the desired usage type, and comes in under budget. - foreach (const std::string &name, current_team().recruits()) + BOOST_FOREACH(const std::string &name, current_team().recruits()) { const unit_type *ut = unit_types.find(name); if (!ut) continue; @@ -435,7 +436,7 @@ int ai_default_recruitment_stage::get_combat_score(const unit_type& ut) const team &enemy_team = (*resources::teams)[j->side() - 1]; const std::set &recruits = enemy_team.recruits(); - foreach (const std::string &rec, recruits) { + BOOST_FOREACH(const std::string &rec, recruits) { get_combat_score_vs(ut,rec,score,weighting,0,0); } continue; @@ -677,7 +678,7 @@ class unit_combat_score_getter { double best_combat_score_of_advancement = 0; bool best_combat_score_of_advancement_found = false; int best_cost = recall_cost; - foreach (const std::string &i, u.advances_to()) { + BOOST_FOREACH(const std::string &i, u.advances_to()) { const unit_type *ut = unit_types.find(i); if (!ut) { continue; diff --git a/src/ai/default/attack.cpp b/src/ai/default/attack.cpp index 638fd10b5d36..9657021a65f9 100644 --- a/src/ai/default/attack.cpp +++ b/src/ai/default/attack.cpp @@ -25,7 +25,6 @@ #include "../manager.hpp" #include "../../attack_prediction.hpp" -#include "foreach.hpp" #include "../../game_config.hpp" #include "../../log.hpp" #include "../../map.hpp" diff --git a/src/ai/default/contexts.cpp b/src/ai/default/contexts.cpp index d1f7684f7a1e..25a6479b045b 100644 --- a/src/ai/default/contexts.cpp +++ b/src/ai/default/contexts.cpp @@ -22,7 +22,6 @@ #include "contexts.hpp" #include "../../actions.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../resources.hpp" diff --git a/src/ai/formula/ai.cpp b/src/ai/formula/ai.cpp index 8bb7d622124b..60ff71027691 100644 --- a/src/ai/formula/ai.cpp +++ b/src/ai/formula/ai.cpp @@ -32,7 +32,6 @@ #include "../../callable_objects.hpp" #include "../../game_display.hpp" -#include "../../foreach.hpp" #include "../../formula_debugger.hpp" #include "../../log.hpp" #include "../../menu_events.hpp" @@ -42,6 +41,8 @@ #include "../../tod_manager.hpp" #include "../../pathfind/pathfind.hpp" +#include + static lg::log_domain log_formula_ai("ai/engine/fai"); #define DBG_AI LOG_STREAM(debug, log_formula_ai) #define LOG_AI LOG_STREAM(info, log_formula_ai) @@ -548,7 +549,7 @@ template variant villages_from_set(const Container& villages, const std::set* exclude=NULL) { std::vector vars; - foreach(const map_location& loc, villages) { + BOOST_FOREACH(const map_location& loc, villages) { if(exclude && exclude->count(loc)) { continue; } @@ -617,7 +618,7 @@ variant formula_ai::get_value(const std::string& key) const { const std::vector &rp = get_recruitment_pattern(); std::vector vars; - foreach (const std::string &i, rp) { + BOOST_FOREACH(const std::string &i, rp) { vars.push_back(variant(i)); } return variant(&vars); @@ -751,7 +752,7 @@ variant formula_ai::get_value(const std::string& key) const std::vector v; tmp.push_back( v ); } - foreach (const unit &u, units) { + BOOST_FOREACH(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) @@ -32,7 +33,7 @@ namespace game_logic { void candidate_action_manager::load_config(const config& cfg, ai::formula_ai* ai, function_symbol_table* function_table) { // register candidate actions - foreach (const config &rc_action, cfg.child_range("register_candidate_action")) + BOOST_FOREACH(const config &rc_action, cfg.child_range("register_candidate_action")) { candidate_action_ptr new_ca = load_candidate_action_from_config(rc_action,ai,function_table); @@ -67,7 +68,7 @@ bool candidate_action_manager::evaluate_candidate_actions(ai::formula_ai* ai, un { evaluated_candidate_actions_.clear(); - foreach(candidate_action_ptr cm, candidate_actions_) + BOOST_FOREACH(candidate_action_ptr cm, candidate_actions_) { cm->evaluate(ai, units); evaluated_candidate_actions_.insert(cm); @@ -116,7 +117,7 @@ candidate_action_with_filters::candidate_action_with_filters( const config & filter_params = cfg.child("filter"); if( filter_params ) { - foreach( const config::attribute filter_param, filter_params.attribute_range() ) + BOOST_FOREACH( 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 3a439fadb2ab..d2c044a12a39 100644 --- a/src/ai/formula/function_table.cpp +++ b/src/ai/formula/function_table.cpp @@ -24,7 +24,6 @@ #include "../../attack_prediction.hpp" #include "../../filesystem.hpp" -#include "../../foreach.hpp" #include "../../game_display.hpp" #include "../../log.hpp" #include "../../map_label.hpp" @@ -36,6 +35,7 @@ #include "../../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) @@ -355,7 +355,7 @@ class calculate_map_ownership_function : public function_expression { if( scores[current_side][i] > 98 ) continue; - foreach( int side , enemies) { + BOOST_FOREACH( int side , enemies) { int diff = scores[current_side][i] - scores[side][i]; if ( diff > enemy_tollerancy) { valid = false; @@ -365,7 +365,7 @@ class calculate_map_ownership_function : public function_expression { } if( valid ) { - foreach( int side , allies) { + BOOST_FOREACH( int side , allies) { if ( scores[current_side][i] - scores[side][i] > ally_tollerancy ) { valid = false; break; @@ -563,7 +563,7 @@ class castle_locs_function : public function_expression { visited_locs.erase(starting_loc); std::vector res; - foreach( const map_location& ml, visited_locs) { + BOOST_FOREACH( const map_location& ml, visited_locs) { res.push_back( variant(new location_callable( ml ) ) ); } @@ -841,7 +841,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; - //foreach (const mv &m, analysis->movements) { + //BOOST_FOREACH(const mv &m, analysis->movements) { // units_with_moves.move(m.first, m.second); //} @@ -1629,7 +1629,7 @@ class max_possible_damage_with_retaliation_function : public function_expression std::vector attacks = attacker.attacks(); - foreach(const attack_type &attack, attacks) { + BOOST_FOREACH(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/formula/stage_side_formulas.cpp b/src/ai/formula/stage_side_formulas.cpp index 7b5ec87b73ff..535e192097c2 100644 --- a/src/ai/formula/stage_side_formulas.cpp +++ b/src/ai/formula/stage_side_formulas.cpp @@ -22,7 +22,6 @@ #include "stage_side_formulas.hpp" #include "ai.hpp" -#include "../../foreach.hpp" #include "../../formula.hpp" #include "../../formula_function.hpp" #include "../../log.hpp" diff --git a/src/ai/lua/core.cpp b/src/ai/lua/core.cpp index 19fceecbc0d0..19fd2be56a64 100644 --- a/src/ai/lua/core.cpp +++ b/src/ai/lua/core.cpp @@ -34,7 +34,6 @@ #include "../../actions.hpp" #include "../../attack_prediction.hpp" #include "../../filesystem.hpp" -#include "../../foreach.hpp" #include "../../game_display.hpp" #include "../../gamestatus.hpp" #include "../../log.hpp" diff --git a/src/ai/manager.cpp b/src/ai/manager.cpp index 59d2d6bdb9ac..901ccc81f22f 100644 --- a/src/ai/manager.cpp +++ b/src/ai/manager.cpp @@ -27,13 +27,14 @@ #include "registry.hpp" #include "../game_events.hpp" #include "../game_preferences.hpp" -#include "../foreach.hpp" #include "../log.hpp" #include "../replay.hpp" #include "../serialization/string_utils.hpp" #include "../statistics.hpp" #include "composite/component.hpp" +#include + #include #include #include @@ -89,7 +90,7 @@ void holder::init( side_number side ) if (this->ai_) { ai_->on_create(); - foreach (config &mod_ai, cfg_.child_range("modify_ai")) { + BOOST_FOREACH(config &mod_ai, cfg_.child_range("modify_ai")) { if (!mod_ai.has_attribute("side")) { mod_ai["side"] = side; } @@ -149,8 +150,8 @@ void holder::modify_ai_config_old( const config::const_child_itors &ai_parameter cfg_.merge_children_by_attribute("aspect","id"); } else { // else run 'add_facet' command on each [aspect][facet] - foreach (const config &cfg_a, cfg.child_range("aspect")) { - foreach (const config &cfg_f, cfg_a.child_range("facet")) { + BOOST_FOREACH(const config &cfg_a, cfg.child_range("aspect")) { + BOOST_FOREACH(const config &cfg_f, cfg_a.child_range("facet")) { readonly_context_->add_facet(cfg_a["id"],cfg_f); } } diff --git a/src/ai/testing/aspect_attacks.cpp b/src/ai/testing/aspect_attacks.cpp index a085e3bb4ae0..be513fd6f90b 100644 --- a/src/ai/testing/aspect_attacks.cpp +++ b/src/ai/testing/aspect_attacks.cpp @@ -22,7 +22,6 @@ #include "../manager.hpp" #include "../../actions.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../team.hpp" @@ -31,6 +30,8 @@ #include "../../unit.hpp" #include "../../pathfind/pathfind.hpp" +#include + namespace ai { namespace testing_ai_default { @@ -468,7 +469,7 @@ double aspect_attacks::power_projection(const map_location& loc, const move_map& // 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; - foreach (const attack_type &att, un.attacks()) + BOOST_FOREACH(const attack_type &att, un.attacks()) { int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); if (damage > most_damage) { @@ -572,7 +573,7 @@ double aspect_attacks::power_projection2(const map_location& loc, const move_map // 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; - foreach (const attack_type &att, un.attacks()) + BOOST_FOREACH(const attack_type &att, un.attacks()) { int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); if (damage > most_damage) { diff --git a/src/ai/testing/ca.cpp b/src/ai/testing/ca.cpp index 4be78042e9ff..b5132d812734 100644 --- a/src/ai/testing/ca.cpp +++ b/src/ai/testing/ca.cpp @@ -25,7 +25,6 @@ #include "../composite/rca.hpp" #include "../composite/stage.hpp" #include "../../gamestatus.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../resources.hpp" @@ -33,6 +32,7 @@ #include "../../wml_exception.hpp" #include "../../pathfind/pathfind.hpp" +#include #include @@ -306,7 +306,7 @@ bool recruitment_phase::recruit_usage(const std::string& usage) bool found = false; // Find an available unit that can be recruited, // matches the desired usage type, and comes in under budget. - foreach (const std::string &name, current_team().recruits()) + BOOST_FOREACH(const std::string &name, current_team().recruits()) { const unit_type *ut = unit_types.find(name); if (!ut) continue; @@ -686,7 +686,7 @@ double move_leader_to_goals_phase::evaluate() possible_moves.insert(std::pair(leader->get_location(), leader_paths)); map_location loc; - foreach (const map_location &l, route.steps) + BOOST_FOREACH(const map_location &l, route.steps) { if (leader_paths.destinations.contains(l) && power_projection(l, get_enemy_dstsrc()) < leader->hitpoints() * max_risk) @@ -779,7 +779,7 @@ double move_leader_to_keep_phase::evaluate() // The leader can't move to his keep, try to move to the closest location // to the keep where there are no enemies in range. int current_distance = distance_between(leader->get_location(), keep); - foreach (const pathfind::paths::step &dest, leader_paths.destinations) + BOOST_FOREACH(const pathfind::paths::step &dest, leader_paths.destinations) { if (!units_.find(dest.curr).valid()){ const int new_distance = distance_between(dest.curr,keep); @@ -1728,12 +1728,12 @@ double retreat_phase::evaluate() }*/ //int leader_adj_count = 0; std::vector leaders_adj_v; - foreach(unit_map::const_iterator leader, leaders){ + BOOST_FOREACH(unit_map::const_iterator leader, leaders){ map_location tmp_leader_adj[6]; get_adjacent_tiles(leader->get_location(), tmp_leader_adj); - foreach(map_location &loc, tmp_leader_adj){ + BOOST_FOREACH(map_location &loc, tmp_leader_adj){ bool found = false; - foreach(map_location &new_loc, leaders_adj_v){ + BOOST_FOREACH(map_location &new_loc, leaders_adj_v){ if(new_loc == loc){ found = true; break; @@ -1974,7 +1974,7 @@ double passive_leader_shares_keep_phase::evaluate() } std::vector ai_leaders = resources::units->find_leaders(get_side()); bool allied_leaders_available = false; - foreach(team &tmp_team, *resources::teams){ + BOOST_FOREACH(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()){ @@ -2001,7 +2001,7 @@ void passive_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 - foreach(unit_map::unit_iterator &ai_leader, ai_leaders){ + BOOST_FOREACH(unit_map::unit_iterator &ai_leader, ai_leaders){ //only if leader is on a keep if (!resources::game_map->is_keep(ai_leader->get_location())) { continue; @@ -2059,7 +2059,7 @@ void passive_leader_shares_keep_phase::execute() } ai_leader->remove_movement_ai(); } - foreach(unit_map::unit_iterator &leader, ai_leaders){ + BOOST_FOREACH(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/testing/ca_global_fallback.cpp b/src/ai/testing/ca_global_fallback.cpp index fae49f549f47..91b1b2643056 100644 --- a/src/ai/testing/ca_global_fallback.cpp +++ b/src/ai/testing/ca_global_fallback.cpp @@ -25,7 +25,6 @@ #include "../actions.hpp" #include "../../game_display.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../map_label.hpp" @@ -36,6 +35,7 @@ #include "../../terrain_filter.hpp" #include "../../tod_manager.hpp" +#include namespace ai { @@ -89,7 +89,7 @@ void global_fallback_phase::execute() LOG_AI << "start" << std::endl; const int ticks = SDL_GetTicks(); double res_sum = 0; - foreach( unit &u, *resources::units) + BOOST_FOREACH( unit &u, *resources::units) { if (u.side()!=get_side()) { diff --git a/src/ai/testing/ca_testing_move_to_targets.cpp b/src/ai/testing/ca_testing_move_to_targets.cpp index f2143587d77e..aa4e0d1d237e 100644 --- a/src/ai/testing/ca_testing_move_to_targets.cpp +++ b/src/ai/testing/ca_testing_move_to_targets.cpp @@ -22,7 +22,6 @@ #include "../composite/ai.hpp" #include "../actions.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../resources.hpp" diff --git a/src/ai/testing/ca_testing_recruitment.cpp b/src/ai/testing/ca_testing_recruitment.cpp index 3a5189ca2e61..c825e864ce29 100644 --- a/src/ai/testing/ca_testing_recruitment.cpp +++ b/src/ai/testing/ca_testing_recruitment.cpp @@ -25,7 +25,6 @@ #include "../composite/rca.hpp" #include "../composite/stage.hpp" #include "../../gamestatus.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include "../../map.hpp" #include "../../resources.hpp" @@ -33,6 +32,7 @@ #include "../../wml_exception.hpp" #include "../../pathfind/pathfind.hpp" +#include #include #include @@ -206,7 +206,7 @@ class fake_team int get_current_qty(const std::string &name) const { int counter = 0; - foreach(unit &un, *resources::units){ + BOOST_FOREACH(unit &un, *resources::units){ if(un.side() == side() && un.type_id() == name) // @todo: is type_id good? { counter++; @@ -345,7 +345,7 @@ static int compare_unit_types(const unit_type& a, const unit_type& b) const int hitpoints_const = 100; double score = 0; double total_weight = 0; - foreach(const unit &enemy_unit, *resources::units) + BOOST_FOREACH(const unit &enemy_unit, *resources::units) { if(enemy_unit.can_recruit() || !t.is_enemy(enemy_unit.side())) { @@ -358,13 +358,13 @@ static int compare_unit_types(const unit_type& a, const unit_type& b) score += compare_unit_types(info, *enemy_info) * weight; } - foreach(fake_team &enemy_team, fake_teams) + BOOST_FOREACH(fake_team &enemy_team, fake_teams) { if(!t.is_enemy(enemy_team.side())) { continue; } - foreach(const potential_recruit &enemy_unit, enemy_team.extra_units()) + BOOST_FOREACH(const potential_recruit &enemy_unit, enemy_team.extra_units()) { const unit_type *enemy_info = enemy_unit.type(); VALIDATE(enemy_info, "Unknown unit type : " + enemy_unit.id() + " while updating recruit quality."); @@ -386,7 +386,7 @@ static int compare_unit_types(const unit_type& a, const unit_type& b) /*static void update_recruit_qualities(fake_team &t, std::vector &fake_teams) { - foreach ( potential_recruit &recruit, t.recruit_list() ) + BOOST_FOREACH( potential_recruit &recruit, t.recruit_list() ) { double score = get_unit_quality(*recruit.type(),t,fake_teams); recruit.set_quality(score); @@ -425,11 +425,11 @@ static std::vector ai_choose_best_recruits(fake_team &t, int } std::map current_units; - foreach (const potential_recruit &i, t.extra_units()) + BOOST_FOREACH(const potential_recruit &i, t.extra_units()) { current_units[(i.id())]++; } - foreach (const unit &i, *resources::units) + BOOST_FOREACH(const unit &i, *resources::units) { if (i.side()==t.side()) { @@ -440,7 +440,7 @@ static std::vector ai_choose_best_recruits(fake_team &t, int double max_quality = recruit_list[0].quality(); int max_cost = recruit_list[0].cost(); std::vector sorted = std::vector(); - foreach(const potential_recruit &i, recruit_list) + BOOST_FOREACH(const potential_recruit &i, recruit_list) { if(i.cost() > max_cost) { @@ -457,7 +457,7 @@ static std::vector ai_choose_best_recruits(fake_team &t, int potential_recruit_sorter sorter(max_cost, max_quality, quality_factor); std::sort(sorted.begin(), sorted.end(), sorter); int recruited = 0; - foreach(const potential_recruit *i, sorted) + BOOST_FOREACH(const potential_recruit *i, sorted) { if(recruited < max_units_to_recruit) { @@ -488,7 +488,7 @@ static std::vector ai_choose_best_recruits(fake_team &t, int static void ai_choose_recruits(fake_team &t, int max_units_to_recruit, double quality_factor, bool counter_recruit) { std::vector recruits = ai_choose_best_recruits(t, max_units_to_recruit, quality_factor, counter_recruit); - foreach(potential_recruit &i, recruits) { + BOOST_FOREACH(potential_recruit &i, recruits) { t.fake_recruit(i); } @@ -554,7 +554,7 @@ static void get_recruit_qualities(std::vector &recruit_list, //DBG_AI << "start of get_recruit_qualities" << std::endl; typedef std::map > unit_map; unit_map enemies; - foreach(unit &un, *resources::units){ + BOOST_FOREACH(unit &un, *resources::units){ if(t.is_enemy(un.side()) && !un.can_recruit()){ enemies[un.type()].push_back( static_cast(un.hitpoints()) @@ -562,10 +562,10 @@ static void get_recruit_qualities(std::vector &recruit_list, } } DBG_AI << "before extra_units of fake_teams: enemies.size() = " << enemies.size() << std::endl; - foreach(fake_team &tmp_t, fake_teams) + BOOST_FOREACH(fake_team &tmp_t, fake_teams) { if (t.is_enemy(tmp_t.side())) { - foreach(potential_recruit &rec, tmp_t.extra_units()) + BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) { enemies[rec.type()].push_back(1.0); } @@ -573,10 +573,10 @@ static void get_recruit_qualities(std::vector &recruit_list, } DBG_AI << "after extra_units of fake_teams: enemies.size() = " << enemies.size() << std::endl; - foreach(potential_recruit &rec, recruit_list) { + BOOST_FOREACH(potential_recruit &rec, recruit_list) { double score = 0; double weighting = 0; - foreach(unit_map::value_type &enemy, enemies) { + BOOST_FOREACH(unit_map::value_type &enemy, enemies) { double hitpoints_sum = std::accumulate(enemy.second.begin(),enemy.second.end(),0); score += compare_unit_types(*rec.type(), *enemy.first) * hitpoints_sum; weighting += hitpoints_sum; @@ -621,14 +621,14 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto { std::vector defenders; std::vector enemies; - foreach(unit &un, *resources::units) + BOOST_FOREACH(unit &un, *resources::units) { if(t.is_enemy(un.side())) { // const unit_type &enemy_type = *un.type(); //enemy_pair_type *pair = new enemy_pair_type(new unit_data(un.id(), un.type())); enemy_pair_type *pair = new enemy_pair_type(un.type()); - foreach(unit &defender, *resources::units) + BOOST_FOREACH(unit &defender, *resources::units) { if(!t.is_enemy(defender.side())){ //int score = compare_unit_types(*defender.type(), enemy_type); @@ -639,9 +639,9 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto //} } } - foreach(fake_team &tmp_t, fake_teams){ + BOOST_FOREACH(fake_team &tmp_t, fake_teams){ if(!t.is_enemy(tmp_t.side())){ - foreach(potential_recruit &rec, tmp_t.extra_units()){ + BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ // int score = compare_unit_types(*rec.type(), enemy_type); // if(score >= 0){ //pair->add_defender(new unit_data(rec.id(), rec.type())); @@ -657,7 +657,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto //const unit_type &defender_type = *un.type(); //defender_pair_type *pair = new defender_pair_type(new unit_data(un.id(), un.type())); defender_pair_type *pair = new defender_pair_type(un.type()); - foreach(unit &enemy, *resources::units) + BOOST_FOREACH(unit &enemy, *resources::units) { //int score = compare_unit_types(defender_type, *enemy.type()); //if(score >= 0) @@ -666,9 +666,9 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto pair->add_enemy(enemy.type()); //} } - foreach(fake_team &tmp_t, fake_teams){ + BOOST_FOREACH(fake_team &tmp_t, fake_teams){ if(t.is_enemy(tmp_t.side())){ - foreach(potential_recruit &rec, tmp_t.extra_units()){ + BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ //int score = compare_unit_types(defender_type, *rec.type()); //if(score >= 0){ //pair->add_enemy(new unit_data(rec.id(), rec.type())); @@ -680,14 +680,14 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto defenders.push_back(pair); } } - foreach(fake_team &tmp_t, fake_teams) + BOOST_FOREACH(fake_team &tmp_t, fake_teams) { - foreach(potential_recruit &rec, tmp_t.extra_units()){ + BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ if(t.is_enemy(tmp_t.side())){ //const unit_type &enemy_type = *rec.type(); //enemy_pair_type *pair = new enemy_pair_type(new unit_data(rec.id(), rec.type())); enemy_pair_type *pair = new enemy_pair_type(rec.type()); - foreach(unit &defender, *resources::units){ + BOOST_FOREACH(unit &defender, *resources::units){ if(t.is_enemy(defender.side())){ continue; } @@ -698,11 +698,11 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto //} } //HIER - foreach(fake_team &sub_t, fake_teams){ + BOOST_FOREACH(fake_team &sub_t, fake_teams){ if(t.is_enemy(sub_t.side())){ continue; } - foreach(potential_recruit &sub_rec, sub_t.extra_units()){ + BOOST_FOREACH(potential_recruit &sub_rec, sub_t.extra_units()){ //int score = compare_unit_types(*sub_rec.type(), enemy_type); //if(score >= 0){ //pair->add_defender(new unit_data(sub_rec.id(), sub_rec.type())); @@ -715,7 +715,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto //const unit_type &defender_type = *rec.type(); //defender_pair_type *pair = new defender_pair_type(new unit_data(rec.id(), rec.type())); defender_pair_type *pair = new defender_pair_type(rec.type()); - foreach(unit &enemy, *resources::units) + BOOST_FOREACH(unit &enemy, *resources::units) { if(!t.is_enemy(enemy.side())){ continue; @@ -726,11 +726,11 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto pair->add_enemy(rec.type()); // } } - foreach(fake_team &sub_t, fake_teams){ + BOOST_FOREACH(fake_team &sub_t, fake_teams){ if(!t.is_enemy(sub_t.side())){ continue; } - foreach(potential_recruit &sub_rec, sub_t.extra_units()){ + BOOST_FOREACH(potential_recruit &sub_rec, sub_t.extra_units()){ // int score = compare_unit_types(defender_type, *sub_rec.type()); // if(score >= 0){ //pair->add_enemy(new unit_data(sub_rec.id(), sub_rec.type())); @@ -744,17 +744,17 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto } double min_score = 0; double max_score = 0; - foreach(enemy_pair_type *pair, enemies) + BOOST_FOREACH(enemy_pair_type *pair, enemies) { // if(pair->defenders.size() == 0) // { // pair->score = -10000; // }else{ - //foreach(unit_data *defender, pair->defenders) - foreach(unit_type *defender, pair->defenders) + //BOOST_FOREACH(unit_data *defender, pair->defenders) + BOOST_FOREACH(unit_type *defender, pair->defenders) { unsigned int defender_enemies = 0; - foreach(defender_pair_type *defender_p, defenders) + BOOST_FOREACH(defender_pair_type *defender_p, defenders) { //if(defender->id == defender_p->defender->id){ if(defender->type_name()() == defender_p->defender->type_name()){ @@ -778,7 +778,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto } double score = 0; score -= max_score - min_score; - foreach(enemy_pair_type *pair, enemies) + BOOST_FOREACH(enemy_pair_type *pair, enemies) { score += pair->score; } @@ -798,16 +798,16 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto typedef std::map > unit_map; unit_map enemies; unit_map defenders; - foreach(unit &un, *resources::units){ + BOOST_FOREACH(unit &un, *resources::units){ if(t.is_enemy(un.side())){ enemies[un.type()].push_back((double)un.hitpoints() / (double)un.max_hitpoints()); }else{ defenders[un.type()].push_back(un.hitpoints() / un.max_hitpoints()); } } - foreach(fake_team &tmp_t, fake_teams) + BOOST_FOREACH(fake_team &tmp_t, fake_teams) { - foreach(potential_recruit &rec, tmp_t.extra_units()) + BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) { if(t.is_enemy(tmp_t.side())){ enemies[rec.type()].push_back(1.0); @@ -817,13 +817,13 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto } } double result = 0; - foreach(unit_map::value_type &defender, defenders) + BOOST_FOREACH(unit_map::value_type &defender, defenders) { double defenders_score = 0; - foreach(unit_map::value_type &enemy, enemies) + BOOST_FOREACH(unit_map::value_type &enemy, enemies) { double hitpoints_sum = 0; - foreach(double i, enemy.second) + BOOST_FOREACH(double i, enemy.second) { hitpoints_sum += i; } @@ -831,7 +831,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto } double hitpoints_sum = 0; - foreach(double i, defender.second) + BOOST_FOREACH(double i, defender.second) { hitpoints_sum += i; } @@ -842,7 +842,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto return result; // vector defenders; // vector enemies; -// //foreach(unit &un, *resources::units) +// //BOOST_FOREACH(unit &un, *resources::units) // //{ // // if(t.is_enemy(un.side())) // // { @@ -851,14 +851,14 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // // defenders.push_back(un.id()); // // } // //} -// foreach(unit &un, *resources::units) +// BOOST_FOREACH(unit &un, *resources::units) // { // if(t.is_enemy(un.side())) // { // const unit_type &enemy_type = un.type(); // enemy_pair pair; // pair.enemy = new unit_data(un.id(), enemy_type); -// foreach(unit &defender, *resources::units) +// BOOST_FOREACH(unit &defender, *resources::units) // { // int score = compare_unit_types(defender.type(), enemy_type); // if(score >= 0) @@ -873,7 +873,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // const unit_type &defender_type = un.type(); // defender_pair pair; // pair.defender = new unit_data(defender.id(), defender_type); -// foreach(unit &enemy, *resources::units) +// BOOST_FOREACH(unit &enemy, *resources::units) // { // int score = compare_unit_types(defender_type, enemy.type()); // if(score >= 0) @@ -885,10 +885,10 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // enemies.push_back(pair); // } // } -// foreach(fake_team &tmp_t, fake_teams) +// BOOST_FOREACH(fake_team &tmp_t, fake_teams) // { // if(t.is_enemy(tmp_t.side())){ -// foreach(potential_recruit &rec, tmp_t.extra_units()) +// BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) // { // // } @@ -898,7 +898,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // // } // //std::vector no_defense_enemies; -// foreach(enemy_pair &pair, enemies) +// BOOST_FOREACH(enemy_pair &pair, enemies) // { // if(pair.defenders.size() == 0) // { @@ -906,11 +906,11 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // // pair.score = 0; // }else{ -// foreach(unit_data &defender, pair.defenders) +// BOOST_FOREACH(unit_data &defender, pair.defenders) // { // //unit_type &defender = defender_data.type; // unsigned int defender_enemies = 0; -// foreach(defender_pair &defender_p, defenders) +// BOOST_FOREACH(defender_pair &defender_p, defenders) // { // if(defender.id == defender_p.defender.id){ // defender_enemies = defender_p.enemies.size(); @@ -924,7 +924,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // } // //enemy_pair *worst_pair = &enemies[0]; // double total_score = 0; -// foreach(enemy_pair &pair, enemies) +// BOOST_FOREACH(enemy_pair &pair, enemies) // { // total_score += pair.score; // } @@ -936,7 +936,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // //unit &worst_def_unit; // vector defenders; // vector enemies; -// /*foreach(unit &un, *resources::units) +// /*BOOST_FOREACH(unit &un, *resources::units) // { // if(t.is_enemy(un.side())) // { @@ -945,14 +945,14 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // defenders.push_back(un.id()); // } // }*/ -// foreach(unit &un, *resources::units) +// BOOST_FOREACH(unit &un, *resources::units) // { // if(t.is_enemy(un.side())) // { // const unit_type &enemy_type = un.type(); // enemy_pair pair; // pair.enemy = un; -// foreach(unit &defender, *resources::units) +// BOOST_FOREACH(unit &defender, *resources::units) // { // int score = compare_unit_types(defender.type(), enemy_type); // if(score >= 0) @@ -967,7 +967,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // const unit_type &defender_type = un.type(); // defender_pair pair; // pair.defender = un; -// foreach(unit &enemy, *resources::units) +// BOOST_FOREACH(unit &enemy, *resources::units) // { // int score = compare_unit_types(defender_type, enemy.type()); // if(score >= 0) @@ -980,7 +980,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // } // } // //std::vector no_defense_enemies; -// foreach(enemy_pair &pair, enemies) +// BOOST_FOREACH(enemy_pair &pair, enemies) // { // if(pair.defenders.size() == 0) // { @@ -988,10 +988,10 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // return pair.enemy; // //pair.score = 0; // }else{ -// foreach(unit &defender, pair.defenders) +// BOOST_FOREACH(unit &defender, pair.defenders) // { // unsigned int defender_enemies = 0; -// foreach(defender_pair &defender_p, defenders) +// BOOST_FOREACH(defender_pair &defender_p, defenders) // { // if(defender.id() == defender_p.defender.id()){ // defender_enemies = defender_p.enemies.size(); @@ -1004,7 +1004,7 @@ static void get_recruit_quality(potential_recruit &rec, fake_team &t, std::vecto // } // } // enemy_pair *worst_pair = &enemies[0]; -// foreach(enemy_pair &pair, enemies) +// BOOST_FOREACH(enemy_pair &pair, enemies) // { // if(pair.score < worst_pair.score) // { @@ -1039,16 +1039,16 @@ void testing_recruitment_phase::do_recruit(int max_units_to_recruit, double qual for(int recruited_amount = 0; recruited_amount < max_units_to_recruit; recruited_amount++) { - foreach(fake_team &t, fake_teams) + BOOST_FOREACH(fake_team &t, fake_teams) { t.reset(); } std::vector ai_recruit_list = ai_t->recruit_list(); - foreach(potential_recruit &recruit_type, ai_recruit_list) + BOOST_FOREACH(potential_recruit &recruit_type, ai_recruit_list) { - foreach(fake_team &t, fake_teams) + BOOST_FOREACH(fake_team &t, fake_teams) { t.reset(); } @@ -1063,7 +1063,7 @@ void testing_recruitment_phase::do_recruit(int max_units_to_recruit, double qual } LOG_AI << "Pretend that we recruited: " << recruit_type.id() << std::endl; ai_t->fake_recruit(recruit_type); - foreach(fake_team &t, fake_teams) + BOOST_FOREACH(fake_team &t, fake_teams) { if(ai_t->side() == t.side()) { diff --git a/src/ai/testing/stage_fallback.cpp b/src/ai/testing/stage_fallback.cpp index 315a1ceb6d30..a08f303ae664 100644 --- a/src/ai/testing/stage_fallback.cpp +++ b/src/ai/testing/stage_fallback.cpp @@ -23,7 +23,6 @@ #include "../configuration.hpp" #include "../manager.hpp" #include "../composite/ai.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" namespace ai { diff --git a/src/ai/testing/stage_rca.cpp b/src/ai/testing/stage_rca.cpp index f98a5ae79aa5..ff39761f96c9 100644 --- a/src/ai/testing/stage_rca.cpp +++ b/src/ai/testing/stage_rca.cpp @@ -25,10 +25,10 @@ #include "../composite/engine.hpp" #include "../composite/property_handler.hpp" #include "../gamestate_observer.hpp" -#include "../../foreach.hpp" #include "../../log.hpp" #include +#include namespace ai { @@ -49,7 +49,7 @@ candidate_action_evaluation_loop::candidate_action_evaluation_loop( ai_context & void candidate_action_evaluation_loop::on_create() { //init the candidate actions - foreach(const config &cfg_element, cfg_.child_range("candidate_action")){ + BOOST_FOREACH(const config &cfg_element, cfg_.child_range("candidate_action")){ engine::parse_candidate_action_from_config(*this,cfg_element,back_inserter(candidate_actions_)); } @@ -69,7 +69,7 @@ void candidate_action_evaluation_loop::create_candidate_action(std::vectorto_config()); } return cfg; @@ -88,7 +88,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; - foreach(candidate_action_ptr ca, candidate_actions_){ + BOOST_FOREACH(candidate_action_ptr ca, candidate_actions_){ ca->enable(); } @@ -103,7 +103,7 @@ bool candidate_action_evaluation_loop::do_play_stage() candidate_action_ptr best_ptr; //Evaluation - foreach(candidate_action_ptr ca_ptr, candidate_actions_){ + BOOST_FOREACH(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/arrow.cpp b/src/arrow.cpp index 96e83ac2e0e5..669375c111e2 100644 --- a/src/arrow.cpp +++ b/src/arrow.cpp @@ -20,11 +20,12 @@ #include "arrow.hpp" -#include "foreach.hpp" #include "game_display.hpp" #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) @@ -293,7 +294,7 @@ void arrow::invalidate_arrow_path(arrow_path_t const& path) { if(!SCREEN) return; - foreach(map_location const& loc, path) + BOOST_FOREACH(map_location const& loc, path) { SCREEN->invalidate(loc); } diff --git a/src/builder.cpp b/src/builder.cpp index b04b551ede36..4bd867684d1e 100644 --- a/src/builder.cpp +++ b/src/builder.cpp @@ -20,13 +20,14 @@ #include "builder.hpp" -#include "foreach.hpp" #include "loadscreen.hpp" #include "log.hpp" #include "map.hpp" #include "serialization/string_utils.hpp" #include "image.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) @@ -65,12 +66,12 @@ void terrain_builder::tile::rebuild_cache(const std::string& tod, logs* log) sorted_images = true; } - foreach(const rule_image_rand& ri, images){ + BOOST_FOREACH(const rule_image_rand& ri, images){ bool is_background = ri->is_background(); imagelist& img_list = is_background ? images_background : images_foreground; - foreach(const rule_image_variant& variant, ri->variants){ + BOOST_FOREACH(const rule_image_variant& variant, ri->variants){ if(!variant.tods.empty() && variant.tods.find(tod) == variant.tods.end()) continue; @@ -250,12 +251,12 @@ bool terrain_builder::update_animation(const map_location &loc) tile& btile = tile_map_[loc]; - foreach(animated& a, btile.images_background) { + BOOST_FOREACH(animated& a, btile.images_background) { if(a.need_update()) changed = true; a.update_last_draw_time(); } - foreach(animated& a, btile.images_foreground) { + BOOST_FOREACH(animated& a, btile.images_foreground) { if(a.need_update()) changed = true; a.update_last_draw_time(); @@ -326,7 +327,7 @@ static std::vector get_variations(const std::string& base, const st } std::vector vars = utils::split(variations, ';', 0); - foreach(const std::string& v, vars){ + BOOST_FOREACH(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) { @@ -345,21 +346,21 @@ bool terrain_builder::load_images(building_rule &rule) // Parse images and animations data // If one is not valid, return false. - foreach(terrain_constraint &constraint, rule.constraints) + BOOST_FOREACH(terrain_constraint &constraint, rule.constraints) { - foreach(rule_image& ri, constraint.images) + BOOST_FOREACH(rule_image& ri, constraint.images) { - foreach(rule_image_variant& variant, ri.variants) + BOOST_FOREACH(rule_image_variant& variant, ri.variants) { std::vector var_strings = get_variations(variant.image_string, variant.variations); - foreach(const std::string& var, var_strings) + BOOST_FOREACH(const std::string& var, var_strings) { /** @todo improve this, 99% of terrains are not animated. */ std::vector frames = utils::parenthetical_split(var,','); animated res; - foreach(const std::string& frame, frames) + BOOST_FOREACH(const std::string& frame, frames) { const std::vector items = utils::split(frame, ':'); const std::string& str = items.front(); @@ -499,7 +500,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) { - foreach(rule_image_variant& variant, image.variants) { + BOOST_FOREACH(rule_image_variant& variant, image.variants) { replace_rotate_tokens(variant, angle, replacement); } } @@ -507,7 +508,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) { - foreach (rule_image &img, list) { + BOOST_FOREACH(rule_image &img, list) { replace_rotate_tokens(img, angle, replacement); } } @@ -515,16 +516,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) { - foreach (terrain_constraint &cons, rule.constraints) + BOOST_FOREACH(terrain_constraint &cons, rule.constraints) { // Transforms attributes - foreach (std::string &flag, cons.set_flag) { + BOOST_FOREACH(std::string &flag, cons.set_flag) { replace_rotate_tokens(flag, angle, replacement); } - foreach (std::string &flag, cons.no_flag) { + BOOST_FOREACH(std::string &flag, cons.no_flag) { replace_rotate_tokens(flag, angle, replacement); } - foreach (std::string &flag, cons.has_flag) { + BOOST_FOREACH(std::string &flag, cons.has_flag) { replace_rotate_tokens(flag, angle, replacement); } replace_rotate_tokens(cons.images, angle, replacement); @@ -541,7 +542,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, return; } - foreach (terrain_constraint &cons, ret.constraints) { + BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { rotate(cons, angle); } @@ -549,7 +550,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, int minx = INT_MAX; int miny = INT_MAX; - foreach (const terrain_constraint &cons, ret.constraints) { + BOOST_FOREACH(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); } @@ -559,7 +560,7 @@ void terrain_builder::rotate_rule(building_rule &ret, int angle, if(!(miny & 1) && (minx & 1) && (minx > 0)) miny -= 2; - foreach (terrain_constraint &cons, ret.constraints) { + BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { cons.loc.legacy_sum_assign(map_location(-minx, -((miny - 1) / 2))); } @@ -581,7 +582,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) { - foreach (const config &img, cfg.child_range("image")) + BOOST_FOREACH(const config &img, cfg.child_range("image")) { int layer = img["layer"]; @@ -606,7 +607,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)); // Adds the other variants of the image - foreach (const config &variant, img.child_range("variant")) + BOOST_FOREACH(const config &variant, img.child_range("variant")) { const std::string &name = variant["name"]; const std::string &variations = img["variations"]; @@ -631,7 +632,7 @@ terrain_builder::terrain_constraint &terrain_builder::add_constraints( const t_translation::t_match& type, const config& global_images) { terrain_constraint *cons = NULL; - foreach (terrain_constraint &c, constraints) { + BOOST_FOREACH(terrain_constraint &c, constraints) { if (c.loc == loc) { cons = &c; break; @@ -769,7 +770,7 @@ void terrain_builder::parse_config(const config &cfg, bool local) log_scope("terrain_builder::parse_config"); // Parses the list of building rules (BRs) - foreach (const config &br, cfg.child_range("terrain_graphics")) + BOOST_FOREACH(const config &br, cfg.child_range("terrain_graphics")) { building_rule pbr; // Parsed Building rule pbr.local = local; @@ -788,7 +789,7 @@ void terrain_builder::parse_config(const config &cfg, bool local) parse_mapstring(br["map"], pbr, anchors, br); // Parses the terrain constraints (TCs) - foreach (const config &tc, br.child_range("tile")) + BOOST_FOREACH(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. @@ -831,7 +832,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"]); - foreach (terrain_constraint &constraint, pbr.constraints) + BOOST_FOREACH(terrain_constraint &constraint, pbr.constraints) { constraint.set_flag.insert(constraint.set_flag.end(), global_set_flag.begin(), global_set_flag.end()); @@ -925,7 +926,7 @@ bool terrain_builder::rule_matches(const terrain_builder::building_rule &rule, } } - foreach (const terrain_constraint &cons, rule.constraints) + BOOST_FOREACH(const terrain_constraint &cons, rule.constraints) { // Translated location const map_location tloc = loc.legacy_sum(cons.loc); @@ -943,13 +944,13 @@ bool terrain_builder::rule_matches(const terrain_builder::building_rule &rule, const std::set &flags = tile_map_[tloc].flags; - foreach (const std::string &s, cons.no_flag) { + BOOST_FOREACH(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; } } - foreach (const std::string &s, cons.has_flag) { + BOOST_FOREACH(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; @@ -964,7 +965,7 @@ void terrain_builder::apply_rule(const terrain_builder::building_rule &rule, con { unsigned int rand_seed = get_noise(loc, rule.get_hash()); - foreach (const terrain_constraint &constraint, rule.constraints) + BOOST_FOREACH(const terrain_constraint &constraint, rule.constraints) { const map_location tloc = loc.legacy_sum(constraint.loc); if(!tile_map_.on_map(tloc)) { @@ -973,12 +974,12 @@ void terrain_builder::apply_rule(const terrain_builder::building_rule &rule, con tile& btile = tile_map_[tloc]; - foreach (const rule_image &img, constraint.images) { + BOOST_FOREACH(const rule_image &img, constraint.images) { btile.images.push_back(tile::rule_image_rand(&img, rand_seed)); } // Sets flags - foreach (const std::string &flag, constraint.set_flag) { + BOOST_FOREACH(const std::string &flag, constraint.set_flag) { btile.flags.insert(flag); } @@ -1001,9 +1002,9 @@ unsigned int terrain_builder::building_rule::get_hash() const if(hash_ != DUMMY_HASH) return hash_; - foreach(const terrain_constraint &constraint, constraints) { - foreach(const rule_image& ri, constraint.images) { - foreach(const rule_image_variant& variant, ri.variants) { + BOOST_FOREACH(const terrain_constraint &constraint, constraints) { + BOOST_FOREACH(const rule_image& ri, constraint.images) { + BOOST_FOREACH(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); } @@ -1031,7 +1032,7 @@ void terrain_builder::build_terrains() } } - foreach (const building_rule &rule, building_rules_) + BOOST_FOREACH(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 @@ -1040,7 +1041,7 @@ void terrain_builder::build_terrains() t_translation::t_list min_types; const terrain_constraint *min_constraint = NULL; - foreach (const terrain_constraint &constraint, rule.constraints) + BOOST_FOREACH(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/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index dee6e34069f2..c8516aea765c 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -21,7 +21,6 @@ */ #include "filesystem.hpp" -#include "foreach.hpp" #include "log.hpp" #include "network_worker.hpp" #include "serialization/binary_or_text.hpp" @@ -35,6 +34,7 @@ #include +#include #include // the fork execute is unix specific only tested on Linux quite sure it won't @@ -202,7 +202,7 @@ namespace { void find_translations(const config& cfg, config& campaign) { - foreach (const config &dir, cfg.child_range("dir")) + BOOST_FOREACH(const config &dir, cfg.child_range("dir")) { if (dir["name"] == "LC_MESSAGES") { config &language = campaign.add_child("translation"); @@ -249,7 +249,7 @@ namespace { LOG_CS << "Encoding all stored addons. Number of addons: " << std::distance(camps.first, camps.second) << '\n'; - foreach (const config &cm, camps) + BOOST_FOREACH(const config &cm, camps) { LOG_CS << "Encoding " << cm["name"] << '\n'; std::string filename = cm["filename"], newfilename = filename + ".new"; @@ -345,7 +345,7 @@ namespace { } catch(bad_lexical_cast) {} std::string name = req["name"], lang = req["language"]; - foreach (const config &i, campaigns().child_range("campaign")) + BOOST_FOREACH(const config &i, campaigns().child_range("campaign")) { if (!name.empty() && name != i["name"]) continue; std::string tm = i["timestamp"]; @@ -353,7 +353,7 @@ namespace { if (after_flag && (tm.empty() || lexical_cast_default(tm, 0) <= after)) continue; if (!lang.empty()) { bool found = false; - foreach (const config &j, i.child_range("translation")) { + BOOST_FOREACH(const config &j, i.child_range("translation")) { if (j["language"] == lang) { found = true; break; @@ -364,7 +364,7 @@ namespace { campaign_list.add_child("campaign", i); } - foreach (config &j, campaign_list.child_range("campaign")) { + BOOST_FOREACH(config &j, campaign_list.child_range("campaign")) { j["passphrase"] = t_string(); j["upload_ip"] = t_string(); j["email"] = t_string(); @@ -402,7 +402,7 @@ namespace { std::string lc_name(name.size(), ' '); std::transform(name.begin(), name.end(), lc_name.begin(), tolower); config *campaign = NULL; - foreach (config &c, campaigns().child_range("campaign")) { + BOOST_FOREACH(config &c, campaigns().child_range("campaign")) { if (utils::lowercase(c["name"]) == lc_name) { campaign = &c; break; diff --git a/src/cavegen.cpp b/src/cavegen.cpp index 76fab99c2e76..9be7b2851aeb 100644 --- a/src/cavegen.cpp +++ b/src/cavegen.cpp @@ -21,13 +21,14 @@ #include "global.hpp" #include "cavegen.hpp" -#include "foreach.hpp" #include "log.hpp" #include "map.hpp" #include "pathfind/pathfind.hpp" #include "serialization/string_utils.hpp" #include "util.hpp" +#include + static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) @@ -147,7 +148,7 @@ void cave_map_generator::build_chamber(map_location loc, std::set& void cave_map_generator::generate_chambers() { - foreach (const config &ch, cfg_.child_range("chamber")) + BOOST_FOREACH(const config &ch, cfg_.child_range("chamber")) { // If there is only a chance of the chamber appearing, deal with that here. if (ch.has_attribute("chance") && (rand() % 100) < ch["chance"].to_int()) { @@ -195,7 +196,7 @@ void cave_map_generator::generate_chambers() chambers_.push_back(new_chamber); - foreach (const config &p, ch.child_range("passage")) + BOOST_FOREACH(const config &p, ch.child_range("passage")) { const std::string &dst = p["destination"]; @@ -220,7 +221,7 @@ void cave_map_generator::place_chamber(const chamber& c) if (c.items == NULL || c.locs.empty()) return; size_t index = 0; - foreach (const config::any_child &it, c.items->all_children_range()) + BOOST_FOREACH(const config::any_child &it, c.items->all_children_range()) { config cfg = it.cfg; config &filter = cfg.child("filter"); diff --git a/src/commandline_options.cpp b/src/commandline_options.cpp index 95688afca66f..a70a744ac17c 100644 --- a/src/commandline_options.cpp +++ b/src/commandline_options.cpp @@ -14,12 +14,12 @@ */ #include "commandline_options.hpp" -#include "foreach.hpp" #include "serialization/string_utils.hpp" #include "util.hpp" #include "lua/llimits.h" #include +#include namespace po = boost::program_options; @@ -374,7 +374,7 @@ commandline_options::commandline_options ( int argc, char** argv ) : void commandline_options::parse_log_domains_(const std::string &domains_string, const int severity) { const std::vector domains = utils::split(domains_string, ','); - foreach (const std::string& domain, domains) + BOOST_FOREACH(const std::string& domain, domains) { if (!log) log = std::vector >(); @@ -396,7 +396,7 @@ std::vector > commandline_options::parse_ { std::vector > vec; boost::tuple elem; - foreach(const std::string &s, strings) + BOOST_FOREACH(const std::string &s, strings) { const std::vector tokens = utils::split(s, separator); if (tokens.size()!=2) @@ -415,7 +415,7 @@ std::vector > commandline_opt { std::vector > vec; boost::tuple elem; - foreach(const std::string &s, strings) + BOOST_FOREACH(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 c75f8ac75d8c..84c9f0ab4105 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -22,7 +22,6 @@ #include "global.hpp" #include "config.hpp" -#include "foreach.hpp" #include "log.hpp" #include "serialization/string_utils.hpp" #include "util.hpp" @@ -31,6 +30,7 @@ #include #include #include +#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -255,7 +255,7 @@ void config::append_children(const config &cfg) { check_valid(cfg); - foreach (const any_child &value, cfg.all_children_range()) { + BOOST_FOREACH(const any_child &value, cfg.all_children_range()) { add_child(value.key, value.cfg); } } @@ -263,7 +263,7 @@ void config::append_children(const config &cfg) void config::append(const config &cfg) { append_children(cfg); - foreach (const attribute &v, cfg.values) { + BOOST_FOREACH(const attribute &v, cfg.values) { values[v.first] = v.second; } } @@ -275,7 +275,7 @@ void config::merge_children(const std::string& key) if (child_count(key) < 2) return; config merged_children; - foreach (const config &cfg, child_range(key)) { + BOOST_FOREACH(const config &cfg, child_range(key)) { merged_children.append(cfg); } @@ -291,7 +291,7 @@ void config::merge_children_by_attribute(const std::string& key, const std::stri typedef std::map config_map; config_map merged_children_map; - foreach (const config &cfg, child_range(key)) { + BOOST_FOREACH(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() ) { @@ -302,7 +302,7 @@ void config::merge_children_by_attribute(const std::string& key, const std::stri } clear_children(key); - foreach (const config_map::value_type &i, merged_children_map) { + BOOST_FOREACH(const config_map::value_type &i, merged_children_map) { add_child(key,i.second); } } @@ -459,7 +459,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()); - foreach (config *c, i->second) { + BOOST_FOREACH(config *c, i->second) { delete c; } @@ -495,7 +495,7 @@ void config::recursive_clear_value(const std::string& key) values.erase(key); - foreach (const any_child &value, all_children_range()) { + BOOST_FOREACH(const any_child &value, all_children_range()) { const_cast(&value.cfg)->recursive_clear_value(key); } } @@ -506,7 +506,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; - foreach (child_pos &p, ordered_children) + BOOST_FOREACH(child_pos &p, ordered_children) { if (p.pos != pos) continue; if (p.index == index) @@ -590,7 +590,7 @@ void config::merge_attributes(const config &cfg) check_valid(cfg); assert(this != &cfg); - foreach (const attribute &v, cfg.values) { + BOOST_FOREACH(const attribute &v, cfg.values) { values[v.first] = v.second; } } @@ -860,21 +860,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")) { - foreach (const attribute &v, inserts.attribute_range()) { + BOOST_FOREACH(const attribute &v, inserts.attribute_range()) { values[v.first] = v.second; } } if (const config &deletes = diff.child("delete")) { - foreach (const attribute &v, deletes.attribute_range()) { + BOOST_FOREACH(const attribute &v, deletes.attribute_range()) { values.erase(v.first); } } - foreach (const config &i, diff.child_range("change_child")) + BOOST_FOREACH(const config &i, diff.child_range("change_child")) { const size_t index = lexical_cast(i["index"].str()); - foreach (const any_child &item, i.all_children_range()) + BOOST_FOREACH(const any_child &item, i.all_children_range()) { if (item.key.empty()) { continue; @@ -889,19 +889,19 @@ void config::apply_diff(const config& diff, bool track /* = false */) } } - foreach (const config &i, diff.child_range("insert_child")) + BOOST_FOREACH(const config &i, diff.child_range("insert_child")) { const size_t index = lexical_cast(i["index"].str()); - foreach (const any_child &item, i.all_children_range()) { + BOOST_FOREACH(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"; } } - foreach (const config &i, diff.child_range("delete_child")) + BOOST_FOREACH(const config &i, diff.child_range("delete_child")) { const size_t index = lexical_cast(i["index"].str()); - foreach (const any_child &item, i.all_children_range()) { + BOOST_FOREACH(const any_child &item, i.all_children_range()) { if (!track) { remove_child(item.key, index); } else { @@ -918,18 +918,18 @@ void config::apply_diff(const config& diff, bool track /* = false */) void config::clear_diff_track(const config& diff) { remove_attribute(diff_track_attribute); - foreach (const config &i, diff.child_range("delete_child")) + BOOST_FOREACH(const config &i, diff.child_range("delete_child")) { const size_t index = lexical_cast(i["index"].str()); - foreach (const any_child &item, i.all_children_range()) { + BOOST_FOREACH(const any_child &item, i.all_children_range()) { remove_child(item.key, index); } } - foreach (const config &i, diff.child_range("change_child")) + BOOST_FOREACH(const config &i, diff.child_range("change_child")) { const size_t index = lexical_cast(i["index"].str()); - foreach (const any_child &item, i.all_children_range()) + BOOST_FOREACH(const any_child &item, i.all_children_range()) { if (item.key.empty()) { continue; @@ -943,7 +943,7 @@ void config::clear_diff_track(const config& diff) itor->second[index]->clear_diff_track(item.cfg); } } - foreach (const any_child &value, all_children_range()) { + BOOST_FOREACH(const any_child &value, all_children_range()) { const_cast(&value.cfg)->remove_attribute(diff_track_attribute); } } @@ -984,20 +984,20 @@ bool config::matches(const config &filter) const { check_valid(filter); - foreach (const attribute &i, filter.attribute_range()) + BOOST_FOREACH(const attribute &i, filter.attribute_range()) { const attribute_value *v = get(i.first); if (!v || *v != i.second) return false; } - foreach (const any_child &i, filter.all_children_range()) + BOOST_FOREACH(const any_child &i, filter.all_children_range()) { if (i.key == "not") { if (matches(i.cfg)) return false; continue; } bool found = false; - foreach (const config &j, child_range(i.key)) { + BOOST_FOREACH(const config &j, child_range(i.key)) { if (j.matches(i.cfg)) { found = true; break; @@ -1021,11 +1021,11 @@ std::ostream& operator << (std::ostream& outstream, const config& cfg) { static int i = 0; i++; - foreach (const config::attribute &val, cfg.attribute_range()) { + BOOST_FOREACH(const config::attribute &val, cfg.attribute_range()) { for (int j = 0; j < i-1; j++){ outstream << char(9); } outstream << val.first << " = " << val.second << '\n'; } - foreach (const config::any_child &child, cfg.all_children_range()) + BOOST_FOREACH(const config::any_child &child, cfg.all_children_range()) { for (int j = 0; j < i - 1; ++j) outstream << char(9); outstream << "[" << child.key << "]\n"; @@ -1054,7 +1054,7 @@ std::string config::hash() const hash_str[hash_length] = 0; i = 0; - foreach (const attribute &val, values) + BOOST_FOREACH(const attribute &val, values) { for (c = val.first.begin(); c != val.first.end(); ++c) { hash_str[i] ^= *c; @@ -1067,10 +1067,10 @@ std::string config::hash() const } } - foreach (const any_child &ch, all_children_range()) + BOOST_FOREACH(const any_child &ch, all_children_range()) { std::string child_hash = ch.cfg.hash(); - foreach (char c, child_hash) { + BOOST_FOREACH(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 7fa7c4fdc09a..517df1f1cac4 100644 --- a/src/config_cache.cpp +++ b/src/config_cache.cpp @@ -17,7 +17,6 @@ #include "config_cache.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "game_config.hpp" #include "game_display.hpp" @@ -29,6 +28,7 @@ #include "serialization/parser.hpp" #include "version.hpp" +#include #include static lg::log_domain log_cache("cache"); @@ -113,7 +113,7 @@ namespace game_config { config_writer writer(*stream, gzip, game_config::cache_compression_level); // write all defines to stream - foreach (const preproc_map::value_type &define, defines_map) { + BOOST_FOREACH(const preproc_map::value_type &define, defines_map) { define.second.write(writer, define.first); } } @@ -262,7 +262,7 @@ namespace game_config { // use static preproc_define::read_pair(config) to make a object // and pass that object config_cache_transaction::insert_to_active method - foreach (const config::any_child &value, cfg.all_children_range()) { + BOOST_FOREACH(const config::any_child &value, cfg.all_children_range()) { config_cache_transaction::instance().insert_to_active( preproc_define::read_pair(value.cfg)); } @@ -271,7 +271,7 @@ namespace game_config { void config_cache::read_defines_queue() { const config_cache_transaction::filenames& files = config_cache_transaction::instance().get_define_files(); - foreach (const std::string &path, files) { + BOOST_FOREACH(const std::string &path, files) { read_defines_file(path); } } @@ -394,7 +394,7 @@ namespace game_config { std::insert_iterator(temp,temp.begin()), &compare_define); - foreach (const preproc_map::value_type &def, temp) { + BOOST_FOREACH(const preproc_map::value_type &def, temp) { insert_to_active(def); } diff --git a/src/controller_base.cpp b/src/controller_base.cpp index 3fb91d176976..421b7d71ad2c 100644 --- a/src/controller_base.cpp +++ b/src/controller_base.cpp @@ -18,11 +18,12 @@ #include "dialogs.hpp" #include "display.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "log.hpp" #include "mouse_handler_base.hpp" +#include + static lg::log_domain log_display("display"); #define ERR_DP LOG_STREAM(err, log_display) @@ -144,7 +145,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; - foreach (const theme::menu& m, get_display().get_theme().menus()) { + BOOST_FOREACH(const theme::menu& m, get_display().get_theme().menus()) { if (point_in_rect(mousex, mousey, m.get_location())) { scroll_threshold = 0; } diff --git a/src/dialogs.cpp b/src/dialogs.cpp index ba99d038acd4..481412d5a49d 100644 --- a/src/dialogs.cpp +++ b/src/dialogs.cpp @@ -22,7 +22,6 @@ #include "actions.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_events.hpp" #include "game_display.hpp" #include "game_preferences.hpp" @@ -49,6 +48,7 @@ #include "gui/dialogs/game_save.hpp" #include "gui/dialogs/transient_message.hpp" +#include //#ifdef _WIN32 //#include "locale.h" @@ -95,7 +95,7 @@ int advance_unit_dialog(const map_location &loc) } bool always_display = false; - foreach (const config &mod, u->get_modification_advances()) + BOOST_FOREACH(const config &mod, u->get_modification_advances()) { if (mod["always_display"].to_bool()) always_display = true; sample_units.push_back(::get_advanced_unit(*u, u->type_id())); @@ -1009,7 +1009,7 @@ const unit_types_preview_pane::details unit_types_preview_pane::get_details() co } //FIXME: This probably must be move into a unit_type function - foreach (const config &tr, t->possible_traits()) + BOOST_FOREACH(const config &tr, t->possible_traits()) { if (tr["availability"] != "musthave") continue; std::string gender_string = (!t->genders().empty() && t->genders().front()== unit_race::FEMALE) ? "female_name" : "male_name"; @@ -1038,7 +1038,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 - foreach (const config &adv, t->modification_advancements()) + BOOST_FOREACH(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 aa8a41ede997..8eb99cb68394 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -21,7 +21,6 @@ #include "builder.hpp" #include "cursor.hpp" #include "display.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gettext.hpp" #include "halo.hpp" @@ -41,6 +40,8 @@ #include "SDL_image.h" +#include + #ifdef __SUNPRO_CC // GCC doesn't have hypot in cmath so include it for Sun Studio #include @@ -629,7 +630,7 @@ std::vector display::get_fog_shroud_images(const map_location& loc, ima // now get the surfaces std::vector res; - foreach(std::string& name, names) { + BOOST_FOREACH(std::string& name, names) { const surface surf(image::get_image(name, image_type)); if (surf) res.push_back(surf); @@ -828,8 +829,8 @@ void display::drawing_buffer_commit() * layergroup > location > layer > 'tblit' > surface */ - foreach(const tblit &blit, drawing_buffer_) { - foreach(const surface& surf, blit.surf()) { + BOOST_FOREACH(const tblit &blit, drawing_buffer_) { + BOOST_FOREACH(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. @@ -1903,7 +1904,7 @@ void display::redraw_everything() int ticks3 = SDL_GetTicks(); LOG_DP << "invalidate and draw: " << (ticks3 - ticks2) << " and " << (ticks2 - ticks1) << "\n"; - foreach (boost::function f, redraw_observers_) { + BOOST_FOREACH(boost::function f, redraw_observers_) { f(*this); } @@ -1992,7 +1993,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); - foreach (const map_location& loc, invalidated_) { + BOOST_FOREACH(const map_location& loc, invalidated_) { int xpos = get_location_x(loc); int ypos = get_location_y(loc); @@ -2058,7 +2059,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()) { - foreach(arrow* const a, arrows_in_hex->second) { + BOOST_FOREACH(arrow* const a, arrows_in_hex->second) { a->draw_hex(loc); } } @@ -2388,7 +2389,7 @@ bool display::invalidate(const std::set& locs) if(invalidateAll_) return false; bool ret = false; - foreach (const map_location& loc, locs) { + BOOST_FOREACH(const map_location& loc, locs) { #ifdef _OPENMP #pragma omp critical(invalidated_) #endif //_OPENMP @@ -2438,7 +2439,7 @@ bool display::invalidate_locations_in_rect(const SDL_Rect& rect) return false; bool result = false; - foreach (const map_location &loc, hexes_under_rect(rect)) { + BOOST_FOREACH(const map_location &loc, hexes_under_rect(rect)) { result |= invalidate(loc); } return result; @@ -2450,7 +2451,7 @@ void display::invalidate_animations() animate_map_ = preferences::animate_map(); if (!animate_map_) return; - foreach (const map_location &loc, get_visible_hexes()) + BOOST_FOREACH(const map_location &loc, get_visible_hexes()) { if (shrouded(loc)) continue; if (builder_->update_animation(loc)) { @@ -2464,7 +2465,7 @@ void display::invalidate_animations() void display::add_arrow(arrow& arrow) { const arrow_path_t & arrow_path = arrow.get_path(); - foreach (const map_location& loc, arrow_path) + BOOST_FOREACH(const map_location& loc, arrow_path) { arrows_map_[loc].push_back(&arrow); } @@ -2473,7 +2474,7 @@ void display::add_arrow(arrow& arrow) void display::remove_arrow(arrow& arrow) { const arrow_path_t & arrow_path = arrow.get_path(); - foreach (const map_location& loc, arrow_path) + BOOST_FOREACH(const map_location& loc, arrow_path) { arrows_map_[loc].remove(&arrow); } @@ -2482,12 +2483,12 @@ void display::remove_arrow(arrow& arrow) void display::update_arrow(arrow & arrow) { const arrow_path_t & previous_path = arrow.get_previous_path(); - foreach (const map_location& loc, previous_path) + BOOST_FOREACH(const map_location& loc, previous_path) { arrows_map_[loc].remove(&arrow); } const arrow_path_t & arrow_path = arrow.get_path(); - foreach (const map_location& loc, arrow_path) + BOOST_FOREACH(const map_location& loc, arrow_path) { arrows_map_[loc].push_back(&arrow); } diff --git a/src/editor/action.cpp b/src/editor/action.cpp index 86b77f3be25b..6c21bedc994c 100644 --- a/src/editor/action.cpp +++ b/src/editor/action.cpp @@ -21,10 +21,10 @@ #include "editor/action.hpp" #include "editor/map_context.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "util.hpp" +#include namespace editor { int editor_action::next_id_ = 1; @@ -75,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_() { - foreach (editor_action* a, other.actions_) { + BOOST_FOREACH(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; - foreach (editor_action* a, actions_) { + BOOST_FOREACH(editor_action* a, actions_) { delete a; } actions_.clear(); - foreach (editor_action* a, other.actions_) { + BOOST_FOREACH(editor_action* a, other.actions_) { actions_.push_back(a->clone()); } return *this; } editor_action_chain::~editor_action_chain() { - foreach (editor_action* a, actions_) { + BOOST_FOREACH(editor_action* a, actions_) { delete a; } } @@ -103,7 +103,7 @@ editor_action_chain* editor_action_chain::clone() const } int editor_action_chain::action_count() const { int count = 0; - foreach (const editor_action* a, actions_) { + BOOST_FOREACH(const editor_action* a, actions_) { if (a) { count += a->action_count(); } @@ -133,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()); - foreach (editor_action* a, actions_) { + BOOST_FOREACH(editor_action* a, actions_) { if (a != NULL) { undo->append_action(a->perform(mc)); } @@ -143,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 { - foreach (editor_action* a, actions_) { + BOOST_FOREACH(editor_action* a, actions_) { if (a != NULL) { a->perform_without_undo(mc); } @@ -257,7 +257,7 @@ editor_action_select* editor_action_select::clone() const } void editor_action_select::extend(const editor_map& map, const std::set& locs) { - foreach (const map_location& loc, locs) { + BOOST_FOREACH(const map_location& loc, locs) { LOG_ED << "Checking " << loc << "\n"; if (map.in_selection(loc)) { LOG_ED << "Extending by " << loc << "\n"; @@ -268,7 +268,7 @@ void editor_action_select::extend(const editor_map& map, const std::set undo_locs; - foreach (const map_location& loc, area_) { + BOOST_FOREACH(const map_location& loc, area_) { if (!mc.get_map().in_selection(loc)) { undo_locs.insert(loc); mc.add_changed_location(loc); @@ -279,7 +279,7 @@ editor_action* editor_action_select::perform(map_context& mc) const } void editor_action_select::perform_without_undo(map_context& mc) const { - foreach (const map_location& loc, area_) { + BOOST_FOREACH(const map_location& loc, area_) { mc.get_map().add_to_selection(loc); mc.add_changed_location(loc); } @@ -291,7 +291,7 @@ editor_action_deselect* editor_action_deselect::clone() const } void editor_action_deselect::extend(const editor_map& map, const std::set& locs) { - foreach (const map_location& loc, locs) { + BOOST_FOREACH(const map_location& loc, locs) { LOG_ED << "Checking " << loc << "\n"; if (!map.in_selection(loc)) { LOG_ED << "Extending by " << loc << "\n"; @@ -302,7 +302,7 @@ void editor_action_deselect::extend(const editor_map& map, const std::set undo_locs; - foreach (const map_location& loc, area_) { + BOOST_FOREACH(const map_location& loc, area_) { if (mc.get_map().in_selection(loc)) { undo_locs.insert(loc); mc.add_changed_location(loc); @@ -313,7 +313,7 @@ editor_action* editor_action_deselect::perform(map_context& mc) const } void editor_action_deselect::perform_without_undo(map_context& mc) const { - foreach (const map_location& loc, area_) { + BOOST_FOREACH(const map_location& loc, area_) { mc.get_map().remove_from_selection(loc); mc.add_changed_location(loc); } diff --git a/src/editor/brush.cpp b/src/editor/brush.cpp index 388c7343acec..e9938a293639 100644 --- a/src/editor/brush.cpp +++ b/src/editor/brush.cpp @@ -17,9 +17,10 @@ #include "brush.hpp" #include "editor_common.hpp" -#include "../foreach.hpp" #include "../pathutils.hpp" +#include + namespace editor { /*WIKI @@ -74,11 +75,11 @@ brush::brush(const config& cfg) if (radius > 0) { std::vector in_radius; get_tiles_in_radius(map_location(0, 0), radius, in_radius); - foreach (map_location& loc, in_radius) { + BOOST_FOREACH(map_location& loc, in_radius) { add_relative_location(loc.x, loc.y); } } - foreach (const config &relative, cfg.child_range("relative")) + BOOST_FOREACH(const config &relative, cfg.child_range("relative")) { int x = relative["x"]; int y = relative["y"]; @@ -97,7 +98,7 @@ void brush::add_relative_location(int relative_x, int relative_y) std::set brush::project(const map_location& hotspot) const { std::set result; - foreach (const map_location& relative, relative_tiles_) { + BOOST_FOREACH(const map_location& relative, relative_tiles_) { result.insert(relative.vector_sum(hotspot)); } return result; diff --git a/src/editor/editor_controller.cpp b/src/editor/editor_controller.cpp index 6ae3cad886e7..eb3259714d0a 100644 --- a/src/editor/editor_controller.cpp +++ b/src/editor/editor_controller.cpp @@ -32,7 +32,6 @@ #include "../clipboard.hpp" #include "../filechooser.hpp" #include "../filesystem.hpp" -#include "../foreach.hpp" #include "../game_preferences.hpp" #include "../gettext.hpp" #include "../map_create.hpp" @@ -44,6 +43,7 @@ #include "formula_string_utils.hpp" #include +#include namespace { static std::vector saved_windows_; @@ -135,7 +135,7 @@ editor_controller::editor_controller(const config &game_config, CVideo& video) image::set_color_adjustment(preferences::editor::tod_r(), preferences::editor::tod_g(), preferences::editor::tod_b()); theme& theme = gui().get_theme(); const theme::menu* default_tool_menu = NULL; - foreach (const theme::menu& m, theme.menus()) { + BOOST_FOREACH(const theme::menu& m, theme.menus()) { if (m.get_id() == "draw_button_editor") { default_tool_menu = &m; break; @@ -173,7 +173,7 @@ void editor_controller::init_sidebar(const config& game_config) void editor_controller::init_brushes(const config& game_config) { - foreach (const config &i, game_config.child_range("brush")) { + BOOST_FOREACH(const config &i, game_config.child_range("brush")) { brushes_.push_back(brush(i)); } if (brushes_.empty()) { @@ -196,7 +196,7 @@ void editor_controller::init_mouse_actions(const config& game_config) new mouse_action_starting_position(key_))); mouse_actions_.insert(std::make_pair(hotkey::HOTKEY_EDITOR_PASTE, new mouse_action_paste(clipboard_, key_))); - foreach (const theme::menu& menu, gui().get_theme().menus()) { + BOOST_FOREACH(const theme::menu& menu, gui().get_theme().menus()) { if (menu.items().size() == 1) { hotkey::HOTKEY_COMMAND hk = hotkey::get_hotkey(menu.items().front()).get_id(); mouse_action_map::iterator i = mouse_actions_.find(hk); @@ -205,7 +205,7 @@ void editor_controller::init_mouse_actions(const config& game_config) } } } - foreach (const config &c, game_config.child_range("editor_tool_hint")) { + BOOST_FOREACH(const config &c, game_config.child_range("editor_tool_hint")) { mouse_action_map::iterator i = mouse_actions_.find(hotkey::get_hotkey(c["id"]).get_id()); if (i != mouse_actions_.end()) { @@ -216,7 +216,7 @@ void editor_controller::init_mouse_actions(const config& game_config) void editor_controller::init_map_generators(const config& game_config) { - foreach (const config &i, game_config.child_range("multiplayer")) + BOOST_FOREACH(const config &i, game_config.child_range("multiplayer")) { if (i["map_generation"] == "default") { const config &generator_cfg = i.child("generator"); @@ -238,7 +238,7 @@ void editor_controller::init_tods(const config& game_config) ERR_ED << "No editor time-of-day defined\n"; return; } - foreach (const config &i, cfg.child_range("time")) { + BOOST_FOREACH(const config &i, cfg.child_range("time")) { tods_.push_back(time_of_day(i)); } } @@ -250,7 +250,7 @@ void editor_controller::init_music(const config& game_config) ERR_ED << "No editor music defined\n"; return; } - foreach (const config &i, cfg.child_range("music")) { + BOOST_FOREACH(const config &i, cfg.child_range("music")) { sound::play_music_config(i); } sound::commit_music_changes(); @@ -265,13 +265,13 @@ void editor_controller::load_tooltips() editor_controller::~editor_controller() { - foreach (const mouse_action_map::value_type a, mouse_actions_) { + BOOST_FOREACH(const mouse_action_map::value_type a, mouse_actions_) { delete a.second; } - foreach (map_generator* m, map_generators_) { + BOOST_FOREACH(map_generator* m, map_generators_) { delete m; } - foreach (map_context* mc, map_contexts_) { + BOOST_FOREACH(map_context* mc, map_contexts_) { delete mc; } } @@ -303,7 +303,7 @@ void editor_controller::do_screenshot(const std::string& screenshot_filename /* void editor_controller::quit_confirm(EXIT_STATUS mode) { std::vector modified; - foreach (map_context* mc, map_contexts_) { + BOOST_FOREACH(map_context* mc, map_contexts_) { if (mc->modified()) { if (!mc->get_filename().empty()) { modified.push_back(mc->get_filename()); @@ -319,7 +319,7 @@ void editor_controller::quit_confirm(EXIT_STATUS mode) message = _("Do you really want to quit? Changes in the map since the last save will be lost."); } else { message = _("Do you really want to quit? The following maps were modified and all changes since the last save will be lost:"); - foreach (std::string& str, modified) { + BOOST_FOREACH(std::string& str, modified) { message += "\n" + str; } } @@ -342,7 +342,7 @@ void editor_controller::create_default_context() map_context* mc = new map_context(editor_map(game_config_, 44, 33, t_translation::GRASS_LAND)); add_map_context(mc); } else { - foreach(const std::string& filename, saved_windows_) { + BOOST_FOREACH(const std::string& filename, saved_windows_) { map_context* mc = new map_context(game_config_, filename); add_map_context(mc); } @@ -796,7 +796,7 @@ void editor_controller::refresh_after_action(bool drag_part) get_map_context().set_needs_terrain_rebuild(false); gui().invalidate_all(); } else { - foreach (const map_location& loc, changed_locs) { + BOOST_FOREACH(const map_location& loc, changed_locs) { gui().rebuild_terrain(loc); } gui().invalidate(changed_locs); @@ -1290,7 +1290,7 @@ void editor_controller::perform_refresh(const editor_action& action, bool drag_p void editor_controller::redraw_toolbar() { - foreach (mouse_action_map::value_type a, mouse_actions_) { + BOOST_FOREACH(mouse_action_map::value_type a, mouse_actions_) { if (a.second->toolbar_button() != NULL) { SDL_Rect r = a.second->toolbar_button()->location(gui().screen_area()); SDL_Rect outline = create_rect(r.x - 2, r.y - 2, r.h + 4, r.w + 4); diff --git a/src/editor/editor_map.cpp b/src/editor/editor_map.cpp index b149d427cda2..60523c532582 100644 --- a/src/editor/editor_map.cpp +++ b/src/editor/editor_map.cpp @@ -20,12 +20,12 @@ #include "../display.hpp" #include "../filesystem.hpp" -#include "../foreach.hpp" #include "../gettext.hpp" #include "../map_exception.hpp" #include "../map_label.hpp" #include "../wml_exception.hpp" +#include namespace editor { @@ -111,7 +111,7 @@ void editor_map::sanity_check() ++errors; } } - foreach (const map_location& loc, selection_) { + BOOST_FOREACH(const map_location& loc, selection_) { if (!on_board_with_border(loc)) { ERR_ED << "Off-map tile in selection: " << loc << "\n"; } diff --git a/src/editor/editor_palettes.cpp b/src/editor/editor_palettes.cpp index 828056925b0d..910d36bd83c1 100644 --- a/src/editor/editor_palettes.cpp +++ b/src/editor/editor_palettes.cpp @@ -23,13 +23,14 @@ #include "editor_common.hpp" #include "editor_palettes.hpp" -#include "../foreach.hpp" #include "../gettext.hpp" #include "../serialization/string_utils.hpp" #include "../sound.hpp" #include "../tooltips.hpp" #include "../marked-up_text.hpp" +#include + namespace { static std::string selected_terrain; } @@ -84,7 +85,7 @@ terrain_palette::terrain_palette(display &gui, const size_specs &sizes, // Get the available groups and add them to the structure std::set group_names; - foreach (const config &g, cfg.child_range("editor_group")) + BOOST_FOREACH(const config &g, cfg.child_range("editor_group")) { if (group_names.find(g["id"]) == group_names.end()) { terrain_groups_.push_back(terrain_group(g, gui)); @@ -97,14 +98,14 @@ terrain_palette::terrain_palette(display &gui, const size_specs &sizes, } } std::map id_to_group; - foreach (terrain_group& tg, terrain_groups_) { + BOOST_FOREACH(terrain_group& tg, terrain_groups_) { id_to_group.insert(std::make_pair(tg.id, &tg)); } // The rest of the code assumes this is a valid pointer assert(checked_group_btn_ != 0); // add the groups for all terrains to the map - foreach (const t_translation::t_terrain& t, terrains_) { + BOOST_FOREACH(const t_translation::t_terrain& t, terrains_) { const terrain_type& t_info = map().get_terrain_info(t); DBG_ED << "Palette: processing terrain " << t_info.name() << "(editor name: '" << t_info.editor_name() << "') " @@ -119,7 +120,7 @@ terrain_palette::terrain_palette(display &gui, const size_specs &sizes, // add the terrain to the requested groups const std::vector& keys = utils::split(t_info.editor_group()); bool core = false; - foreach (const std::string& k, keys) { + BOOST_FOREACH(const std::string& k, keys) { terrain_map_[k].push_back(t); nmax_terrains_ = std::max(nmax_terrains_, terrain_map_[k].size()); std::map::iterator i = id_to_group.find(k); @@ -380,7 +381,7 @@ void terrain_palette::draw(bool force) { scroll_down(); } - foreach (terrain_group& g, terrain_groups_) { + BOOST_FOREACH(terrain_group& g, terrain_groups_) { if (g.button.pressed()) { checked_group_btn_ = &g.button; set_group(g.id); @@ -388,7 +389,7 @@ void terrain_palette::draw(bool force) { } } - foreach (terrain_group& g, terrain_groups_) { + BOOST_FOREACH(terrain_group& g, terrain_groups_) { if (&g.button == checked_group_btn_) { g.button.set_check(true); } else { diff --git a/src/editor/map_context.cpp b/src/editor/map_context.cpp index 99cf9fb2d8eb..b197eede476d 100644 --- a/src/editor/map_context.cpp +++ b/src/editor/map_context.cpp @@ -19,7 +19,6 @@ #include "../display.hpp" #include "../filesystem.hpp" -#include "../foreach.hpp" #include "../gettext.hpp" #include "../map_exception.hpp" #include "../map_label.hpp" @@ -28,6 +27,7 @@ #include "formula_string_utils.hpp" #include +#include namespace editor { @@ -146,7 +146,7 @@ void map_context::draw_terrain(t_translation::t_terrain terrain, if (!one_layer_only) { terrain = map_.get_terrain_info(terrain).terrain_with_default_base(); } - foreach (const map_location& loc, locs) { + BOOST_FOREACH(const map_location& loc, locs) { draw_terrain_actual(terrain, loc, one_layer_only); } } @@ -374,7 +374,7 @@ void map_context::trim_stack(action_stack& stack) void map_context::clear_stack(action_stack& stack) { - foreach (editor_action* a, stack) { + BOOST_FOREACH(editor_action* a, stack) { delete a; } stack.clear(); diff --git a/src/editor/map_fragment.cpp b/src/editor/map_fragment.cpp index 1959001e777a..1c61d6c38efb 100644 --- a/src/editor/map_fragment.cpp +++ b/src/editor/map_fragment.cpp @@ -16,9 +16,10 @@ #include "map_fragment.hpp" -#include "../foreach.hpp" #include "util.hpp" +#include + namespace editor { map_fragment::map_fragment() @@ -44,7 +45,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) { - foreach (const map_location& loc, locs) { + BOOST_FOREACH(const map_location& loc, locs) { add_tile(map, loc); } } @@ -57,7 +58,7 @@ std::set map_fragment::get_area() const std::set map_fragment::get_offset_area(const map_location& loc) const { std::set result; - foreach (const tile_info& i, items_) { + BOOST_FOREACH(const tile_info& i, items_) { result.insert(i.offset.vector_sum(loc)); } return result; @@ -65,14 +66,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 { - foreach (const tile_info& i, items_) { + BOOST_FOREACH(const tile_info& i, items_) { map.set_terrain(i.offset.vector_sum(loc), i.terrain); } } void map_fragment::shift(const map_location& offset) { - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { ti.offset.vector_sum_assign(offset); } } @@ -80,7 +81,7 @@ void map_fragment::shift(const map_location& offset) map_location map_fragment::center_of_mass() const { map_location sum(0, 0); - foreach (const tile_info& ti, items_) { + BOOST_FOREACH(const tile_info& ti, items_) { sum.vector_sum_assign(ti.offset); } sum.x /= static_cast(items_.size()); @@ -92,7 +93,7 @@ void map_fragment::center_by_mass() { shift(center_of_mass().vector_negation()); area_.clear(); - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { area_.insert(ti.offset); } } @@ -100,7 +101,7 @@ void map_fragment::center_by_mass() void map_fragment::rotate_60_cw() { area_.clear(); - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { map_location l(0,0); int x = ti.offset.x; int y = ti.offset.y; @@ -120,7 +121,7 @@ void map_fragment::rotate_60_cw() void map_fragment::rotate_60_ccw() { area_.clear(); - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { map_location l(0,0); int x = ti.offset.x; int y = ti.offset.y; @@ -139,7 +140,7 @@ void map_fragment::rotate_60_ccw() void map_fragment::flip_horizontal() { - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { ti.offset.x = -ti.offset.x; } center_by_mass(); @@ -147,7 +148,7 @@ void map_fragment::flip_horizontal() void map_fragment::flip_vertical() { - foreach (tile_info& ti, items_) { + BOOST_FOREACH(tile_info& ti, items_) { ti.offset.y = -ti.offset.y; if (ti.offset.x % 2) { ti.offset.y--; @@ -166,11 +167,11 @@ std::string map_fragment::dump() const { std::stringstream ss; ss << "MF: "; - foreach (const tile_info& ti, items_) { + BOOST_FOREACH(const tile_info& ti, items_) { ss << "(" << ti.offset << ")"; } ss << " -- "; - foreach (const map_location& loc, area_) { + BOOST_FOREACH(const map_location& loc, area_) { ss << "(" << loc << ")"; } return ss.str(); diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 8dee115a974b..a38748630fa2 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -56,7 +56,6 @@ BPath be_path; #include "config.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "game_preferences.hpp" #include "log.hpp" @@ -65,6 +64,8 @@ BPath be_path; #include "serialization/string_utils.hpp" #include "version.hpp" +#include + static lg::log_domain log_filesystem("filesystem"); #define DBG_FS LOG_STREAM(debug, log_filesystem) #define LOG_FS LOG_STREAM(info, log_filesystem) @@ -1010,7 +1011,7 @@ void binary_paths_manager::set_paths(const config& cfg) cleanup(); init_binary_paths(); - foreach (const config &bp, cfg.child_range("binary_path")) + BOOST_FOREACH(const config &bp, cfg.child_range("binary_path")) { std::string path = bp["path"].str(); if (path.find("..") != std::string::npos) { @@ -1057,7 +1058,7 @@ const std::vector& get_binary_paths(const std::string& type) init_binary_paths(); - foreach (const std::string &path, binary_paths) + BOOST_FOREACH(const std::string &path, binary_paths) { res.push_back(get_user_data_dir() + "/" + path + type + "/"); @@ -1098,7 +1099,7 @@ std::string get_binary_file_location(const std::string& type, const std::string& return std::string(); } - foreach (const std::string &path, get_binary_paths(type)) + BOOST_FOREACH(const std::string &path, get_binary_paths(type)) { const std::string file = path + filename; DBG_FS << " checking '" << path << "'\n"; @@ -1126,7 +1127,7 @@ std::string get_binary_dir_location(const std::string &type, const std::string & return std::string(); } - foreach (const std::string &path, get_binary_paths(type)) + BOOST_FOREACH(const std::string &path, get_binary_paths(type)) { const std::string file = path + filename; DBG_FS << " checking '" << path << "'\n"; @@ -1291,7 +1292,7 @@ std::string normalize_path(const std::string &p1) p4 << drive; #endif - foreach (const std::string &s, components) + BOOST_FOREACH(const std::string &s, components) { p4 << '/' << s; } diff --git a/src/font.cpp b/src/font.cpp index a0d04e314084..7b88d9c710d8 100644 --- a/src/font.cpp +++ b/src/font.cpp @@ -21,7 +21,6 @@ #include "config.hpp" #include "filesystem.hpp" #include "font.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "log.hpp" #include "marked-up_text.hpp" @@ -32,6 +31,8 @@ #include "serialization/preprocessor.hpp" #include "serialization/string_utils.hpp" +#include + #include #include #include @@ -355,10 +356,10 @@ void manager::init() const #endif #if CAIRO_HAS_WIN32_FONT - foreach(const std::string& path, get_binary_paths("fonts")) { + BOOST_FOREACH(const std::string& path, get_binary_paths("fonts")) { std::vector files; get_files_in_dir(path, &files, NULL, ENTIRE_FILE_PATH); - foreach(const std::string& file, files) + BOOST_FOREACH(const std::string& file, files) if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") AddFontResource(file.c_str()); } @@ -372,10 +373,10 @@ void manager::deinit() const #endif #if CAIRO_HAS_WIN32_FONT - foreach(const std::string& path, get_binary_paths("fonts")) { + BOOST_FOREACH(const std::string& path, get_binary_paths("fonts")) { std::vector files; get_files_in_dir(path, &files, NULL, ENTIRE_FILE_PATH); - foreach(const std::string& file, files) + BOOST_FOREACH(const std::string& file, files) if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") RemoveFontResource(file.c_str()); } @@ -425,7 +426,7 @@ static void set_font_list(const std::vector& fontlist) const subset_id subset = font_names.size(); font_names.push_back(itor->name); - foreach (const subset_descriptor::range &cp_range, itor->present_codepoints) { + BOOST_FOREACH(const subset_descriptor::range &cp_range, itor->present_codepoints) { char_blocks.insert(cp_range.first, cp_range.second, subset); } } @@ -582,7 +583,7 @@ void text_surface::measure() const w_ = 0; h_ = 0; - foreach (text_chunk const &chunk, chunks_) + BOOST_FOREACH(text_chunk const &chunk, chunks_) { TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_)); if(ttfont == NULL) @@ -628,7 +629,7 @@ std::vector const &text_surface::get_surfaces() const if(width() > max_text_line_width) return surfs_; - foreach (text_chunk const &chunk, chunks_) + BOOST_FOREACH(text_chunk const &chunk, chunks_) { TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_)); if (ttfont == NULL) @@ -1261,7 +1262,7 @@ bool load_font_config() return false; std::set known_fonts; - foreach (const config &font, fonts_config.child_range("font")) { + BOOST_FOREACH(const config &font, fonts_config.child_range("font")) { known_fonts.insert(font["name"]); } diff --git a/src/foreach.hpp b/src/foreach.hpp deleted file mode 100644 index 27fbe4125753..000000000000 --- a/src/foreach.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef FOREACH_HPP -#define FOREACH_HPP - -#include - -#ifdef __CDT_PARSER__ - #define foreach(a, b) for(a : b) -#else - #define foreach BOOST_FOREACH -#endif - -#endif diff --git a/src/formula.cpp b/src/formula.cpp index 3b28db0e213e..e4040b2dfb6d 100644 --- a/src/formula.cpp +++ b/src/formula.cpp @@ -17,11 +17,12 @@ #include #include -#include "foreach.hpp" #include "formula_callable.hpp" #include "formula_function.hpp" #include "map_utils.hpp" +#include + namespace game_logic { @@ -117,7 +118,7 @@ class list_expression : public formula_expression { std::stringstream s; s << '['; bool first_item = true; - foreach(expression_ptr a , items_) { + BOOST_FOREACH(expression_ptr a , items_) { if (!first_item) { s << ','; } else { @@ -468,7 +469,7 @@ class where_expression: public formula_expression { std::stringstream s; s << "{where:("; s << body_->str(); - foreach (const expr_table::value_type &a, *clauses_) { + BOOST_FOREACH(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 6126589f6190..be9d61fee728 100644 --- a/src/formula_function.cpp +++ b/src/formula_function.cpp @@ -16,14 +16,14 @@ #include "global.hpp" -//#include "foreach.hpp" #include "callable_objects.hpp" -#include "foreach.hpp" #include "formula_debugger.hpp" #include "formula_function.hpp" #include "game_display.hpp" #include "log.hpp" +#include + #ifdef HAVE_VISUAL_LEAK_DETECTOR #include "vld.h" #endif @@ -46,7 +46,7 @@ std::string function_expression::str() const s << get_name(); s << '('; bool first_arg = true; - foreach(expression_ptr a , args()) { + BOOST_FOREACH(expression_ptr a , args()) { if (!first_arg) { s << ','; } else { @@ -451,7 +451,7 @@ class concatenate_function std::string result; - foreach(expression_ptr arg, args()) { + BOOST_FOREACH(expression_ptr arg, args()) { result += arg->evaluate(variables, fdb).string_cast(); } diff --git a/src/formula_tokenizer.cpp b/src/formula_tokenizer.cpp index 2e6b12bb3199..cb4844e744a7 100644 --- a/src/formula_tokenizer.cpp +++ b/src/formula_tokenizer.cpp @@ -13,7 +13,6 @@ #include -#include "foreach.hpp" #include "formula_tokenizer.hpp" namespace formula_tokenizer diff --git a/src/game.cpp b/src/game.cpp index 3df2fcd52cfa..f3dcb920c519 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -40,6 +40,7 @@ #include #include +#include #include #include @@ -218,7 +219,7 @@ static int process_command_args(const commandline_options& cmdline_opts) { int read = 0; // use static preproc_define::read_pair(config) to make a object - foreach ( const config::any_child &value, cfg.all_children_range() ) { + BOOST_FOREACH( 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; @@ -245,7 +246,7 @@ static int process_command_args(const commandline_options& cmdline_opts) { if ( cmdline_opts.preprocess_defines ) { // add the specified defines - foreach ( const std::string &define, *cmdline_opts.preprocess_defines ) { + BOOST_FOREACH( const std::string &define, *cmdline_opts.preprocess_defines ) { if (define.empty()){ std::cerr << "empty define supplied\n"; continue; @@ -452,7 +453,7 @@ static int do_gameloop(int argc, char** argv) const config &cfg = game->game_config().child("titlescreen_music"); if (cfg) { sound::play_music_repeatedly(game_config::title_music); - foreach (const config &i, cfg.child_range("music")) { + BOOST_FOREACH(const config &i, cfg.child_range("music")) { sound::play_music_config(i); } sound::commit_music_changes(); diff --git a/src/game_config.cpp b/src/game_config.cpp index fa3eb925354e..d07d6da1dd83 100644 --- a/src/game_config.cpp +++ b/src/game_config.cpp @@ -18,7 +18,6 @@ #include "color_range.hpp" #include "config.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "log.hpp" #include "util.hpp" @@ -29,6 +28,8 @@ #include "revision.hpp" #endif /* HAVE_REVISION */ +#include + static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define ERR_NG LOG_STREAM(err, log_engine) @@ -259,7 +260,7 @@ namespace game_config } server_list.clear(); - foreach (const config &server, v.child_range("server")) + BOOST_FOREACH(const config &server, v.child_range("server")) { server_info sinf; sinf.name = server["name"].str(); @@ -270,7 +271,7 @@ namespace game_config void add_color_info(const config &v) { - foreach (const config &teamC, v.child_range("color_range")) + BOOST_FOREACH(const config &teamC, v.child_range("color_range")) { const config::attribute_value *a1 = teamC.get("id"), *a2 = teamC.get("rgb"); @@ -304,9 +305,9 @@ namespace game_config DBG_NG << str.str() << '\n'; } - foreach (const config &cp, v.child_range("color_palette")) + BOOST_FOREACH(const config &cp, v.child_range("color_palette")) { - foreach (const config::attribute &rgb, cp.attribute_range()) + BOOST_FOREACH(const config::attribute &rgb, cp.attribute_range()) { std::vector temp; if(!string2rgb(rgb.second, temp)) { diff --git a/src/game_controller.cpp b/src/game_controller.cpp index 0249f89123bf..b2890dcd3685 100644 --- a/src/game_controller.cpp +++ b/src/game_controller.cpp @@ -50,6 +50,8 @@ #include "statistics.hpp" #include "wml_exception.hpp" +#include + static lg::log_domain log_config("config"); #define ERR_CONFIG LOG_STREAM(err, log_config) #define WRN_CONFIG LOG_STREAM(warn, log_config) @@ -478,7 +480,7 @@ bool game_controller::play_multiplayer_mode() } int side_num = 1; - foreach (config &s, level.child_range("side")) + BOOST_FOREACH(config &s, level.child_range("side")) { std::map::const_iterator type = side_types.find(side_num), controller = side_controllers.find(side_num), @@ -507,7 +509,7 @@ bool game_controller::play_multiplayer_mode() faction_excepts.clear(); } unsigned j = 0; - foreach (const config &faction, era_cfg.child_range("multiplayer_side")) + BOOST_FOREACH(const config &faction, era_cfg.child_range("multiplayer_side")) { if (faction["random_faction"].to_bool()) continue; const std::string &faction_id = faction["id"]; @@ -673,7 +675,7 @@ bool game_controller::load_game() } if(state_.classification().campaign_type == "multiplayer") { - foreach (config &side, state_.snapshot.child_range("side")) + BOOST_FOREACH(config &side, state_.snapshot.child_range("side")) { if (side["controller"] == "network") side["controller"] = "human"; @@ -683,10 +685,10 @@ bool game_controller::load_game() } if (load.cancel_orders()) { - foreach (config &side, state_.snapshot.child_range("side")) + BOOST_FOREACH(config &side, state_.snapshot.child_range("side")) { if (side["controller"] != "human") continue; - foreach (config &unit, side.child_range("unit")) + BOOST_FOREACH(config &unit, side.child_range("unit")) { unit["goto_x"] = -999; unit["goto_y"] = -999; @@ -710,7 +712,7 @@ void game_controller::set_tutorial() void game_controller::mark_completed_campaigns(std::vector &campaigns) { - foreach (config &campaign, campaigns) { + BOOST_FOREACH(config &campaign, campaigns) { campaign["completed"] = preferences::is_campaign_completed(campaign["id"]); } } @@ -1218,7 +1220,7 @@ void game_controller::load_game_cfg(const bool force) game_config_.splice_children(core_terrain_rules, "terrain_graphics"); config& hashes = game_config_.add_child("multiplayer_hashes"); - foreach (const config &ch, game_config_.child_range("multiplayer")) { + BOOST_FOREACH(const config &ch, game_config_.child_range("multiplayer")) { hashes[ch["id"]] = ch.hash(); } diff --git a/src/game_controller_abstract.cpp b/src/game_controller_abstract.cpp index 65573b324444..c7cd14f02bdb 100644 --- a/src/game_controller_abstract.cpp +++ b/src/game_controller_abstract.cpp @@ -15,7 +15,6 @@ #include "game_controller_abstract.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "gettext.hpp" #include "hotkeys.hpp" @@ -24,6 +23,8 @@ #include "preferences.hpp" +#include + #include game_controller_abstract::game_controller_abstract(const commandline_options &cmdline_opts) : @@ -80,7 +81,7 @@ bool game_controller_abstract::init_language() language_def locale; if(cmdline_opts_.language) { std::vector langs = get_languages(); - foreach(const language_def & def, langs) { + BOOST_FOREACH(const language_def & def, langs) { if(def.localename == *cmdline_opts_.language) { locale = def; break; diff --git a/src/game_display.cpp b/src/game_display.cpp index 0991b2d6d437..8a1ee1bdcb17 100644 --- a/src/game_display.cpp +++ b/src/game_display.cpp @@ -34,7 +34,6 @@ Growl_Delegate growl_obj; #endif -#include "foreach.hpp" #include "game_preferences.hpp" #include "halo.hpp" #include "log.hpp" @@ -47,6 +46,8 @@ Growl_Delegate growl_obj; #include "sound.hpp" #include "whiteboard/manager.hpp" +#include + static lg::log_domain log_display("display"); #define ERR_DP LOG_STREAM(err, log_display) #define LOG_DP LOG_STREAM(info, log_display) @@ -297,7 +298,7 @@ void game_display::draw_invalidated() halo::unrender(invalidated_); display::draw_invalidated(); - foreach(unit* temp_unit, fake_units_) { + BOOST_FOREACH(unit* temp_unit, fake_units_) { 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() @@ -305,7 +306,7 @@ void game_display::draw_invalidated() temp_unit->redraw_unit(); } - foreach (const map_location& loc, invalidated_) { + BOOST_FOREACH(const map_location& loc, invalidated_) { unit_map::iterator u_it = units_.find(loc); exclusive_unit_draw_requests_t::iterator request = exclusive_unit_draw_requests_.find(loc); if (u_it != units_.end() @@ -451,7 +452,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. - foreach (const std::string &name, reports::report_list()) { + BOOST_FOREACH(const std::string &name, reports::report_list()) { draw_report(name); } invalidateGameStatus_ = false; @@ -744,7 +745,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. - foreach (const pathfind::paths::step &dest, paths_list.destinations) { + BOOST_FOREACH(const pathfind::paths::step &dest, paths_list.destinations) { reach_map_[dest.curr]++; } reach_map_changed_ = true; @@ -897,17 +898,17 @@ void game_display::invalidate_animations_location(const map_location& loc) { void game_display::invalidate_animations() { display::invalidate_animations(); - foreach (unit& u, units_) { + BOOST_FOREACH(unit& u, units_) { u.refresh(); } - foreach(unit* temp_unit, fake_units_) { + BOOST_FOREACH(unit* temp_unit, fake_units_) { temp_unit->refresh(); } std::vector unit_list; - foreach (unit &u, units_) { + BOOST_FOREACH(unit &u, units_) { unit_list.push_back(&u); } - foreach (unit *u, fake_units_) { + BOOST_FOREACH(unit *u, fake_units_) { unit_list.push_back(u); } bool new_inval; @@ -1079,7 +1080,7 @@ void game_display::parse_team_overlays() { const team& curr_team = teams_[playing_team()]; const team& prev_team = teams_[playing_team()-1 < teams_.size() ? playing_team()-1 : teams_.size()-1]; - foreach (const game_display::overlay_map::value_type i, overlays_) { + BOOST_FOREACH(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) != @@ -1485,7 +1486,7 @@ void game_display::prune_chat_messages(bool remove_all) } } - foreach (const chat_message &cm, chat_messages_) { + BOOST_FOREACH(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/game_events.cpp b/src/game_events.cpp index 470c7dab7988..69f01ca5e37b 100644 --- a/src/game_events.cpp +++ b/src/game_events.cpp @@ -23,7 +23,6 @@ #include "actions.hpp" #include "ai/manager.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_events.hpp" #include "game_preferences.hpp" @@ -60,6 +59,8 @@ #include #include +#include + static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) #define LOG_NG LOG_STREAM(info, log_engine) @@ -341,7 +342,7 @@ namespace game_events { std::vector > counts = (*u).has_attribute("count") ? utils::parse_ranges((*u)["count"]) : default_counts; int match_count = 0; - foreach (const unit &i, *resources::units) + BOOST_FOREACH(const unit &i, *resources::units) { if(i.hitpoints() > 0 && unit_matches_filter(i, *u)) { ++match_count; @@ -396,7 +397,7 @@ namespace game_events { const vconfig::child_list& variables = cond.get_children("variable"); backwards_compat = backwards_compat && variables.empty(); - foreach (const vconfig &values, variables) + BOOST_FOREACH(const vconfig &values, variables) { const std::string name = values["name"]; config::attribute_value value = resources::state_of_game->get_variable_const(name); @@ -589,7 +590,7 @@ namespace { const std::vector& handlers, const std::string& msg) { - foreach(const game_events::event_handler& h, handlers){ + BOOST_FOREACH(const game_events::event_handler& h, handlers){ const config& cfg = h.get_config(); ss << "name=" << cfg["name"] << ", with id=" << cfg["id"] << "; "; } @@ -603,7 +604,7 @@ namespace { std::stringstream ss; log_handler(ss, active_, "active"); log_handler(ss, insert_buffer_, "insert buffered"); - foreach(const std::string& h, remove_buffer_){ + BOOST_FOREACH(const std::string& h, remove_buffer_){ ss << "id=" << h << "; "; } DBG_EH << "remove buffered handlers are now " << ss.str() << "\n"; @@ -631,7 +632,7 @@ namespace { const config & cfg = new_handler.get_config(); std::string id = cfg["id"]; if(!id.empty()) { - foreach( game_events::event_handler const & eh, active_) { + BOOST_FOREACH( game_events::event_handler const & eh, active_) { config const & temp_config( eh.get_config()); if(id == temp_config["id"]) { DBG_EH << "ignoring event handler for name=" << cfg["name"] << @@ -698,12 +699,12 @@ namespace { return; // Commit any event removals - foreach(std::string const & i , remove_buffer_ ){ + BOOST_FOREACH(std::string const & i , remove_buffer_ ){ remove_event_handler( i ); } remove_buffer_.clear(); // Commit any spawned events-within-events - foreach( game_events::event_handler const & i , insert_buffer_ ){ + BOOST_FOREACH( game_events::event_handler const & i , insert_buffer_ ){ add_event_handler( i ); } insert_buffer_.clear(); @@ -735,7 +736,7 @@ static void toggle_shroud(const bool remove, const vconfig& cfg) std::vector sides = game_events::get_sides_vector(cfg); size_t index; - foreach (const int &side_num, sides) + BOOST_FOREACH(const int &side_num, sides) { index = side_num - 1; team &t = (*resources::teams)[index]; @@ -744,7 +745,7 @@ static void toggle_shroud(const bool remove, const vconfig& cfg) filter.restrict_size(game_config::max_loop); filter.get_locations(locs, true); - foreach (map_location const &loc, locs) + BOOST_FOREACH(map_location const &loc, locs) { if (remove) { t.clear_shroud(loc); @@ -774,7 +775,7 @@ WML_HANDLER_FUNCTION(tunnel, /*event_info*/, cfg) const bool remove = utils::string_bool(cfg["remove"], false); if (remove) { const std::vector ids = utils::split(cfg["id"]); - foreach(const std::string &id, ids) { + BOOST_FOREACH(const std::string &id, ids) { resources::tunnels->remove(id); } } else if (cfg.get_children("source").empty() || @@ -941,7 +942,7 @@ WML_HANDLER_FUNCTION(inspect, /*event_info*/, cfg) WML_HANDLER_FUNCTION(modify_ai, /*event_info*/, cfg) { std::vector sides = game_events::get_sides_vector(cfg); - foreach (const int &side_num, sides) + BOOST_FOREACH(const int &side_num, sides) { ai::manager::modify_active_ai_for_side(side_num,cfg.get_parsed_config()); } @@ -967,7 +968,7 @@ WML_HANDLER_FUNCTION(modify_side, /*event_info*/, cfg) std::vector sides = game_events::get_sides_vector(cfg); size_t team_index; - foreach (const int &side_num, sides) + BOOST_FOREACH(const int &side_num, sides) { team_index = side_num - 1; LOG_NG << "modifying side: " << side_num << "\n"; @@ -1212,7 +1213,7 @@ WML_HANDLER_FUNCTION(move_units_fake, /*event_info*/, cfg) size_t longest_path = 0; - foreach(const vconfig& config, unit_cfgs) { + BOOST_FOREACH(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"]; @@ -1461,7 +1462,7 @@ WML_HANDLER_FUNCTION(set_variable, /*event_info*/, cfg) variable_info vi(array_name, true, variable_info::TYPE_ARRAY); bool first = true; - foreach (const config &cfg, vi.as_array()) + BOOST_FOREACH(const config &cfg, vi.as_array()) { std::string current_string = cfg[key_name]; if (remove_empty && current_string.empty()) continue; @@ -1589,7 +1590,7 @@ WML_HANDLER_FUNCTION(set_variables, /*event_info*/, cfg) dest.vars->merge_with(data); } } else if(mode == "insert" || dest.explicit_index) { - foreach (const config &child, data.child_range(dest.key)) + BOOST_FOREACH(const config &child, data.child_range(dest.key)) { dest.vars->add_child_at(dest.key, child, dest.index++); } @@ -1619,7 +1620,7 @@ WML_HANDLER_FUNCTION(role, /*event_info*/, cfg) item["type"] = *ti; } unit_map::iterator itor; - foreach (unit &u, *resources::units) { + BOOST_FOREACH(unit &u, *resources::units) { if (game_events::unit_matches_filter(u, filter)) { u.set_role(cfg["role"]); found = true; @@ -1632,7 +1633,7 @@ WML_HANDLER_FUNCTION(role, /*event_info*/, cfg) std::set player_ids; std::vector sides = utils::split(cfg["side"]); const bool has_any_sides = !sides.empty(); - foreach(std::string const& side_str, sides) { + BOOST_FOREACH(std::string const& side_str, sides) { size_t side_num = lexical_cast_default(side_str,0); if(side_num > 0 && side_num <= resources::teams->size()) { player_ids.insert((resources::teams->begin() + (side_num - 1))->save_id()); @@ -1699,7 +1700,7 @@ void change_terrain(const map_location &loc, const t_translation::t_terrain &t, game_map->set_terrain(loc, new_t); screen_needs_rebuild = true; - foreach (const t_translation::t_terrain &ut, game_map->underlying_union_terrain(loc)) { + BOOST_FOREACH(const t_translation::t_terrain &ut, game_map->underlying_union_terrain(loc)) { preferences::encountered_terrains().insert(ut); } } @@ -1820,7 +1821,7 @@ WML_HANDLER_FUNCTION(recall, /*event_info*/, cfg) const map_location cfg_loc = cfg_to_loc(cfg); //TODO fendrin: comment this monster - foreach (unit_map::const_unit_iterator leader, leaders) { + BOOST_FOREACH(unit_map::const_unit_iterator leader, leaders) { DBG_NG << "...considering " + leader->id() + " as the recalling leader...\n"; map_location loc = cfg_loc; if ( (leader_filter.null() || leader->matches_filter(leader_filter, leader->get_location())) && @@ -1879,7 +1880,7 @@ WML_HANDLER_FUNCTION(object, event_info, cfg) map_location loc; if(!filter.null()) { - foreach (const unit &u, *resources::units) { + BOOST_FOREACH(const unit &u, *resources::units) { if (game_events::unit_matches_filter(u, filter)) { loc = u.get_location(); break; @@ -1926,7 +1927,7 @@ WML_HANDLER_FUNCTION(object, event_info, cfg) } } - foreach (const vconfig &cmd, cfg.get_children(command_type)) { + BOOST_FOREACH(const vconfig &cmd, cfg.get_children(command_type)) { handle_event_commands(event_info, cmd); } } @@ -2029,13 +2030,13 @@ WML_HANDLER_FUNCTION(kill, event_info, cfg) std::vector dead_men_walking; // unit_map::iterator uit(resources::units->begin()), uend(resources::units->end()); // for(;uit!=uend; ++uit){ - foreach(unit & u, *resources::units){ + BOOST_FOREACH(unit & u, *resources::units){ if(game_events::unit_matches_filter(u, cfg)){ dead_men_walking.push_back(&u); } } - foreach(unit * un, dead_men_walking) { + BOOST_FOREACH(unit * un, dead_men_walking) { map_location loc(un->get_location()); bool fire_event = false; game_events::entity_location death_loc(*un); @@ -2429,7 +2430,7 @@ WML_HANDLER_FUNCTION(redraw, /*event_info*/, cfg) if (clear_shroud_bool) { side_filter filter(cfg); - foreach(const int side, filter.get_teams()){ + BOOST_FOREACH(const int side, filter.get_teams()){ clear_shroud(side); } screen.recalculate_minimap(); @@ -2466,7 +2467,7 @@ WML_HANDLER_FUNCTION(heal_unit, event_info, cfg) const vconfig healers_filter = cfg.child("filter_second"); std::vector healers; if (!healers_filter.null()) { - foreach (unit& u, *units) { + BOOST_FOREACH(unit& u, *units) { if (game_events::unit_matches_filter(u, healers_filter) && u.has_ability_type("heals")) { healers.push_back(&u); } @@ -2835,7 +2836,7 @@ WML_HANDLER_FUNCTION(message, event_info, cfg) return; } - foreach (const vconfig &cmd, option_events[option_chosen]) { + BOOST_FOREACH(const vconfig &cmd, option_events[option_chosen]) { handle_event_commands(event_info, cmd); } } @@ -2858,7 +2859,7 @@ WML_HANDLER_FUNCTION(time_area, /*event_info*/, cfg) if(remove) { const std::vector id_list = utils::split(ids, ',', utils::STRIP_SPACES | utils::REMOVE_EMPTY); - foreach(const std::string& id, id_list) { + BOOST_FOREACH(const std::string& id, id_list) { resources::tod_manager->remove_time_area(id); LOG_NG << "event WML removed time_area '" << id << "'\n"; } @@ -2997,7 +2998,7 @@ static void commit_wmi_commands() { if(is_empty_command) { mref->command.add_child("allow_undo"); } - foreach(game_events::event_handler& hand, event_handlers) { + BOOST_FOREACH(game_events::event_handler& hand, event_handlers) { if(hand.is_menu_item() && hand.matches_name(mref->name)) { LOG_NG << "changing command for " << mref->name << " to:\n" << *wcc.second; hand = game_events::event_handler(mref->command, true); @@ -3029,14 +3030,14 @@ static bool process_event(game_events::event_handler& handler, const game_events vconfig filters(handler.get_config()); - foreach (const vconfig &condition, filters.get_children("filter_condition")) + BOOST_FOREACH(const vconfig &condition, filters.get_children("filter_condition")) { if (!game_events::conditional_passed(condition)) { return false; } } - foreach (const vconfig &f, filters.get_children("filter")) + BOOST_FOREACH(const vconfig &f, filters.get_children("filter")) { if (unit1 == units->end() || !game_events::unit_matches_filter(*unit1, f)) { return false; @@ -3046,7 +3047,7 @@ static bool process_event(game_events::event_handler& handler, const game_events } } - foreach (const vconfig &f, filters.get_children("filter_side")) + BOOST_FOREACH(const vconfig &f, filters.get_children("filter_side")) { side_filter ssf(f); const int current_side = resources::controller->current_side(); @@ -3055,7 +3056,7 @@ static bool process_event(game_events::event_handler& handler, const game_events vconfig::child_list special_filters = filters.get_children("filter_attack"); bool special_matches = special_filters.empty(); - foreach (const vconfig &f, special_filters) + BOOST_FOREACH(const vconfig &f, special_filters) { if (unit1 != units->end() && game_events::matches_special_filter(ev.data.child("first"), f)) { special_matches = true; @@ -3068,7 +3069,7 @@ static bool process_event(game_events::event_handler& handler, const game_events return false; } - foreach (const vconfig &f, filters.get_children("filter_second")) + BOOST_FOREACH(const vconfig &f, filters.get_children("filter_second")) { if (unit2 == units->end() || !game_events::unit_matches_filter(*unit2, f)) { return false; @@ -3080,7 +3081,7 @@ static bool process_event(game_events::event_handler& handler, const game_events special_filters = filters.get_children("filter_second_attack"); special_matches = special_filters.empty(); - foreach (const vconfig &f, special_filters) + BOOST_FOREACH(const vconfig &f, special_filters) { if (unit2 != units->end() && game_events::matches_special_filter(ev.data.child("second"), f)) { special_matches = true; @@ -3275,17 +3276,17 @@ namespace game_events { : variable_manager() { assert(!manager_running); - foreach (const config &ev, cfg.child_range("event")) { + BOOST_FOREACH(const config &ev, cfg.child_range("event")) { event_handlers.add_event_handler(game_events::event_handler(ev)); } - foreach (const std::string &id, utils::split(cfg["unit_wml_ids"])) { + BOOST_FOREACH(const std::string &id, utils::split(cfg["unit_wml_ids"])) { unit_wml_ids.insert(id); } resources::lua_kernel = new LuaKernel(cfg); manager_running = true; - foreach (static_wml_action_map::value_type &action, static_wml_actions) { + BOOST_FOREACH(static_wml_action_map::value_type &action, static_wml_actions) { resources::lua_kernel->set_wml_action(action.first, action.second); } @@ -3298,7 +3299,7 @@ namespace game_events { } int wmi_count = 0; typedef std::pair item; - foreach (const item &itor, resources::state_of_game->wml_menu_items) { + BOOST_FOREACH(const item &itor, resources::state_of_game->wml_menu_items) { if (!itor.second->command.empty()) { event_handlers.add_event_handler(game_events::event_handler(itor.second->command, true)); } @@ -3312,7 +3313,7 @@ namespace game_events { void write_events(config& cfg) { assert(manager_running); - foreach (const game_events::event_handler &eh, event_handlers) { + BOOST_FOREACH(const game_events::event_handler &eh, event_handlers) { if (eh.disabled() || eh.is_menu_item()) continue; cfg.add_child("event", eh.get_config()); } @@ -3385,7 +3386,7 @@ namespace game_events { if(std::find(unit_wml_ids.begin(),unit_wml_ids.end(),type) != unit_wml_ids.end()) return; unit_wml_ids.insert(type); } - foreach (const config &new_ev, cfgs) { + BOOST_FOREACH(const config &new_ev, cfgs) { if(type.empty() && new_ev["id"].empty()) { WRN_NG << "attempt to add an [event] with empty id=, ignoring \n"; @@ -3427,7 +3428,7 @@ namespace game_events { if(!lg::debug.dont_log("event_handler")) { std::stringstream ss; - foreach(const game_events::queued_event& ev, events_queue) { + BOOST_FOREACH(const game_events::queued_event& ev, events_queue) { ss << "name=" << ev.name << "; "; } DBG_EH << "processing queued events: " << ss.str() << "\n"; @@ -3454,7 +3455,7 @@ namespace game_events { bool init_event_vars = true; - foreach(game_events::event_handler& handler, event_handlers) { + BOOST_FOREACH(game_events::event_handler& handler, event_handlers) { if(!handler.matches_name(event_name)) continue; // Set the variables for the event diff --git a/src/game_preferences.cpp b/src/game_preferences.cpp index 45e3647a156c..4aa9ac2e1bf3 100644 --- a/src/game_preferences.cpp +++ b/src/game_preferences.cpp @@ -17,7 +17,6 @@ #define GETTEXT_DOMAIN "wesnoth-lib" -#include "foreach.hpp" #include "game_display.hpp" #include "game_preferences.hpp" #include "gamestatus.hpp" @@ -31,6 +30,8 @@ #include "unit_map.hpp" #include "wml_exception.hpp" +#include + static lg::log_domain log_config("config"); #define ERR_CFG LOG_STREAM(err , log_config) @@ -112,9 +113,9 @@ manager::manager() : message = foobar [/line] */ - foreach (const config::any_child &h, history.all_children_range()) + BOOST_FOREACH(const config::any_child &h, history.all_children_range()) { - foreach (const config &l, h.cfg.child_range("line")) { + BOOST_FOREACH(const config &l, h.cfg.child_range("line")) { history_map[h.key].push_back(l["message"]); } } @@ -142,10 +143,10 @@ manager::~manager() */ config history; typedef std::pair > hack; - foreach(const hack& history_id, history_map) { + BOOST_FOREACH(const hack& history_id, history_map) { config history_id_cfg; // [history_id] - foreach(const std::string& line, history_id.second) { + BOOST_FOREACH(const std::string& line, history_id.second) { config cfg; // [line] cfg["message"] = line; @@ -314,7 +315,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()); - foreach (const config &server, get_prefs()->child_range("server")) { + BOOST_FOREACH(const config &server, get_prefs()->child_range("server")) { game_config::server_info sinf; sinf.name = server["name"].str(); sinf.address = server["address"].str(); @@ -945,8 +946,8 @@ void encounter_start_units(unit_map& units){ } void encounter_recallable_units(std::vector& teams){ - foreach(const team& t, teams) { - foreach(const unit& u, t.recall_list()) { + BOOST_FOREACH(const team& t, teams) { + BOOST_FOREACH(const unit& u, t.recall_list()) { encountered_units_set.insert(u.type_id()); } } diff --git a/src/game_preferences_display.cpp b/src/game_preferences_display.cpp index 820397a120a4..80f513d33470 100644 --- a/src/game_preferences_display.cpp +++ b/src/game_preferences_display.cpp @@ -19,7 +19,6 @@ #include "display.hpp" #include "filesystem.hpp" #include "filechooser.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gettext.hpp" #include "gui/dialogs/simple_item_selector.hpp" @@ -30,6 +29,7 @@ #include "widgets/slider.hpp" #include "formula_string_utils.hpp" +#include namespace preferences { @@ -1071,7 +1071,7 @@ const config* preferences_dialog::get_advanced_pref() const void preferences_dialog::set_advanced_menu() { std::vector advanced_items; - foreach (const config &adv, adv_preferences_cfg_) + BOOST_FOREACH(const config &adv, adv_preferences_cfg_) { std::ostringstream str; std::string field = preferences::get(adv["field"]); @@ -1096,7 +1096,7 @@ void preferences_dialog::sort_advanced_preferences() { adv_preferences_cfg_.clear(); - foreach(const config& adv, game_cfg_.child_range("advanced_preference")) { + BOOST_FOREACH(const config& adv, game_cfg_.child_range("advanced_preference")) { adv_preferences_cfg_.push_back(adv); } diff --git a/src/gamestatus.cpp b/src/gamestatus.cpp index 2cb4f49acb20..fa2afef1883d 100644 --- a/src/gamestatus.cpp +++ b/src/gamestatus.cpp @@ -24,7 +24,6 @@ #include "gamestatus.hpp" #include "actions.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "log.hpp" #include "game_preferences.hpp" @@ -42,6 +41,7 @@ #include "whiteboard/side_actions.hpp" #include +#include #ifndef _MSC_VER #include @@ -178,9 +178,9 @@ void write_players(game_state& gamestate, config& cfg, const bool use_snapshot, tags.push_back("side"); tags.push_back("player"); //merge [player] tags for backwards compatibility of saves - foreach (const std::string& side_tag, tags) + BOOST_FOREACH(const std::string& side_tag, tags) { - foreach (config &carryover_side, source->child_range(side_tag)) + BOOST_FOREACH(config &carryover_side, source->child_range(side_tag)) { config *scenario_side = NULL; @@ -226,13 +226,13 @@ void write_players(game_state& gamestate, config& cfg, const bool use_snapshot, (*scenario_side)["color"] = carryover_side["color"]; //add recallable units - foreach (const config &u, carryover_side.child_range("unit")) { + BOOST_FOREACH(const config &u, carryover_side.child_range("unit")) { scenario_side->add_child("unit", u); } } } } else { - foreach(const config &snapshot_side, source->child_range("side")) { + BOOST_FOREACH(const config &snapshot_side, source->child_range("side")) { //take all side tags and add them as players (assuming they only contain carryover information) cfg.add_child("player", snapshot_side); } @@ -306,7 +306,7 @@ game_state::game_state(const config& cfg, bool show_replay) : //See also playcampaign::play_game, where after finishing the scenario the replay //will be saved. if(!starting_pos.empty()) { - foreach (const config &p, cfg.child_range("player")) { + BOOST_FOREACH(const config &p, cfg.child_range("player")) { config& cfg_player = starting_pos.add_child("player"); cfg_player.merge_with(p); } @@ -400,7 +400,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) std::string leader; std::string leader_image; - //foreach (const config &p, cfg_save.child_range("player")) + //BOOST_FOREACH(const config &p, cfg_save.child_range("player")) //{ // if (utils::string_bool(p["canrecruit"], false)) { // leader = p["save_id"]; @@ -413,7 +413,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) //{ if (const config &snapshot = *(has_snapshot ? &cfg_snapshot : &cfg_replay_start)) { - foreach (const config &side, snapshot.child_range("side")) + BOOST_FOREACH(const config &side, snapshot.child_range("side")) { if (side["controller"] != "human") { continue; @@ -430,7 +430,7 @@ void extract_summary_from_config(config& cfg_save, config& cfg_summary) break; } - foreach (const config &u, side.child_range("unit")) + BOOST_FOREACH(const config &u, side.child_range("unit")) { if (u["canrecruit"].to_bool()) { leader = u["id"].str(); @@ -794,7 +794,7 @@ class team_builder { // can be recruited for the player, add them. if (!player_cfg_) return; if (const config::attribute_value *v = player_cfg_->get("previous_recruits")) { - foreach (const std::string &rec, utils::split(*v)) { + BOOST_FOREACH(const std::string &rec, utils::split(*v)) { DBG_NG_TC << "adding previous recruit: " << rec << '\n'; t_->add_recruit(rec); } @@ -857,7 +857,7 @@ class team_builder { if (!side_cfg_["no_leader"].to_bool() && side_cfg_["controller"] != "null") { handle_leader(side_cfg_); } - foreach (const config &l, side_cfg_.child_range("leader")) { + BOOST_FOREACH(const config &l, side_cfg_.child_range("leader")) { handle_leader(l); } } @@ -871,13 +871,13 @@ class team_builder { //only relevant in start-of-scenario saves, that's why !shapshot //units that are in '[scenario][side]' are 'first' //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_ - foreach(const config &u, (*player_cfg_).child_range("unit")) { + BOOST_FOREACH(const config &u, (*player_cfg_).child_range("unit")) { handle_unit(u,"player_cfg"); } } else { //units in [side] - foreach (const config &su, side_cfg_.child_range("unit")) { + BOOST_FOREACH(const config &su, side_cfg_.child_range("unit")) { handle_unit(su, "side_cfg"); } } @@ -902,7 +902,7 @@ class team_builder { "allow_changes", "faction_name", "user_description", "faction" }; log_step("place units"); - foreach (const config *u, unit_configs_) { + BOOST_FOREACH(const config *u, unit_configs_) { unit_creator uc(*t_,map_.starting_position(side_)); uc .allow_add_to_recall(true) @@ -913,7 +913,7 @@ class team_builder { .allow_show(false); config cfg = *u; - foreach (const char *attr, side_attrs) { + BOOST_FOREACH(const char *attr, side_attrs) { cfg.remove_attribute(attr); } uc.add_unit(cfg); @@ -953,7 +953,7 @@ void game_state::build_team_stage_two(team_builder_ptr tb_ptr) void game_state::set_menu_items(const config::const_child_itors &menu_items) { clear_wmi(wml_menu_items); - foreach (const config &item, menu_items) + BOOST_FOREACH(const config &item, menu_items) { std::string id = item["id"]; wml_menu_item*& mref = wml_menu_items[id]; diff --git a/src/gui/auxiliary/canvas.cpp b/src/gui/auxiliary/canvas.cpp index d896574a6c2f..63565af68686 100644 --- a/src/gui/auxiliary/canvas.cpp +++ b/src/gui/auxiliary/canvas.cpp @@ -24,7 +24,6 @@ #include "config.hpp" #include "../../image.hpp" -#include "foreach.hpp" #include "formatter.hpp" #include "gettext.hpp" #include "gui/auxiliary/formula.hpp" @@ -33,6 +32,8 @@ #include "../../text.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace { @@ -1455,7 +1456,7 @@ void tcanvas::parse_cfg(const config& cfg) log_scope2(log_gui_parse, "Canvas: parsing config."); shapes_.clear(); - foreach(const config::any_child& shape, cfg.all_children_range()) { + BOOST_FOREACH(const config::any_child& shape, cfg.all_children_range()) { const std::string &type = shape.key; const config &data = shape.cfg; @@ -1474,7 +1475,7 @@ void tcanvas::parse_cfg(const config& cfg) } else if(type == "pre_commit") { /* note this should get split if more preprocessing is used. */ - foreach(const config::any_child& function, + BOOST_FOREACH(const config::any_child& function, data.all_children_range()) { if(function.key == "blur") { diff --git a/src/gui/auxiliary/event/dispatcher.cpp b/src/gui/auxiliary/event/dispatcher.cpp index 6f35f705eacf..745bc314ef83 100644 --- a/src/gui/auxiliary/event/dispatcher.cpp +++ b/src/gui/auxiliary/event/dispatcher.cpp @@ -17,7 +17,6 @@ #include "gui/auxiliary/event/dispatcher_private.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" namespace gui2 { diff --git a/src/gui/auxiliary/event/handler.cpp b/src/gui/auxiliary/event/handler.cpp index 3f095f188cd2..e4b30436f34a 100644 --- a/src/gui/auxiliary/event/handler.cpp +++ b/src/gui/auxiliary/event/handler.cpp @@ -18,7 +18,6 @@ #include "gui/auxiliary/event/handler.hpp" #include "clipboard.hpp" -#include "foreach.hpp" #include "gui/auxiliary/event/dispatcher.hpp" #include "gui/auxiliary/timer.hpp" #include "gui/auxiliary/log.hpp" @@ -28,6 +27,8 @@ #include "hotkeys.hpp" #include "video.hpp" +#include + #include /** @@ -429,7 +430,7 @@ void thandler::disconnect(tdispatcher* dispatcher) } /***** Set proper state for the other dispatchers. *****/ - foreach(tdispatcher* dispatcher, dispatchers_) { + BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { dynamic_cast(*dispatcher).set_dirty(); } @@ -448,7 +449,7 @@ void thandler::disconnect(tdispatcher* dispatcher) void thandler::activate() { - foreach(tdispatcher* dispatcher, dispatchers_) { + BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { dispatcher->fire(SDL_ACTIVATE , dynamic_cast(*dispatcher) , NULL); @@ -472,7 +473,7 @@ void thandler::draw(const bool force) * * For now we use a hack, but would be nice to rewrite it for 1.9/1.11. */ - foreach(tdispatcher* dispatcher, dispatchers_) { + BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { if(!first) { /* * This leaves glitches on window borders if the window beneath it @@ -503,7 +504,7 @@ void thandler::video_resize(const tpoint& new_size) { DBG_GUI_E << "Firing: " << SDL_VIDEO_RESIZE << ".\n"; - foreach(tdispatcher* dispatcher, dispatchers_) { + BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { dispatcher->fire(SDL_VIDEO_RESIZE , dynamic_cast(*dispatcher) , new_size); diff --git a/src/gui/auxiliary/notifier.hpp b/src/gui/auxiliary/notifier.hpp index c4038b83144d..750de079136c 100644 --- a/src/gui/auxiliary/notifier.hpp +++ b/src/gui/auxiliary/notifier.hpp @@ -16,10 +16,10 @@ #ifndef GUI_WIDGETS_AUXILIARY_NOTIFIER_HPP_INCLUDED #define GUI_WIDGETS_AUXILIARY_NOTIFIER_HPP_INCLUDED -#include "foreach.hpp" - #include "gui/auxiliary/notifiee.hpp" +#include + #include #include @@ -47,7 +47,7 @@ class tnotifier ~tnotifier() { typedef std::pair* const, tfunctor> thack; - foreach(thack& item, notifiees_) { + BOOST_FOREACH(thack& item, notifiees_) { assert(item.first); assert((*item.first).notifier_ == this); diff --git a/src/gui/auxiliary/tips.cpp b/src/gui/auxiliary/tips.cpp index 9a1b48c4d5c1..42dfc79fab74 100644 --- a/src/gui/auxiliary/tips.cpp +++ b/src/gui/auxiliary/tips.cpp @@ -18,10 +18,11 @@ #include "gui/auxiliary/tips.hpp" #include "config.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "serialization/string_utils.hpp" +#include + namespace gui2 { ttip::ttip(const t_string& text @@ -39,7 +40,7 @@ std::vector load(const config& cfg) { std::vector result; - foreach(const config &tip, cfg.child_range("tip")) { + BOOST_FOREACH(const config &tip, cfg.child_range("tip")) { result.push_back(ttip(tip["text"] , tip["source"] , tip["encountered_units"])); @@ -54,11 +55,11 @@ std::vector shuffle(const std::vector& tips) const std::set& units = preferences::encountered_units(); - foreach(const ttip& tip, tips) { + BOOST_FOREACH(const ttip& tip, tips) { if(tip.unit_filter_.empty()) { result.push_back(tip); } else { - foreach(const std::string& unit, tip.unit_filter_) { + BOOST_FOREACH(const std::string& unit, tip.unit_filter_) { if(units.find(unit) != units.end()) { result.push_back(tip); break; diff --git a/src/gui/auxiliary/widget_definition.hpp b/src/gui/auxiliary/widget_definition.hpp index aef5e39f76bf..06ad0870379d 100644 --- a/src/gui/auxiliary/widget_definition.hpp +++ b/src/gui/auxiliary/widget_definition.hpp @@ -17,9 +17,10 @@ #define GUI_AUXILIARY_WIDGET_DEFINITION_HPP_INCLUDED #include "config.hpp" -#include "foreach.hpp" #include "gui/auxiliary/canvas.hpp" +#include + namespace gui2 { /** @@ -98,7 +99,7 @@ struct tcontrol_definition void load_resolutions(const config &cfg) { config::const_child_itors itors = cfg.child_range("resolution"); - foreach(const config &resolution, itors) { + BOOST_FOREACH(const config &resolution, itors) { resolutions.push_back(new T(resolution)); } } diff --git a/src/gui/auxiliary/window_builder.cpp b/src/gui/auxiliary/window_builder.cpp index 73044891bf55..cb093e358a84 100644 --- a/src/gui/auxiliary/window_builder.cpp +++ b/src/gui/auxiliary/window_builder.cpp @@ -18,7 +18,6 @@ #include "gui/auxiliary/window_builder_private.hpp" #include "asserts.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/window_builder/helper.hpp" @@ -43,6 +42,7 @@ #include "formula_string_utils.hpp" #include +#include namespace gui2 { @@ -67,7 +67,7 @@ tbuilder_widget_ptr create_builder_widget(const config& cfg) std::string , boost::function > thack; - foreach(const thack& item, builder_widget_lookup()) { + BOOST_FOREACH(const thack& item, builder_widget_lookup()) { if(item.first == "window" || item.first == "tooltip") { continue; } @@ -153,7 +153,7 @@ twindow *build(CVideo &video, const twindow_builder::tresolution *definition) , definition->helptip); assert(window); - foreach(const twindow_builder::tresolution::tlinked_group& lg, + BOOST_FOREACH(const twindow_builder::tresolution::tlinked_group& lg, definition->linked_groups) { if(window->has_linked_size_group(lg.id)) { @@ -238,7 +238,7 @@ const std::string& twindow_builder::read(const config& cfg) config::const_child_itors cfgs = cfg.child_range("resolution"); VALIDATE(cfgs.first != cfgs.second, _("No resolution defined.")); - foreach (const config &i, cfgs) { + BOOST_FOREACH(const config &i, cfgs) { resolutions.push_back(tresolution(i)); } @@ -386,7 +386,7 @@ twindow_builder::tresolution::tresolution(const config& cfg) : definition = "default"; } - foreach (const config &lg, cfg.child_range("linked_group")) { + BOOST_FOREACH(const config &lg, cfg.child_range("linked_group")) { tlinked_group linked_group; linked_group.id = lg["id"].str(); linked_group.fixed_width = lg["fixed_width"].to_bool(); @@ -501,13 +501,13 @@ tbuilder_grid::tbuilder_grid(const config& cfg) : */ log_scope2(log_gui_parse, "Window builder: parsing a grid"); - foreach (const config &row, cfg.child_range("row")) + BOOST_FOREACH(const config &row, cfg.child_range("row")) { unsigned col = 0; row_grow_factor.push_back(row["grow_factor"]); - foreach (const config &c, row.child_range("column")) + BOOST_FOREACH(const config &c, row.child_range("column")) { flags.push_back(implementation::read_flags(c)); border_size.push_back(c["border_size"]); diff --git a/src/gui/auxiliary/window_builder/helper.cpp b/src/gui/auxiliary/window_builder/helper.cpp index cd331c3656c3..19655d38e111 100644 --- a/src/gui/auxiliary/window_builder/helper.cpp +++ b/src/gui/auxiliary/window_builder/helper.cpp @@ -18,11 +18,12 @@ #include "gui/auxiliary/window_builder/helper.hpp" #include "config.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/widgets/grid.hpp" #include "gui/widgets/window.hpp" +#include + namespace gui2 { namespace implementation { @@ -60,7 +61,7 @@ unsigned get_h_align(const std::string& h_align) unsigned get_border(const std::vector& border) { unsigned result = 0; - foreach (const std::string& s, border) { + BOOST_FOREACH(const std::string& s, border) { if (s == "all") { return tgrid::BORDER_ALL; } else if (s == "top") { diff --git a/src/gui/auxiliary/window_builder/horizontal_listbox.cpp b/src/gui/auxiliary/window_builder/horizontal_listbox.cpp index 3110bdddc8d1..80973d4ada32 100644 --- a/src/gui/auxiliary/window_builder/horizontal_listbox.cpp +++ b/src/gui/auxiliary/window_builder/horizontal_listbox.cpp @@ -17,7 +17,6 @@ #include "gui/auxiliary/window_builder/horizontal_listbox.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/listbox.hpp" @@ -29,6 +28,8 @@ #endif #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -53,12 +54,12 @@ tbuilder_horizontal_listbox::tbuilder_horizontal_listbox(const config& cfg) const config &data = cfg.child("list_data"); if (!data) return; - foreach(const config &row, data.child_range("row")) { + BOOST_FOREACH(const config &row, data.child_range("row")) { unsigned col = 0; - foreach(const config &c, row.child_range("column")) { + BOOST_FOREACH(const config &c, row.child_range("column")) { list_data.push_back(string_map()); - foreach (const config::attribute &i, c.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, c.attribute_range()) { list_data.back()[i.first] = i.second; } ++col; diff --git a/src/gui/auxiliary/window_builder/listbox.cpp b/src/gui/auxiliary/window_builder/listbox.cpp index 8e8914cb73fb..3cb868662f7c 100644 --- a/src/gui/auxiliary/window_builder/listbox.cpp +++ b/src/gui/auxiliary/window_builder/listbox.cpp @@ -17,7 +17,6 @@ #include "gui/auxiliary/window_builder/listbox.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/listbox.hpp" @@ -30,6 +29,8 @@ #include "gui/widgets/settings.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -66,12 +67,12 @@ tbuilder_listbox::tbuilder_listbox(const config& cfg) return; } - foreach(const config& row, data.child_range("row")) { + BOOST_FOREACH(const config& row, data.child_range("row")) { unsigned col = 0; - foreach(const config& c, row.child_range("column")) { + BOOST_FOREACH(const config& c, row.child_range("column")) { list_data.push_back(string_map()); - foreach(const config::attribute& i, c.attribute_range()) { + BOOST_FOREACH(const config::attribute& i, c.attribute_range()) { list_data.back()[i.first] = i.second; } ++col; diff --git a/src/gui/auxiliary/window_builder/multi_page.cpp b/src/gui/auxiliary/window_builder/multi_page.cpp index c866ecad1bd2..b05c80a6ec36 100644 --- a/src/gui/auxiliary/window_builder/multi_page.cpp +++ b/src/gui/auxiliary/window_builder/multi_page.cpp @@ -18,13 +18,14 @@ #include "gui/auxiliary/window_builder/multi_page.hpp" #include "config.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/multi_page.hpp" #include "gui/widgets/multi_page.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -46,12 +47,12 @@ tbuilder_multi_page::tbuilder_multi_page(const config& cfg) return; } - foreach(const config &row, d.child_range("row")) { + BOOST_FOREACH(const config &row, d.child_range("row")) { unsigned col = 0; - foreach(const config &column, row.child_range("column")) { + BOOST_FOREACH(const config &column, row.child_range("column")) { data.push_back(string_map()); - foreach(const config::attribute &i, column.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, column.attribute_range()) { data.back()[i.first] = i.second; } ++col; diff --git a/src/gui/auxiliary/window_builder/slider.cpp b/src/gui/auxiliary/window_builder/slider.cpp index 2ae0f72cfc1c..7b1ddc97c5f5 100644 --- a/src/gui/auxiliary/window_builder/slider.cpp +++ b/src/gui/auxiliary/window_builder/slider.cpp @@ -18,12 +18,13 @@ #include "gui/auxiliary/window_builder/slider.hpp" #include "config.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/widgets/slider.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -44,7 +45,7 @@ tbuilder_slider::tbuilder_slider(const config& cfg) return; } - foreach(const config& label, labels.child_range("value")) { + BOOST_FOREACH(const config& label, labels.child_range("value")) { value_labels_.push_back(label["label"]); } } diff --git a/src/gui/auxiliary/window_builder/stacked_widget.cpp b/src/gui/auxiliary/window_builder/stacked_widget.cpp index d88cd2c4e68d..eeffc0b1b85e 100644 --- a/src/gui/auxiliary/window_builder/stacked_widget.cpp +++ b/src/gui/auxiliary/window_builder/stacked_widget.cpp @@ -18,13 +18,14 @@ #include "gui/auxiliary/window_builder/stacked_widget.hpp" #include "config.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/stacked_widget.hpp" #include "gui/widgets/stacked_widget.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -35,7 +36,7 @@ tbuilder_stacked_widget::tbuilder_stacked_widget(const config& cfg) { const config &s = cfg.child("stack"); VALIDATE(s, _("No stack defined.")); - foreach(const config &layer, s.child_range("layer")) { + BOOST_FOREACH(const config &layer, s.child_range("layer")) { stack.push_back(new tbuilder_grid(layer)); } } diff --git a/src/gui/auxiliary/window_builder/tree_view.cpp b/src/gui/auxiliary/window_builder/tree_view.cpp index dfc0568ed3e3..67d826011232 100644 --- a/src/gui/auxiliary/window_builder/tree_view.cpp +++ b/src/gui/auxiliary/window_builder/tree_view.cpp @@ -17,7 +17,6 @@ #include "gui/auxiliary/window_builder/tree_view.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/tree_view.hpp" @@ -25,6 +24,8 @@ #include "gui/widgets/tree_view.hpp" #include "wml_exception.hpp" +#include + namespace gui2 { namespace implementation { @@ -39,7 +40,7 @@ tbuilder_tree_view::tbuilder_tree_view(const config& cfg) , nodes() { - foreach(const config &node, cfg.child_range("node")) { + BOOST_FOREACH(const config &node, cfg.child_range("node")) { nodes.push_back(tnode(node)); } diff --git a/src/gui/dialogs/addon/description.cpp b/src/gui/dialogs/addon/description.cpp index bdb0ff177f94..298c7d703943 100644 --- a/src/gui/dialogs/addon/description.cpp +++ b/src/gui/dialogs/addon/description.cpp @@ -17,14 +17,15 @@ #include "gui/dialogs/addon/description.hpp" -#include "foreach.hpp" #include "gui/widgets/settings.hpp" #include "language.hpp" +#include + namespace { std::string langcode_to_string(const std::string& lcode) { - foreach(const language_def& ld, get_languages()) { + BOOST_FOREACH(const language_def& ld, get_languages()) { if(ld.localename == lcode || ld.localename.substr(0, 2) == lcode) { return ld.language; } @@ -90,7 +91,7 @@ taddon_description::taddon_description(const addon_info& addon) std::string languages; - foreach(const std::string& lc, addon.translations) { + BOOST_FOREACH(const std::string& lc, addon.translations) { const std::string& langlabel = langcode_to_string(lc); if(!langlabel.empty()) { if(!languages.empty()) { diff --git a/src/gui/dialogs/addon/uninstall_list.cpp b/src/gui/dialogs/addon/uninstall_list.cpp index 766273f8a17b..fe7b339dd61e 100644 --- a/src/gui/dialogs/addon/uninstall_list.cpp +++ b/src/gui/dialogs/addon/uninstall_list.cpp @@ -15,7 +15,6 @@ #include "gui/dialogs/addon/uninstall_list.hpp" -#include "foreach.hpp" #include "gui/widgets/grid.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX #include "gui/widgets/list.hpp" @@ -26,6 +25,8 @@ #include "gui/widgets/toggle_button.hpp" #include "gui/widgets/window.hpp" +#include + #include namespace { @@ -50,7 +51,7 @@ void taddon_uninstall_list::pre_show(CVideo& /*video*/, twindow& window) this->names_.clear(); this->selections_.clear(); - foreach(const std::string& id, this->ids_) { + BOOST_FOREACH(const std::string& id, this->ids_) { this->names_.push_back(make_addon_name(id)); this->selections_[id] = false; @@ -87,7 +88,7 @@ std::vector taddon_uninstall_list::selected_addons() const std::vector retv; typedef std::map selections_map_type; - foreach(const selections_map_type::value_type& entry, this->selections_) { + BOOST_FOREACH(const selections_map_type::value_type& entry, this->selections_) { if(entry.second) { retv.push_back(entry.first); } diff --git a/src/gui/dialogs/addon_list.cpp b/src/gui/dialogs/addon_list.cpp index e13611080e9c..7ae1b1a121d0 100644 --- a/src/gui/dialogs/addon_list.cpp +++ b/src/gui/dialogs/addon_list.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/addon_list.hpp" -#include "foreach.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX #include "gui/widgets/list.hpp" #else @@ -26,6 +25,8 @@ #include "gui/widgets/settings.hpp" #include "gui/widgets/window.hpp" +#include + namespace gui2 { /*WIKI @@ -70,7 +71,7 @@ void taddon_list::pre_show(CVideo& /*video*/, twindow& window) * @todo do we really want to keep the length limit for the various * items? */ - foreach(const config &c, cfg_.child_range("campaign")) { + BOOST_FOREACH(const config &c, cfg_.child_range("campaign")) { std::map data; string_map item; diff --git a/src/gui/dialogs/campaign_difficulty.cpp b/src/gui/dialogs/campaign_difficulty.cpp index 27ba063aef4d..4ac3cbfe695f 100644 --- a/src/gui/dialogs/campaign_difficulty.cpp +++ b/src/gui/dialogs/campaign_difficulty.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/campaign_difficulty.hpp" -#include "foreach.hpp" #include "gui/auxiliary/old_markup.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX #include "gui/widgets/list.hpp" @@ -27,6 +26,8 @@ #include "gui/widgets/settings.hpp" #include "gui/widgets/window.hpp" +#include + namespace gui2 { /*WIKI @@ -65,7 +66,7 @@ REGISTER_DIALOG(campaign_difficulty) tcampaign_difficulty::tcampaign_difficulty(const std::vector& items) : index_(-1), items_() { - foreach(const std::string& it, items) { + BOOST_FOREACH(const std::string& it, items) { items_.push_back(tlegacy_menu_item(it)); } } @@ -77,7 +78,7 @@ void tcampaign_difficulty::pre_show(CVideo& /*video*/, twindow& window) std::map data; - foreach(const tlegacy_menu_item& item, items_) { + BOOST_FOREACH(const tlegacy_menu_item& item, items_) { if(item.is_default()) { index_ = list.get_item_count(); } diff --git a/src/gui/dialogs/campaign_selection.cpp b/src/gui/dialogs/campaign_selection.cpp index b3ccb8f8ccbe..4bbc41f79146 100644 --- a/src/gui/dialogs/campaign_selection.cpp +++ b/src/gui/dialogs/campaign_selection.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/campaign_selection.hpp" -#include "foreach.hpp" #include "gui/dialogs/helper.hpp" #include "gui/widgets/image.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX @@ -34,6 +33,7 @@ #include "serialization/string_utils.hpp" #include +#include namespace gui2 { @@ -140,7 +140,7 @@ void tcampaign_selection::pre_show(CVideo& /*video*/, twindow& window) &window, "campaign_details", false); unsigned id = 0; - foreach(const config &campaign, campaigns_) { + BOOST_FOREACH(const config &campaign, campaigns_) { /*** Add tree item ***/ tree_group_field["label"] = campaign["icon"]; @@ -206,7 +206,7 @@ void tcampaign_selection::pre_show(CVideo& /*video*/, twindow& window) tmulti_page& multi_page = find_widget( &window, "campaign_details", false); - foreach (const config &c, campaigns_) { + BOOST_FOREACH(const config &c, campaigns_) { /*** Add list item ***/ string_map list_item; diff --git a/src/gui/dialogs/chat_log.cpp b/src/gui/dialogs/chat_log.cpp index f25596b00256..60b008f9a60e 100644 --- a/src/gui/dialogs/chat_log.cpp +++ b/src/gui/dialogs/chat_log.cpp @@ -28,7 +28,6 @@ #include "gui/widgets/window.hpp" #include "gui/widgets/slider.hpp" -#include "../../foreach.hpp" #include "../../gamestatus.hpp" #include "../../log.hpp" #include "../../resources.hpp" @@ -38,6 +37,7 @@ #include #include #include +#include static lg::log_domain log_chat_log("chat_log"); #define DBG_CHAT_LOG LOG_STREAM(debug, log_chat_log) @@ -113,7 +113,7 @@ class tchat_log::model { std::stringstream str; LOG_CHAT_LOG << "entering tchat_log::model::add_row_to_chat_message_list\n"; if (first #include +#include namespace gui2 { @@ -101,7 +101,7 @@ void tdata_manage::fill_game_list(twindow& window tlistbox& list = find_widget(&window, "persist_list", false); list.clear(); - foreach(const savegame::save_info game, games) { + BOOST_FOREACH(const savegame::save_info game, games) { std::map data; string_map item; @@ -142,7 +142,7 @@ bool tdata_manage::filter_text_changed(ttext_* textbox, const std::string& text) find_widget(*it, "filename", false); bool found = false; - foreach (const std::string& word, words){ + BOOST_FOREACH(const std::string& word, words){ found = std::search(filename_label.label().str().begin() , filename_label.label().str().end() , word.begin(), word.end() diff --git a/src/gui/dialogs/debug_clock.cpp b/src/gui/dialogs/debug_clock.cpp index caa82bc7ec9c..137a5156eca2 100644 --- a/src/gui/dialogs/debug_clock.cpp +++ b/src/gui/dialogs/debug_clock.cpp @@ -24,6 +24,7 @@ #include "gui/widgets/progress_bar.hpp" #include +#include #include @@ -153,7 +154,7 @@ void tdebug_clock::update_time(const bool force) } if(clock_) { - foreach(tcanvas& canvas, clock_->canvas()) { + BOOST_FOREACH(tcanvas& canvas, clock_->canvas()) { canvas.set_variable("hour", variant(hour_stamp)); canvas.set_variable("minute", variant(minute_stamp)); canvas.set_variable("second", variant(second_stamp)); diff --git a/src/gui/dialogs/dialog.cpp b/src/gui/dialogs/dialog.cpp index e90d67813038..f530ca7ab6c3 100644 --- a/src/gui/dialogs/dialog.cpp +++ b/src/gui/dialogs/dialog.cpp @@ -17,16 +17,17 @@ #include "gui/dialogs/dialog.hpp" -#include "foreach.hpp" #include "gui/dialogs/field.hpp" #include "gui/widgets/integer_selector.hpp" #include "video.hpp" +#include + namespace gui2 { tdialog::~tdialog() { - foreach(tfield_* field, fields_) { + BOOST_FOREACH(tfield_* field, fields_) { delete field; } } @@ -193,7 +194,7 @@ twindow* tdialog::build_window(CVideo& video) const void tdialog::init_fields(twindow& window) { - foreach(tfield_* field, fields_) { + BOOST_FOREACH(tfield_* field, fields_) { field->attach_to_window(window); field->widget_init(window); } @@ -207,7 +208,7 @@ void tdialog::init_fields(twindow& window) void tdialog::finalize_fields(twindow& window, const bool save_fields) { - foreach(tfield_* field, fields_) { + BOOST_FOREACH(tfield_* field, fields_) { if(save_fields) { field->widget_finalize(window); } diff --git a/src/gui/dialogs/editor_set_starting_position.cpp b/src/gui/dialogs/editor_set_starting_position.cpp index 7e16a988c9ef..351167b98f21 100644 --- a/src/gui/dialogs/editor_set_starting_position.cpp +++ b/src/gui/dialogs/editor_set_starting_position.cpp @@ -17,7 +17,7 @@ #include "gui/dialogs/editor_set_starting_position.hpp" -#include "foreach.hpp" +#include #include "formatter.hpp" #include "formula_string_utils.hpp" #include "gettext.hpp" diff --git a/src/gui/dialogs/formula_debugger.cpp b/src/gui/dialogs/formula_debugger.cpp index dd0ee1461820..da65928766e8 100644 --- a/src/gui/dialogs/formula_debugger.cpp +++ b/src/gui/dialogs/formula_debugger.cpp @@ -21,10 +21,10 @@ #include "gui/widgets/button.hpp" #include "gui/widgets/settings.hpp" #include "gui/widgets/window.hpp" -#include "../../foreach.hpp" #include "../../formula_debugger.hpp" #include +#include namespace gui2 { @@ -73,7 +73,7 @@ void tformula_debugger::pre_show(CVideo& /*video*/, twindow& window) std::stringstream stack_text; std::string indent = " "; int c = 0; - foreach (const game_logic::debug_info &i, fdb_.get_call_stack()) { + BOOST_FOREACH(const game_logic::debug_info &i, fdb_.get_call_stack()) { for(int d = 0; d < c; ++d) { stack_text << indent; } @@ -92,7 +92,7 @@ void tformula_debugger::pre_show(CVideo& /*video*/, twindow& window) &window, "execution", false, true); std::stringstream execution_text; - foreach (const game_logic::debug_info &i, fdb_.get_execution_trace()) { + BOOST_FOREACH(const game_logic::debug_info &i, fdb_.get_execution_trace()) { for(int d = 0; d < i.level(); ++d) { execution_text << indent; } diff --git a/src/gui/dialogs/game_load.cpp b/src/gui/dialogs/game_load.cpp index a89d5aab960b..3cea3876865f 100644 --- a/src/gui/dialogs/game_load.cpp +++ b/src/gui/dialogs/game_load.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/game_load.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gettext.hpp" #include "game_config.hpp" @@ -43,6 +42,7 @@ #include #include +#include namespace gui2 { @@ -151,7 +151,7 @@ void tgame_load::fill_game_list(twindow& window tlistbox& list = find_widget(&window, "savegame_list", false); list.clear(); - foreach(const savegame::save_info game, games) { + BOOST_FOREACH(const savegame::save_info game, games) { std::map data; string_map item; @@ -193,7 +193,7 @@ bool tgame_load::filter_text_changed(ttext_* textbox, const std::string& text) find_widget(*it, "filename", false); bool found = false; - foreach (const std::string& word, words){ + BOOST_FOREACH(const std::string& word, words){ found = std::search(filename_label.label().str().begin() , filename_label.label().str().end() , word.begin(), word.end() diff --git a/src/gui/dialogs/game_save.cpp b/src/gui/dialogs/game_save.cpp index c0e6f6d91f62..dbc2495f878b 100644 --- a/src/gui/dialogs/game_save.cpp +++ b/src/gui/dialogs/game_save.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/game_save.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/dialogs/field.hpp" #include "gui/widgets/button.hpp" diff --git a/src/gui/dialogs/gamestate_inspector.cpp b/src/gui/dialogs/gamestate_inspector.cpp index 4d30e49f0158..6349a4661cae 100644 --- a/src/gui/dialogs/gamestate_inspector.cpp +++ b/src/gui/dialogs/gamestate_inspector.cpp @@ -27,7 +27,6 @@ #include "gui/widgets/settings.hpp" #include "gui/widgets/window.hpp" -#include "../../foreach.hpp" #include "../../gamestatus.hpp" #include "../../resources.hpp" #include "../../team.hpp" @@ -36,6 +35,7 @@ #include #include #include +#include namespace gui2 { @@ -189,11 +189,11 @@ class variable_mode_controller : public single_mode_controller{ ? resources::state_of_game->get_variables() : config(); - foreach( const config::attribute &a, vars.attribute_range()) { + BOOST_FOREACH( const config::attribute &a, vars.attribute_range()) { model_.add_row_to_stuff_list(a.first,a.first); } - foreach( const config::any_child &c, vars.all_children_range()) { + BOOST_FOREACH( const config::any_child &c, vars.all_children_range()) { model_.add_row_to_stuff_list("["+c.key+"]","["+c.key+"]"); } @@ -214,7 +214,7 @@ class variable_mode_controller : public single_mode_controller{ ? resources::state_of_game->get_variables() : config(); - foreach( const config::attribute &a, vars.attribute_range()) { + BOOST_FOREACH( const config::attribute &a, vars.attribute_range()) { if (selected==i) { model_.set_inspect_window_text(a.second); return; @@ -222,7 +222,7 @@ class variable_mode_controller : public single_mode_controller{ i++; } - foreach( const config::any_child &c, vars.all_children_range()) { + BOOST_FOREACH( const config::any_child &c, vars.all_children_range()) { if (selected==i) { model_.set_inspect_window_text(c.cfg.debug()); return; @@ -268,7 +268,7 @@ class unit_mode_controller : public single_mode_controller{ << '/' << i->max_experience() << " xp; " << i->hitpoints() << '/' << i->max_hitpoints() << " hp; "; - foreach (const std::string &str, i->get_traits_list()) { + BOOST_FOREACH(const std::string &str, i->get_traits_list()) { s << str <<" "; } @@ -371,9 +371,9 @@ class team_mode_controller : public single_mode_controller{ : std::vector(); std::stringstream s; - foreach (const unit &u, recall_list) { + BOOST_FOREACH(const unit &u, recall_list) { s << "id=["<(); config c; - foreach (const unit &u, recall_list) { + BOOST_FOREACH(const unit &u, recall_list) { config c_unit; u.write(c_unit); c.add_child("unit",c_unit); @@ -423,7 +423,7 @@ class team_mode_controller : public single_mode_controller{ << i->max_experience() << " xp; " << i->hitpoints() << '/' << i->max_hitpoints()<<" hp.\n"; - foreach (const std::string &str, i->get_traits_list() ) { + BOOST_FOREACH(const std::string &str, i->get_traits_list() ) { s << "\t" << str<< std::endl; } s << std::endl << std::endl; @@ -457,7 +457,7 @@ class tgamestate_inspector::controller { boost::shared_ptr(new variable_mode_controller("variables",model_))); sm_controllers_.push_back( boost::shared_ptr(new unit_mode_controller("units",model_))); - //foreach team + //BOOST_FOREACHteam int sides = resources::teams ? static_cast((*resources::teams).size()) : 0; @@ -481,7 +481,7 @@ class tgamestate_inspector::controller { void show_stuff_types_list() { model_.clear_stuff_types_list(); - foreach (boost::shared_ptr sm_controller, sm_controllers_ ) { + BOOST_FOREACH(boost::shared_ptr sm_controller, sm_controllers_ ) { model_.add_row_to_stuff_types_list(sm_controller->name(),sm_controller->name()); } } diff --git a/src/gui/dialogs/language_selection.cpp b/src/gui/dialogs/language_selection.cpp index 9aeefcfa9189..1c314b2407b2 100644 --- a/src/gui/dialogs/language_selection.cpp +++ b/src/gui/dialogs/language_selection.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/language_selection.hpp" -#include "foreach.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX #include "gui/widgets/list.hpp" #else @@ -28,6 +27,8 @@ #include "language.hpp" #include "preferences.hpp" +#include + namespace gui2 { /*WIKI @@ -65,7 +66,7 @@ void tlanguage_selection::pre_show(CVideo& /*video*/, twindow& window) const std::vector& languages = get_languages(); const language_def& current_language = get_language(); - foreach(const language_def& lang, languages) { + BOOST_FOREACH(const language_def& lang, languages) { string_map item; item.insert(std::make_pair("label", lang.language)); diff --git a/src/gui/dialogs/lobby/lobby_data.cpp b/src/gui/dialogs/lobby/lobby_data.cpp index 3bf05da604d4..ebbcba0db368 100644 --- a/src/gui/dialogs/lobby/lobby_data.cpp +++ b/src/gui/dialogs/lobby/lobby_data.cpp @@ -18,7 +18,6 @@ #include "config.hpp" #include "game_preferences.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gettext.hpp" #include "network.hpp" @@ -27,6 +26,8 @@ #include "map_exception.hpp" #include "wml_exception.hpp" +#include + #include static lg::log_domain log_config("config"); @@ -89,7 +90,7 @@ void room_info::remove_member(const std::string& user) void room_info::process_room_members(const config& data) { members_.clear(); - foreach (const config& m, data.child_range("member")) { + BOOST_FOREACH(const config& m, data.child_range("member")) { members_.insert(m["name"]); } } @@ -254,7 +255,7 @@ game_info::game_info(const config& game, const config& game_config) if (const config& hashes = game_config.child("multiplayer_hashes")) { std::string hash = game["hash"]; bool hash_found = false; - foreach (const config::attribute &i, hashes.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, hashes.attribute_range()) { if (i.first == game["mp_scenario"] && i.second == hash) { hash_found = true; break; @@ -357,7 +358,7 @@ game_filter_stack::game_filter_stack() game_filter_stack::~game_filter_stack() { - foreach (game_filter_base* f, filters_) { + BOOST_FOREACH(game_filter_base* f, filters_) { delete f; } } @@ -369,7 +370,7 @@ void game_filter_stack::append(game_filter_base *f) void game_filter_stack::clear() { - foreach (game_filter_base* f, filters_) { + BOOST_FOREACH(game_filter_base* f, filters_) { delete f; } filters_.clear(); @@ -377,7 +378,7 @@ void game_filter_stack::clear() bool game_filter_and_stack::match(const game_info &game) const { - foreach (game_filter_base* f, filters_) { + BOOST_FOREACH(game_filter_base* f, filters_) { if (!f->match(game)) return false; } return true; diff --git a/src/gui/dialogs/lobby/lobby_info.cpp b/src/gui/dialogs/lobby/lobby_info.cpp index 1e4572ac58cc..3542c88fb7f7 100644 --- a/src/gui/dialogs/lobby/lobby_info.cpp +++ b/src/gui/dialogs/lobby/lobby_info.cpp @@ -18,7 +18,6 @@ #include "config.hpp" #include "game_preferences.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gettext.hpp" #include "network.hpp" @@ -27,6 +26,8 @@ #include "map_exception.hpp" #include "wml_exception.hpp" +#include + #include static lg::log_domain log_config("config"); @@ -66,7 +67,7 @@ lobby_info::~lobby_info() void lobby_info::delete_games() { - foreach (const game_info_map::value_type& v, games_by_id_) { + BOOST_FOREACH(const game_info_map::value_type& v, games_by_id_) { delete v.second; } } @@ -76,7 +77,7 @@ namespace { std::string dump_games_map(const lobby_info::game_info_map& games) { std::stringstream ss; - foreach (const lobby_info::game_info_map::value_type& v, games) { + BOOST_FOREACH(const lobby_info::game_info_map::value_type& v, games) { const game_info& game = *v.second; ss << "G" << game.id << "(" << game.name << ") " << game.display_status_string() << " "; } @@ -87,7 +88,7 @@ std::string dump_games_map(const lobby_info::game_info_map& games) std::string dump_games_config(const config& gamelist) { std::stringstream ss; - foreach (const config& c, gamelist.child_range("game")) { + BOOST_FOREACH(const config& c, gamelist.child_range("game")) { ss << "g" << c["id"] << "(" << c["name"] << ") " << c[config::diff_track_attribute] << " "; } ss << "\n"; @@ -103,7 +104,7 @@ void lobby_info::process_gamelist(const config &data) gamelist_initialized_ = true; delete_games(); games_by_id_.clear(); - foreach (const config& c, gamelist_.child("gamelist").child_range("game")) { + BOOST_FOREACH(const config& c, gamelist_.child("gamelist").child_range("game")) { game_info* game = new game_info(c, game_config_); games_by_id_[game->id] = game; } @@ -180,10 +181,10 @@ void lobby_info::process_userlist() { SCOPE_LB; users_.clear(); - foreach (const config& c, gamelist_.child_range("user")) { + BOOST_FOREACH(const config& c, gamelist_.child_range("user")) { users_.push_back(user_info(c)); } - foreach (user_info& ui, users_) { + BOOST_FOREACH(user_info& ui, users_) { if (ui.game_id != 0) { game_info* g = get_game_by_id(ui.game_id); if (g == NULL) { @@ -235,7 +236,7 @@ const game_info* lobby_info::get_game_by_id(int id) const room_info* lobby_info::get_room(const std::string &name) { - foreach (room_info& r, rooms_) { + BOOST_FOREACH(room_info& r, rooms_) { if (r.name() == name) return &r; } return NULL; @@ -243,7 +244,7 @@ room_info* lobby_info::get_room(const std::string &name) const room_info* lobby_info::get_room(const std::string &name) const { - foreach (const room_info& r, rooms_) { + BOOST_FOREACH(const room_info& r, rooms_) { if (r.name() == name) return &r; } return NULL; @@ -301,7 +302,7 @@ void lobby_info::make_games_vector() games_filtered_.clear(); games_visibility_.clear(); games_.clear(); - foreach (const game_info_map::value_type& v, games_by_id_) { + BOOST_FOREACH(const game_info_map::value_type& v, games_by_id_) { games_.push_back(v.second); } } @@ -310,7 +311,7 @@ void lobby_info::apply_game_filter() { games_filtered_.clear(); games_visibility_.clear(); - foreach (game_info* g, games_) { + BOOST_FOREACH(game_info* g, games_) { game_info& gi = *g; bool show = game_filter_.match(gi); if (game_filter_invert_) { @@ -325,7 +326,7 @@ void lobby_info::apply_game_filter() void lobby_info::update_user_statuses(int game_id, const room_info *room) { - foreach (user_info& user, users_) { + BOOST_FOREACH(user_info& user, users_) { user.update_state(game_id, room); } } @@ -365,7 +366,7 @@ struct user_sorter_relation_name void lobby_info::sort_users(bool by_name, bool by_relation) { users_sorted_.clear(); - foreach (user_info& u, users_) { + BOOST_FOREACH(user_info& u, users_) { users_sorted_.push_back(&u); } if (by_name) { diff --git a/src/gui/dialogs/lobby_main.cpp b/src/gui/dialogs/lobby_main.cpp index d2014b8133d5..0f6eac479c59 100644 --- a/src/gui/dialogs/lobby_main.cpp +++ b/src/gui/dialogs/lobby_main.cpp @@ -38,7 +38,6 @@ #include "gui/widgets/toggle_panel.hpp" #include "gui/widgets/tree_view_node.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "game_preferences.hpp" #include "gettext.hpp" @@ -50,6 +49,7 @@ #include "sound.hpp" #include +#include static lg::log_domain log_network("network"); #define DBG_NW LOG_STREAM(debug, log_network) @@ -499,14 +499,14 @@ void add_tooltip_data(std::map& map, void modify_grid_with_data(tgrid* grid, const std::map& map) { typedef std::map strstrmap; - foreach (const strstrmap::value_type v, map) { + BOOST_FOREACH(const strstrmap::value_type v, map) { const std::string& key = v.first; const string_map& strmap = v.second; twidget* w = grid->find(key, false); if (w == NULL) continue; tcontrol* c = dynamic_cast(w); if (c == NULL) continue; - foreach (const string_map::value_type& vv, strmap) { + BOOST_FOREACH(const string_map::value_type& vv, strmap) { if (vv.first == "label") { c->set_label(vv.second); } else if (vv.first == "tooltip") { @@ -816,7 +816,7 @@ void tlobby_main::update_playerlist() player_list_.other_games.tree->clear(); player_list_.other_rooms.tree->clear(); - foreach (user_info* userptr, lobby_info_.users_sorted()) + BOOST_FOREACH(user_info* userptr, lobby_info_.users_sorted()) { user_info& user = *userptr; tsub_player_list* target_list(NULL); @@ -1093,7 +1093,7 @@ tlobby_chat_window* tlobby_main::whisper_window_open(const std::string& name, bo tlobby_chat_window* tlobby_main::search_create_window(const std::string& name, bool whisper, bool open_new) { - foreach (tlobby_chat_window& t, open_windows_) { + BOOST_FOREACH(tlobby_chat_window& t, open_windows_) { if (t.name == name && t.whisper == whisper) return &t; } if (open_new) { @@ -1477,7 +1477,7 @@ void tlobby_main::process_room_query_response(const config& data) //TODO: this should really open a nice join room dialog instead std::stringstream ss; ss << "Rooms:"; - foreach (const config& r, rooms.child_range("room")) { + BOOST_FOREACH(const config& r, rooms.child_range("room")) { ss << " " << r["name"]; } add_active_window_message("server", ss.str()); @@ -1667,7 +1667,7 @@ void tlobby_main::chat_input_keypress_callback( const std::vector& match_infos = lobby_info_.users(); std::vector matches; - foreach(const user_info& ui, match_infos) { + BOOST_FOREACH(const user_info& ui, match_infos) { if(ui.name != preferences::login()) { matches.push_back(ui.name); } @@ -1694,7 +1694,7 @@ void tlobby_main::game_filter_reload() { lobby_info_.clear_game_filter(); - foreach (const std::string& s, utils::split(filter_text_->get_value(), ' ')) { + BOOST_FOREACH(const std::string& s, utils::split(filter_text_->get_value(), ' ')) { lobby_info_.add_game_filter(new game_filter_general_string_part(s)); } //TODO: make changing friend/ignore lists trigger a refresh diff --git a/src/gui/dialogs/message.cpp b/src/gui/dialogs/message.cpp index 520c83d15d54..119128aa78de 100644 --- a/src/gui/dialogs/message.cpp +++ b/src/gui/dialogs/message.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/message.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/widgets/button.hpp" #include "gui/widgets/image.hpp" @@ -26,6 +25,8 @@ #include "gui/widgets/window.hpp" #include "log.hpp" +#include + namespace gui2 { REGISTER_DIALOG(message) @@ -97,7 +98,7 @@ void tmessage::pre_show(CVideo& /*video*/, twindow& window) void tmessage::post_show(twindow& /*window*/) { - foreach(tbutton_status& button_status, buttons_) { + BOOST_FOREACH(tbutton_status& button_status, buttons_) { button_status.button = NULL; } } diff --git a/src/gui/dialogs/mp_change_control.cpp b/src/gui/dialogs/mp_change_control.cpp index cbeaa0579abf..4e9e81acc12a 100644 --- a/src/gui/dialogs/mp_change_control.cpp +++ b/src/gui/dialogs/mp_change_control.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include static lg::log_domain log_gui("gui/dialogs/mp_change_control"); #define ERR_GUI LOG_STREAM(err, log_gui) @@ -184,7 +184,7 @@ class side_controller { int i = 0; // because we need to know which row contains the controlling player - foreach (const std::string &nick, nicks) + BOOST_FOREACH(const std::string &nick, nicks) { if (side_number_ <= static_cast(resources::teams->size()) && resources::teams->at(side_number_-1).current_player() == nick) diff --git a/src/gui/dialogs/mp_connect.cpp b/src/gui/dialogs/mp_connect.cpp index dacef0b1b236..2d5fba6218d6 100644 --- a/src/gui/dialogs/mp_connect.cpp +++ b/src/gui/dialogs/mp_connect.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/mp_connect.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gui/dialogs/field.hpp" #include "gui/widgets/button.hpp" @@ -30,6 +29,7 @@ #include "video.hpp" #include +#include namespace gui2 { @@ -90,7 +90,7 @@ void tmp_server_list::pre_show(CVideo& /*video*/, twindow& window) const std::vector& pref_servers = preferences::server_list(); - foreach(const game_config::server_info& server, pref_servers) { + BOOST_FOREACH(const game_config::server_info& server, pref_servers) { std::map data; string_map item; diff --git a/src/gui/dialogs/mp_create_game.cpp b/src/gui/dialogs/mp_create_game.cpp index 05c73fb32814..fdcc742d56bd 100644 --- a/src/gui/dialogs/mp_create_game.cpp +++ b/src/gui/dialogs/mp_create_game.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/mp_create_game.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gettext.hpp" #include "gui/dialogs/field.hpp" @@ -35,6 +34,7 @@ #ifdef GUI2_EXPERIMENTAL_LISTBOX #include #endif +#include namespace gui2 { REGISTER_DIALOG(mp_create_game) @@ -101,7 +101,7 @@ void tmp_create_game::pre_show(CVideo& /*video*/, twindow& window) std::vector maps; get_files_in_dir(get_user_data_dir() + "/editor/maps", &maps, NULL, FILE_NAME_ONLY); - foreach(const std::string& map, maps) { + BOOST_FOREACH(const std::string& map, maps) { std::map item; item.insert(std::make_pair("label", map)); list->add_row(item); @@ -110,7 +110,7 @@ void tmp_create_game::pre_show(CVideo& /*video*/, twindow& window) // Standard maps int i = 0; - foreach (const config &map, cfg_.child_range("multiplayer")) + BOOST_FOREACH(const config &map, cfg_.child_range("multiplayer")) { if (map["allow_new_game"].to_bool(true)) { string_map item; diff --git a/src/gui/dialogs/network_transmission.cpp b/src/gui/dialogs/network_transmission.cpp index 61cce5addee3..e3525a374731 100644 --- a/src/gui/dialogs/network_transmission.cpp +++ b/src/gui/dialogs/network_transmission.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/network_transmission.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gettext.hpp" #include "gui/widgets/button.hpp" diff --git a/src/gui/dialogs/simple_item_selector.cpp b/src/gui/dialogs/simple_item_selector.cpp index c8f5df9e4661..e1aaef62749a 100644 --- a/src/gui/dialogs/simple_item_selector.cpp +++ b/src/gui/dialogs/simple_item_selector.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/simple_item_selector.hpp" -#include "foreach.hpp" #include "gui/widgets/button.hpp" #include "gui/widgets/label.hpp" #ifdef GUI2_EXPERIMENTAL_LISTBOX @@ -28,6 +27,8 @@ #include "gui/widgets/settings.hpp" #include "gui/widgets/window.hpp" +#include + namespace gui2 { /*WIKI @@ -79,7 +80,7 @@ void tsimple_item_selector::pre_show(CVideo& /*video*/, twindow& window) tlistbox& list = find_widget(&window, "listbox", false); window.keyboard_capture(&list); - foreach(const tsimple_item_selector::item_type& it, items_) { + BOOST_FOREACH(const tsimple_item_selector::item_type& it, items_) { std::map data; string_map column; diff --git a/src/gui/dialogs/title_screen.cpp b/src/gui/dialogs/title_screen.cpp index a52bac53dd74..22092badf0bf 100644 --- a/src/gui/dialogs/title_screen.cpp +++ b/src/gui/dialogs/title_screen.cpp @@ -35,6 +35,7 @@ #include "preferences_display.hpp" #include +#include #include @@ -306,7 +307,7 @@ void ttitle_screen::pre_show(CVideo& video, twindow& window) WRN_CF << "There are not tips of day available.\n"; } - foreach(const ttip& tip, tips) { + BOOST_FOREACH(const ttip& tip, tips) { string_map widget; std::map page; diff --git a/src/gui/dialogs/unit_attack.cpp b/src/gui/dialogs/unit_attack.cpp index 139fe6de349d..05f17cd6c271 100644 --- a/src/gui/dialogs/unit_attack.cpp +++ b/src/gui/dialogs/unit_attack.cpp @@ -27,6 +27,8 @@ #include "gui/widgets/window.hpp" #include "unit.hpp" +#include + namespace gui2 { /*WIKI @@ -106,7 +108,7 @@ static void set_weapon_info(twindow& window const config empty; attack_type no_weapon(empty); - foreach(const battle_context& weapon, weapons) { + BOOST_FOREACH(const battle_context& weapon, weapons) { const battle_context_unit_stats& attacker = weapon.get_attacker_stats(); diff --git a/src/gui/dialogs/unit_create.cpp b/src/gui/dialogs/unit_create.cpp index c9b8f1284aaa..d6a3f84dcac6 100644 --- a/src/gui/dialogs/unit_create.cpp +++ b/src/gui/dialogs/unit_create.cpp @@ -27,9 +27,10 @@ #include "gui/widgets/settings.hpp" #include "gui/widgets/toggle_button.hpp" #include "gui/widgets/window.hpp" -#include "foreach.hpp" #include "unit_types.hpp" +#include + namespace { static std::string last_chosen_type_id = ""; static unit_race::GENDER last_gender = unit_race::MALE; @@ -109,7 +110,7 @@ void tunit_create::pre_show(CVideo& /*video*/, twindow& window) std::vector< std::string > type_labels, race_labels; - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { unit_types.find(i.first, unit_type::HELP_INDEX); diff --git a/src/gui/dialogs/wml_message.cpp b/src/gui/dialogs/wml_message.cpp index b77af0ee1d6a..63227a332b8e 100644 --- a/src/gui/dialogs/wml_message.cpp +++ b/src/gui/dialogs/wml_message.cpp @@ -17,7 +17,6 @@ #include "gui/dialogs/wml_message.hpp" -#include "foreach.hpp" #include "gui/auxiliary/old_markup.hpp" #include "gui/widgets/button.hpp" #include "gui/widgets/label.hpp" diff --git a/src/gui/widgets/control.cpp b/src/gui/widgets/control.cpp index 8074001c5199..b70cdc45959c 100644 --- a/src/gui/widgets/control.cpp +++ b/src/gui/widgets/control.cpp @@ -18,7 +18,6 @@ #include "control.hpp" #include "font.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gui/auxiliary/iterator/walker_widget.hpp" #include "gui/auxiliary/log.hpp" @@ -29,6 +28,7 @@ #include "marked-up_text.hpp" #include +#include #include @@ -211,7 +211,7 @@ tpoint tcontrol::calculate_best_size() const void tcontrol::place(const tpoint& origin, const tpoint& size) { // resize canvasses - foreach(tcanvas& canvas, canvas_) { + BOOST_FOREACH(tcanvas& canvas, canvas_) { canvas.set_width(size.x); canvas.set_height(size.y); } @@ -297,7 +297,7 @@ void tcontrol::update_canvas() const int max_height = get_text_maximum_height(); // set label in canvases - foreach(tcanvas& canvas, canvas_) { + BOOST_FOREACH(tcanvas& canvas, canvas_) { canvas.set_variable("text", variant(label_)); canvas.set_variable("text_markup", variant(use_markup_)); canvas.set_variable("text_alignment" diff --git a/src/gui/widgets/generator.cpp b/src/gui/widgets/generator.cpp index 639436b21425..74a81439deb2 100644 --- a/src/gui/widgets/generator.cpp +++ b/src/gui/widgets/generator.cpp @@ -19,6 +19,8 @@ #include "gui/widgets/window.hpp" +#include + namespace gui2 { namespace policy { @@ -678,7 +680,7 @@ void tshow::init(tgrid* grid assert(!callback); typedef std::pair hack; - foreach(const hack& item, data) { + BOOST_FOREACH(const hack& item, data) { if(item.first.empty()) { for(unsigned row = 0; row < grid->get_rows(); ++row) { for(unsigned col = 0; col < grid->get_cols(); ++col) { diff --git a/src/gui/widgets/generator_private.hpp b/src/gui/widgets/generator_private.hpp index a22433ab13be..b37e0683a222 100644 --- a/src/gui/widgets/generator_private.hpp +++ b/src/gui/widgets/generator_private.hpp @@ -19,12 +19,13 @@ #include "gui/widgets/generator.hpp" #include "asserts.hpp" -#include "foreach.hpp" #include "gui/widgets/grid.hpp" #include "gui/widgets/selectable.hpp" #include "gui/widgets/toggle_button.hpp" #include "gui/widgets/toggle_panel.hpp" +#include + namespace gui2 { /** @@ -584,7 +585,7 @@ class tgenerator /** Inherited from tgenerator_. */ void clear() { - foreach(titem* item, items_) { + BOOST_FOREACH(titem* item, items_) { delete item; } selected_item_count_ = 0; @@ -750,7 +751,7 @@ class tgenerator /** Inherited from tgenerator_. */ void layout_init(const bool full_initialization) { - foreach(titem* item, items_) { + BOOST_FOREACH(titem* item, items_) { if(item->grid.get_visible() != twidget::INVISIBLE && item->shown) { item->grid.layout_init(full_initialization); } @@ -804,7 +805,7 @@ class tgenerator { assert(this->get_visible() == twidget::VISIBLE); - foreach(titem* item, items_) { + BOOST_FOREACH(titem* item, items_) { if(item->grid.get_visible() == twidget::VISIBLE && item->shown) { item->grid.draw_children(frame_buffer); } @@ -815,7 +816,7 @@ class tgenerator void child_populate_dirty_list(twindow& caller, const std::vector& call_stack) { - foreach(titem* item, items_) { + BOOST_FOREACH(titem* item, items_) { std::vector child_call_stack = call_stack; item->grid.populate_dirty_list(caller, child_call_stack); } @@ -838,7 +839,7 @@ class tgenerator /** Inherited from widget. */ bool disable_click_dismiss() const { - foreach(titem* item, items_) { + BOOST_FOREACH(titem* item, items_) { if(item->grid.disable_click_dismiss()) { return true; } @@ -974,7 +975,7 @@ class tgenerator void (*callback)(twidget*)) { int i = index; - foreach(const T& item_data, data) { + BOOST_FOREACH(const T& item_data, data) { create_item(i, list_builder, item_data, callback); if(i != -1) { ++i; diff --git a/src/gui/widgets/grid.cpp b/src/gui/widgets/grid.cpp index 7ede81775ea4..6515f239c849 100644 --- a/src/gui/widgets/grid.cpp +++ b/src/gui/widgets/grid.cpp @@ -21,6 +21,8 @@ #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/layout_exception.hpp" +#include + #include #define LOG_SCOPE_HEADER "tgrid [" + id() + "] " + __func__ @@ -48,7 +50,7 @@ tgrid::~tgrid() { // Delete the children in this destructor since resizing a vector copies the // children and thus frees the child prematurely. - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { delete child.widget(); } } @@ -99,7 +101,7 @@ twidget* tgrid::swap_child( { assert(widget); - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { if(child.id() != id) { if(recurse) { @@ -145,7 +147,7 @@ void tgrid::remove_child(const unsigned row, const unsigned col) void tgrid::remove_child(const std::string& id, const bool find_all) { - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { if(child.id() == id) { delete child.widget(); @@ -160,7 +162,7 @@ void tgrid::remove_child(const std::string& id, const bool find_all) void tgrid::set_active(const bool active) { - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { twidget* widget = child.widget(); if(!widget) { @@ -186,7 +188,7 @@ void tgrid::layout_init(const bool full_initialization) twidget::layout_init(full_initialization); // Clear child caches. - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { child.layout_init(full_initialization); @@ -426,7 +428,7 @@ tpoint tgrid::calculate_best_size() const bool tgrid::can_wrap() const { - foreach(const tchild& child, children_) { + BOOST_FOREACH(const tchild& child, children_) { if(child.can_wrap()) { return true; } @@ -485,7 +487,7 @@ void tgrid::place(const tpoint& origin, const tpoint& size) if(w_size == 0) { // If all sizes are 0 reset them to 1 - foreach(unsigned& val, col_grow_factor_) { + BOOST_FOREACH(unsigned& val, col_grow_factor_) { val = 1; } w_size = cols_; @@ -516,7 +518,7 @@ void tgrid::place(const tpoint& origin, const tpoint& size) if(h_size == 0) { // If all sizes are 0 reset them to 1 - foreach(unsigned& val, row_grow_factor_) { + BOOST_FOREACH(unsigned& val, row_grow_factor_) { val = 1; } h_size = rows_; @@ -551,7 +553,7 @@ void tgrid::set_origin(const tpoint& origin) // Inherited. twidget::set_origin(origin); - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { twidget* widget = child.widget(); assert(widget); @@ -567,7 +569,7 @@ void tgrid::set_visible_area(const SDL_Rect& area) // Inherited. twidget::set_visible_area(area); - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { twidget* widget = child.widget(); assert(widget); @@ -578,7 +580,7 @@ void tgrid::set_visible_area(const SDL_Rect& area) void tgrid::layout_children() { - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { assert(child.widget()); child.widget()->layout_children(); } @@ -589,7 +591,7 @@ void tgrid::child_populate_dirty_list(twindow& caller, { assert(!call_stack.empty() && call_stack.back() == this); - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { assert(child.widget()); @@ -627,7 +629,7 @@ const twidget* tgrid::find(const std::string& id, bool tgrid::has_widget(const twidget* widget) const { - foreach(const tchild& child, children_) { + BOOST_FOREACH(const tchild& child, children_) { if(child.widget() == widget) { return true; } @@ -641,7 +643,7 @@ bool tgrid::disable_click_dismiss() const return false; } - foreach(const tchild& child, children_) { + BOOST_FOREACH(const tchild& child, children_) { const twidget* widget = child.widget(); assert(widget); @@ -936,7 +938,7 @@ void tgrid::impl_draw_children(surface& frame_buffer) assert(get_visible() == twidget::VISIBLE); set_dirty(false); - foreach(tchild& child, children_) { + BOOST_FOREACH(tchild& child, children_) { twidget* widget = child.widget(); assert(widget); diff --git a/src/gui/widgets/grid_private.hpp b/src/gui/widgets/grid_private.hpp index 697544d02e13..1e2f0bfaef9e 100644 --- a/src/gui/widgets/grid_private.hpp +++ b/src/gui/widgets/grid_private.hpp @@ -33,7 +33,7 @@ #include "gui/widgets/grid.hpp" -#include "foreach.hpp" +#include namespace gui2 { @@ -56,7 +56,7 @@ struct tgrid_implementation const tpoint& coordinate, const bool must_be_active) { typedef typename tconst_duplicator::type hack; - foreach(hack& child, grid.children_) { + BOOST_FOREACH(hack& child, grid.children_) { W* widget = child.widget(); if(!widget) { @@ -91,7 +91,7 @@ struct tgrid_implementation } typedef typename tconst_duplicator::type hack; - foreach(hack& child, grid.children_) { + BOOST_FOREACH(hack& child, grid.children_) { widget = child.widget(); if(!widget) { diff --git a/src/gui/widgets/progress_bar.cpp b/src/gui/widgets/progress_bar.cpp index 924a3420caf7..8a97427905d0 100644 --- a/src/gui/widgets/progress_bar.cpp +++ b/src/gui/widgets/progress_bar.cpp @@ -23,6 +23,7 @@ #include "gui/widgets/settings.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -38,7 +39,7 @@ void tprogress_bar::set_percentage(const unsigned percentage) if(percentage_ != percentage) { percentage_ = percentage; - foreach(tcanvas& c, canvas()) { + BOOST_FOREACH(tcanvas& c, canvas()) { c.set_variable("percentage", variant(percentage)); } diff --git a/src/gui/widgets/scrollbar.cpp b/src/gui/widgets/scrollbar.cpp index 5b2435b73be0..715380c59725 100644 --- a/src/gui/widgets/scrollbar.cpp +++ b/src/gui/widgets/scrollbar.cpp @@ -17,11 +17,11 @@ #include "gui/widgets/scrollbar.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/widgets/window.hpp" // Needed for invalidate_layout() #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -132,7 +132,7 @@ void tscrollbar_::set_item_position(const unsigned item_position) void tscrollbar_::update_canvas() { - foreach(tcanvas& tmp, canvas()) { + BOOST_FOREACH(tcanvas& tmp, canvas()) { tmp.set_variable("positioner_offset", variant(positioner_offset_)); tmp.set_variable("positioner_length", variant(positioner_length_)); } @@ -287,7 +287,7 @@ void tscrollbar_::move_positioner(const int distance) void tscrollbar_::load_config_extra() { // These values won't change so set them here. - foreach(tcanvas& tmp, canvas()) { + BOOST_FOREACH(tcanvas& tmp, canvas()) { tmp.set_variable("offset_before", variant(offset_before())); tmp.set_variable("offset_after", variant(offset_after())); } diff --git a/src/gui/widgets/scrollbar_container.cpp b/src/gui/widgets/scrollbar_container.cpp index f939ae2d60e5..d7a6ceaa4da9 100644 --- a/src/gui/widgets/scrollbar_container.cpp +++ b/src/gui/widgets/scrollbar_container.cpp @@ -17,7 +17,6 @@ #include "gui/widgets/scrollbar_container_private.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/layout_exception.hpp" #include "gui/widgets/clickable.hpp" @@ -25,6 +24,7 @@ #include "gui/widgets/window.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -692,7 +692,7 @@ void tscrollbar_container::finalize_setup() /***** Setup the scrollbar buttons *****/ typedef std::pair hack; - foreach(const hack& item, scroll_lookup()) { + BOOST_FOREACH(const hack& item, scroll_lookup()) { // Vertical. tclickable_* button = find_widget( @@ -838,7 +838,7 @@ void tscrollbar_container::set_scrollbar_button_status() { if(true) { /** @todo scrollbar visibility. */ /***** set scroll up button status *****/ - foreach(const std::string& name, button_up_names) { + BOOST_FOREACH(const std::string& name, button_up_names) { tcontrol* button = find_widget( vertical_scrollbar_grid_, name, false, false); @@ -848,7 +848,7 @@ void tscrollbar_container::set_scrollbar_button_status() } /***** set scroll down status *****/ - foreach(const std::string& name, button_down_names) { + BOOST_FOREACH(const std::string& name, button_down_names) { tcontrol* button = find_widget( vertical_scrollbar_grid_, name, false, false); @@ -864,7 +864,7 @@ void tscrollbar_container::set_scrollbar_button_status() if(true) { /** @todo scrollbar visibility. */ /***** Set scroll left button status *****/ - foreach(const std::string& name, button_up_names) { + BOOST_FOREACH(const std::string& name, button_up_names) { tcontrol* button = find_widget( horizontal_scrollbar_grid_, name, false, false); @@ -874,7 +874,7 @@ void tscrollbar_container::set_scrollbar_button_status() } /***** Set scroll right button status *****/ - foreach(const std::string& name, button_down_names) { + BOOST_FOREACH(const std::string& name, button_down_names) { tcontrol* button = find_widget( horizontal_scrollbar_grid_, name, false, false); diff --git a/src/gui/widgets/settings.cpp b/src/gui/widgets/settings.cpp index 47ab2722e47f..6762746df4ae 100644 --- a/src/gui/widgets/settings.cpp +++ b/src/gui/widgets/settings.cpp @@ -25,7 +25,6 @@ #include "asserts.hpp" #include "config_cache.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/tips.hpp" @@ -35,6 +34,8 @@ #include "serialization/schema_validator.hpp" #include "formula_string_utils.hpp" +#include + namespace gui2 { bool new_widgets = false; @@ -283,12 +284,12 @@ const std::string& tgui_definition::read(const config& cfg) , const config& , const char *key)> > thack; - foreach(thack& widget_type, registred_widget_type()) { + BOOST_FOREACH(thack& widget_type, registred_widget_type()) { widget_type.second(*this, widget_type.first, cfg, NULL); } /***** Window types *****/ - foreach (const config &w, cfg.child_range("window")) { + BOOST_FOREACH(const config &w, cfg.child_range("window")) { std::pair child; child.first = child.second.read(w); window_types.insert(child); @@ -423,7 +424,7 @@ void tgui_definition::load_widget_definitions( const std::string& definition_type , const std::vector& definitions) { - foreach(const tcontrol_definition_ptr& def, definitions) { + BOOST_FOREACH(const tcontrol_definition_ptr& def, definitions) { // We assume all definitions are unique if not we would leak memory. assert(control_definition[definition_type].find(def->id) @@ -497,7 +498,7 @@ void load_settings() ERR_GUI_P << e.message; } // Parse guis - foreach (const config &g, cfg.child_range("gui")) { + BOOST_FOREACH(const config &g, cfg.child_range("gui")) { std::pair child; child.first = child.second.read(g); guis.insert(child); diff --git a/src/gui/widgets/settings.hpp b/src/gui/widgets/settings.hpp index a9429df16e17..cba88df12142 100644 --- a/src/gui/widgets/settings.hpp +++ b/src/gui/widgets/settings.hpp @@ -24,6 +24,7 @@ #include "gui/auxiliary/widget_definition/window.hpp" #include +#include #include #include @@ -124,7 +125,7 @@ void load_widget_definitions( { std::vector definitions; - foreach(const config& definition + BOOST_FOREACH(const config& definition , cfg.child_range(key ? key : definition_type + "_definition")) { definitions.push_back(new T(definition)); diff --git a/src/gui/widgets/slider.cpp b/src/gui/widgets/slider.cpp index 0a6cae1ebe60..f01ba9437f7f 100644 --- a/src/gui/widgets/slider.cpp +++ b/src/gui/widgets/slider.cpp @@ -17,7 +17,6 @@ #include "gui/widgets/slider.hpp" -#include "foreach.hpp" #include "formatter.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/slider.hpp" @@ -27,6 +26,7 @@ #include "sound.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -232,7 +232,7 @@ void tslider::update_canvas() // Inherited. tscrollbar_::update_canvas(); - foreach(tcanvas& tmp, canvas()) { + BOOST_FOREACH(tcanvas& tmp, canvas()) { tmp.set_variable("text", variant(get_value_label())); } } diff --git a/src/gui/widgets/stacked_widget.cpp b/src/gui/widgets/stacked_widget.cpp index 150447c55924..99b530a3af25 100644 --- a/src/gui/widgets/stacked_widget.cpp +++ b/src/gui/widgets/stacked_widget.cpp @@ -17,13 +17,13 @@ #include "gui/widgets/stacked_widget.hpp" -#include "foreach.hpp" #include "gui/auxiliary/widget_definition/stacked_widget.hpp" #include "gui/auxiliary/window_builder/stacked_widget.hpp" #include "gui/widgets/settings.hpp" #include "gui/widgets/generator.hpp" #include +#include namespace gui2 { @@ -83,7 +83,7 @@ void tstacked_widget::finalize( { assert(generator_); string_map empty_data; - foreach(const tbuilder_grid_const_ptr& builder, widget_builder) { + BOOST_FOREACH(const tbuilder_grid_const_ptr& builder, widget_builder) { generator_->create_item(-1, builder, empty_data, NULL); } swap_grid(NULL, &grid(), generator_, "_content_grid"); diff --git a/src/gui/widgets/text_box.cpp b/src/gui/widgets/text_box.cpp index 6a6e665ab8d7..9c0110a343bf 100644 --- a/src/gui/widgets/text_box.cpp +++ b/src/gui/widgets/text_box.cpp @@ -18,7 +18,6 @@ #include "gui/widgets/text_box.hpp" #include "font.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/text_box.hpp" #include "gui/auxiliary/window_builder/text_box.hpp" @@ -27,6 +26,7 @@ #include "game_preferences.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -162,7 +162,7 @@ void ttext_box::update_canvas() const int max_width = get_text_maximum_width(); const int max_height = get_text_maximum_height(); - foreach(tcanvas& tmp, canvas()) { + BOOST_FOREACH(tcanvas& tmp, canvas()) { tmp.set_variable("text", variant(get_value())); tmp.set_variable("text_x_offset", variant(text_x_offset_)); @@ -260,7 +260,7 @@ void ttext_box::update_offsets() // Since this variable doesn't change set it here instead of in // update_canvas(). - foreach(tcanvas& tmp, canvas()) { + BOOST_FOREACH(tcanvas& tmp, canvas()) { tmp.set_variable("text_font_height", variant(text_height_)); } diff --git a/src/gui/widgets/toggle_button.cpp b/src/gui/widgets/toggle_button.cpp index 4c89954a4470..f8461b54d721 100644 --- a/src/gui/widgets/toggle_button.cpp +++ b/src/gui/widgets/toggle_button.cpp @@ -17,7 +17,6 @@ #include "gui/widgets/toggle_button.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/toggle_button.hpp" #include "gui/auxiliary/window_builder/toggle_button.hpp" @@ -26,6 +25,7 @@ #include "sound.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -89,7 +89,7 @@ void ttoggle_button::update_canvas() // set icon in canvases std::vector& canvases = tcontrol::canvas(); - foreach(tcanvas& canvas, canvases) { + BOOST_FOREACH(tcanvas& canvas, canvases) { canvas.set_variable("icon", variant(icon_name_)); } diff --git a/src/gui/widgets/toggle_panel.cpp b/src/gui/widgets/toggle_panel.cpp index d5a1fc000a1d..2508745a778a 100644 --- a/src/gui/widgets/toggle_panel.cpp +++ b/src/gui/widgets/toggle_panel.cpp @@ -17,7 +17,6 @@ #include "gui/widgets/toggle_panel.hpp" -#include "foreach.hpp" #include "gui/auxiliary/log.hpp" #include "gui/auxiliary/widget_definition/toggle_panel.hpp" #include "gui/auxiliary/window_builder/toggle_panel.hpp" @@ -26,6 +25,7 @@ #include "sound.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -72,7 +72,7 @@ void ttoggle_panel::set_child_members(const std::map hack ; - foreach(const hack& item, data) { + BOOST_FOREACH(const hack& item, data) { tcontrol* control = dynamic_cast(find(item.first, false)); if(control) { control->set_members(item.second); diff --git a/src/gui/widgets/tree_view_node.cpp b/src/gui/widgets/tree_view_node.cpp index 6cf00658fbb7..4c535c09f27b 100644 --- a/src/gui/widgets/tree_view_node.cpp +++ b/src/gui/widgets/tree_view_node.cpp @@ -24,6 +24,7 @@ #include "gui/widgets/tree_view.hpp" #include +#include #define LOG_SCOPE_HEADER \ get_control_type() + " [" + tree_view().id() + "] " + __func__ @@ -48,7 +49,7 @@ ttree_view_node::ttree_view_node(const std::string& id grid_.set_parent(this); set_parent(&parent_tree_view); if(id != "root") { - foreach(const tnode_definition& node_definition, node_definitions_) { + BOOST_FOREACH(const tnode_definition& node_definition, node_definitions_) { if(node_definition.id == id) { node_definition.builder->build(&grid_); init_grid(&grid_, data); @@ -217,7 +218,7 @@ void ttree_view_node::clear() int height_reduction = 0; if(!is_folded()) { - foreach(const ttree_view_node& node, children_) { + BOOST_FOREACH(const ttree_view_node& node, children_) { height_reduction += node.get_current_size().y; } } @@ -300,7 +301,7 @@ void ttree_view_node::impl_populate_dirty_list(twindow& caller return; } - foreach(ttree_view_node& node, children_) { + BOOST_FOREACH(ttree_view_node& node, children_) { std::vector child_call_stack = call_stack; node.impl_populate_dirty_list(caller, child_call_stack); } @@ -455,7 +456,7 @@ unsigned ttree_view_node::place( } DBG_GUI_L << LOG_HEADER << " set children.\n"; - foreach(ttree_view_node& node, children_) { + BOOST_FOREACH(ttree_view_node& node, children_) { origin.y += node.place(indention_step_size, origin, width); } @@ -477,7 +478,7 @@ void ttree_view_node::set_visible_area(const SDL_Rect& area) return; } - foreach(ttree_view_node& node, children_) { + BOOST_FOREACH(ttree_view_node& node, children_) { node.set_visible_area(area); } } @@ -490,7 +491,7 @@ void ttree_view_node::impl_draw_children(surface& frame_buffer) return; } - foreach(ttree_view_node& node, children_) { + BOOST_FOREACH(ttree_view_node& node, children_) { node.impl_draw_children(frame_buffer); } } diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp index 26dcaa9c921f..681b44be2e79 100644 --- a/src/gui/widgets/window.cpp +++ b/src/gui/widgets/window.cpp @@ -23,7 +23,6 @@ #include "gui/widgets/window_private.hpp" #include "font.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "gettext.hpp" #include "log.hpp" @@ -44,6 +43,7 @@ #include "video.hpp" #include +#include #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ #define LOG_HEADER LOG_SCOPE_HEADER + ':' @@ -716,7 +716,7 @@ void twindow::draw() return; } - foreach(std::vector& item, dirty_list_) { + BOOST_FOREACH(std::vector& item, dirty_list_) { assert(!item.empty()); @@ -1047,12 +1047,12 @@ void twindow::layout_linked_widgets() { // evaluate the group sizes typedef std::pair hack; - foreach(hack& linked_size, linked_size_) { + BOOST_FOREACH(hack& linked_size, linked_size_) { tpoint max_size(0, 0); // Determine the maximum size. - foreach(twidget* widget, linked_size.second.widgets) { + BOOST_FOREACH(twidget* widget, linked_size.second.widgets) { const tpoint size = widget->get_best_size(); @@ -1065,7 +1065,7 @@ void twindow::layout_linked_widgets() } // Set the maximum size. - foreach(twidget* widget, linked_size.second.widgets) { + BOOST_FOREACH(twidget* widget, linked_size.second.widgets) { tpoint size = widget->get_best_size(); diff --git a/src/help.cpp b/src/help.cpp index fe8eb110ae4e..af149599bd4a 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -27,7 +27,6 @@ #include "about.hpp" #include "display.hpp" #include "exceptions.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gettext.hpp" #include "gui/dialogs/transient_message.hpp" @@ -40,6 +39,8 @@ #include "wml_separators.hpp" #include "serialization/parser.hpp" +#include + #include static lg::log_domain log_display("display"); @@ -793,7 +794,7 @@ void generate_contents() // opening the help browser in the default manner. config hidden_toplevel; std::stringstream ss; - foreach (const config §ion, help_config->child_range("section")) + BOOST_FOREACH(const config §ion, help_config->child_range("section")) { const std::string id = section["id"]; if (find_section(toplevel, id) == NULL) { @@ -810,7 +811,7 @@ void generate_contents() } hidden_toplevel["sections"] = ss.str(); ss.str(""); - foreach (const config &topic, help_config->child_range("topic")) + BOOST_FOREACH(const config &topic, help_config->child_range("topic")) { const std::string id = topic["id"]; if (find_topic(toplevel, id) == NULL) { @@ -861,7 +862,7 @@ bool section_is_referenced(const std::string §ion_id, const config &cfg) } } - foreach (const config §ion, cfg.child_range("section")) + BOOST_FOREACH(const config §ion, cfg.child_range("section")) { const std::vector sections_refd = utils::quoted_split(section["sections"]); @@ -885,7 +886,7 @@ bool topic_is_referenced(const std::string &topic_id, const config &cfg) } } - foreach (const config §ion, cfg.child_range("section")) + BOOST_FOREACH(const config §ion, cfg.child_range("section")) { const std::vector topics_refd = utils::quoted_split(section["topics"]); @@ -1103,7 +1104,7 @@ std::vector generate_weapon_special_topics(const bool sort_generated) std::map special_description; std::map > special_units; - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(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 @@ -1171,7 +1172,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. - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(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) { @@ -1244,7 +1245,7 @@ std::vector generate_faction_topics(const bool sort_generated) const config& era = game_cfg->child("era"); if (era) { std::vector faction_links; - foreach (const config &f, era.child_range("multiplayer_side")) { + BOOST_FOREACH(const config &f, era.child_range("multiplayer_side")) { const std::string& id = f["id"]; if (id == "Random") continue; @@ -1260,7 +1261,7 @@ std::vector generate_faction_topics(const bool sort_generated) text << "
text='" << _("Leaders:") << "'
" << "\n"; const std::vector leaders = make_unit_links_list( utils::split(f["leader"]), true ); - foreach (const std::string &link, leaders) { + BOOST_FOREACH(const std::string &link, leaders) { text << link << "\n"; } @@ -1269,7 +1270,7 @@ std::vector generate_faction_topics(const bool sort_generated) text << "
text='" << _("Recruits:") << "'
" << "\n"; const std::vector recruits = make_unit_links_list( utils::split(f["recruit"]), true ); - foreach (const std::string &link, recruits) { + BOOST_FOREACH(const std::string &link, recruits) { text << link << "\n"; } @@ -1291,7 +1292,7 @@ std::vector generate_faction_topics(const bool sort_generated) text << "
text='" << _("Factions:") << "'
" << "\n"; std::sort(faction_links.begin(), faction_links.end()); - foreach (const std::string &link, faction_links) { + BOOST_FOREACH(const std::string &link, faction_links) { text << link << "\n"; } @@ -1366,7 +1367,7 @@ class unit_topic_generator: public topic_generator reverse ? type_.advances_from() : type_.advances_to(); bool first = true; - foreach (const std::string &adv, adv_units) + BOOST_FOREACH(const std::string &adv, adv_units) { const unit_type *type = unit_types.find(adv); if (!type || type->hide_help()) continue; @@ -1676,7 +1677,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; - foreach (const std::string &type_id, type_id_list) { + BOOST_FOREACH(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); @@ -1693,7 +1694,7 @@ void generate_races_sections(const config *help_cfg, section &sec, int level) std::set races; std::set visible_races; - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(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); @@ -1736,7 +1737,7 @@ std::vector generate_unit_topics(const bool sort_generated, const std::st std::set race_units; std::set race_topics; - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { const unit_type &type = i.second; @@ -1768,7 +1769,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"); - foreach (const config &additional_topic, r->additional_topics()) + BOOST_FOREACH(const config &additional_topic, r->additional_topics()) { std::string id = additional_topic["id"]; std::string title = additional_topic["title"]; diff --git a/src/hotkeys.cpp b/src/hotkeys.cpp index 1541204ccc0c..bcc512693b04 100644 --- a/src/hotkeys.cpp +++ b/src/hotkeys.cpp @@ -19,7 +19,6 @@ #include "construct_dialog.hpp" #include "display.hpp" -#include "foreach.hpp" #include "hotkeys.hpp" #include "game_end_exceptions.hpp" #include "game_preferences.hpp" @@ -33,6 +32,8 @@ #include "wesconfig.h" #include "wml_separators.hpp" +#include + static lg::log_domain log_config("config"); #define ERR_G LOG_STREAM(err, lg::general) #define LOG_G LOG_STREAM(info, lg::general) @@ -609,7 +610,7 @@ void set_hotkey_tag_name(const std::string& name) void load_hotkeys(const config& cfg) { - foreach (const config &hk, cfg.child_range(hotkey_tag_name)) + BOOST_FOREACH(const config &hk, cfg.child_range(hotkey_tag_name)) { hotkey_item& h = get_hotkey(hk["command"]); if(h.get_id() != HOTKEY_NULL) { diff --git a/src/image.cpp b/src/image.cpp index 3d8d9345341f..5f801ce1290c 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -25,7 +25,6 @@ #include "color_range.hpp" #include "config.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "image.hpp" #include "image_modifications.hpp" @@ -36,6 +35,7 @@ #include "SDL_image.h" #include +#include #include #include @@ -376,7 +376,7 @@ static bool localized_file_uptodate (const std::string& loc_file) std::string trackpath = get_binary_file_location("", "l10n-track"); std::string contents = read_file(trackpath); std::vector lines = utils::split(contents, '\n'); - foreach (const std::string &line, lines) { + BOOST_FOREACH(const std::string &line, lines) { size_t p1 = line.find(fsep); if (p1 == std::string::npos) continue; @@ -423,7 +423,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"); - foreach (const std::string &lang, langs) { + BOOST_FOREACH(const std::string &lang, langs) { std::string loc_file = dir + "l10n" + "/" + lang + "/" + loc_base; if (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 861f1061ac1d..b2df382f7a23 100644 --- a/src/image_modifications.cpp +++ b/src/image_modifications.cpp @@ -15,13 +15,14 @@ #include "color_range.hpp" #include "config.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "image.hpp" #include "image_modifications.hpp" #include "log.hpp" #include "serialization/string_utils.hpp" +#include + #include #define GETTEXT_DOMAIN "wesnoth-lib" @@ -99,7 +100,7 @@ modification_queue modification::decode(const std::string& encoded_mods) { modification_queue mods; - foreach(const std::string& encoded_mod, + BOOST_FOREACH(const std::string& encoded_mod, utils::parenthetical_split(encoded_mods, '~')) { modification* mod = decode_modification(encoded_mod); diff --git a/src/language.cpp b/src/language.cpp index ed4c35ffbb93..66afa4ce36d4 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -16,7 +16,6 @@ #include "global.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "language.hpp" #include "log.hpp" @@ -27,6 +26,7 @@ #include #include #include +#include #ifdef _WIN32 #include @@ -101,7 +101,7 @@ bool load_language_list() known_languages.push_back( language_def("", t_string(N_("System default language"), "wesnoth"), "ltr", "", "A")); - foreach (const config &lang, cfg.child_range("locale")) + BOOST_FOREACH(const config &lang, cfg.child_range("locale")) { known_languages.push_back( language_def(lang["locale"], lang["name"], lang["dir"], @@ -226,9 +226,9 @@ bool load_strings(bool complain) std::cerr << "No [language] block found\n"; return false; } - foreach (const config &lang, languages_) { + BOOST_FOREACH(const config &lang, languages_) { DBG_G << "[language]\n"; - foreach (const config::attribute &j, lang.attribute_range()) { + BOOST_FOREACH(const config::attribute &j, lang.attribute_range()) { DBG_G << j.first << "=\"" << j.second << "\"\n"; strings_[j.first] = j.second; } @@ -283,7 +283,7 @@ const language_def& get_locale() void init_textdomains(const config& cfg) { - foreach (const config &t, cfg.child_range("textdomain")) + BOOST_FOREACH(const config &t, cfg.child_range("textdomain")) { const std::string &name = t["name"]; const std::string &path = t["path"]; @@ -307,7 +307,7 @@ void init_textdomains(const config& cfg) bool init_strings(const config& cfg) { languages_.clear(); - foreach(const config &l, cfg.child_range("language")) { + BOOST_FOREACH(const config &l, cfg.child_range("language")) { languages_.push_back(l); } return load_strings(true); diff --git a/src/log.cpp b/src/log.cpp index 3b8527b02433..d3a86896e6c4 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -25,7 +25,8 @@ #include "SDL.h" #include "log.hpp" -#include "foreach.hpp" + +#include #include #include @@ -88,11 +89,11 @@ bool set_log_domain_severity(std::string const &name, int severity) { std::string::size_type s = name.size(); if (name == "all") { - foreach (logd &l, *domains) { + BOOST_FOREACH(logd &l, *domains) { l.second = severity; } } else if (s > 2 && name.compare(s - 2, 2, "/*") == 0) { - foreach (logd &l, *domains) { + BOOST_FOREACH(logd &l, *domains) { if (l.first.compare(0, s - 1, name, 0, s - 1) == 0) l.second = severity; } @@ -108,7 +109,7 @@ bool set_log_domain_severity(std::string const &name, int severity) std::string list_logdomains(const std::string& filter) { std::ostringstream res; - foreach (logd &l, *domains) { + BOOST_FOREACH(logd &l, *domains) { if(l.first.find(filter) != std::string::npos) res << l.first << "\n"; } diff --git a/src/map_label.cpp b/src/map_label.cpp index 931036661737..bfaaf03cfb84 100644 --- a/src/map_label.cpp +++ b/src/map_label.cpp @@ -16,12 +16,13 @@ #include "global.hpp" #include "display.hpp" -#include "foreach.hpp" #include "gamestatus.hpp" #include "map_label.hpp" #include "resources.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 @@ -59,7 +60,7 @@ void map_labels::read(const config &cfg) { clear_all(); - foreach (const config &i, cfg.child_range("label")) + BOOST_FOREACH(const config &i, cfg.child_range("label")) { const map_location loc(i, resources::state_of_game); terrain_label *label = new terrain_label(*this, i); @@ -222,7 +223,7 @@ void map_labels::clear_map(label_map &m, bool force) void map_labels::clear_all() { - foreach (team_label_map::value_type &m, labels_) + BOOST_FOREACH(team_label_map::value_type &m, labels_) { clear_map(m.second, true); } @@ -231,9 +232,9 @@ void map_labels::clear_all() void map_labels::recalculate_labels() { - foreach (team_label_map::value_type &m, labels_) + BOOST_FOREACH(team_label_map::value_type &m, labels_) { - foreach (label_map::value_type &l, m.second) + BOOST_FOREACH(label_map::value_type &l, m.second) { l.second->recalculate(); } @@ -249,9 +250,9 @@ bool map_labels::visible_global_label(const map_location& loc) const void map_labels::recalculate_shroud() { - foreach (team_label_map::value_type &m, labels_) + BOOST_FOREACH(team_label_map::value_type &m, labels_) { - foreach (label_map::value_type &l, m.second) + BOOST_FOREACH(label_map::value_type &l, m.second) { l.second->calculate_shroud(); } diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 6f94fd1d3b8a..948174b57776 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -20,7 +20,6 @@ #include "global.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "language.hpp" #include "log.hpp" @@ -34,6 +33,7 @@ #include "formula_string_utils.hpp" #include "SDL.h" +#include static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -777,7 +777,7 @@ std::string default_generate_map(size_t width, size_t height, size_t island_size std::vector height_conversion; - foreach (const config &h, cfg.child_range("height")) { + BOOST_FOREACH(const config &h, cfg.child_range("height")) { height_conversion.push_back(terrain_height_mapper(h)); } @@ -912,7 +912,7 @@ std::string default_generate_map(size_t width, size_t height, size_t island_size LOG_NG << (SDL_GetTicks() - ticks) << "\n"; ticks = SDL_GetTicks(); std::vector converters; - foreach (const config &cv, cfg.child_range("convert")) { + BOOST_FOREACH(const config &cv, cfg.child_range("convert")) { converters.push_back(terrain_converter(cv)); } diff --git a/src/menu_events.cpp b/src/menu_events.cpp index 5751f28b67b7..dbe1507778fa 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -27,7 +27,6 @@ #include "dialogs.hpp" #include "formatter.hpp" #include "filechooser.hpp" -#include "foreach.hpp" #include "game_end_exceptions.hpp" #include "game_events.hpp" #include "game_preferences.hpp" @@ -66,6 +65,7 @@ #include "widgets/combo.hpp" #include +#include static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -863,7 +863,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"; - foreach(const unit* unit, recall_list_team) + BOOST_FOREACH(const unit* unit, recall_list_team) { DBG_WB << unit->name() << " [" << unit->id() <<"]\n"; } @@ -896,7 +896,7 @@ void menu_handler::recall(int side_num, const map_location &last_hex) options.push_back(heading.str()); options_to_filter.push_back(options.back()); - foreach (const unit* u, recall_list_team) + BOOST_FOREACH(const unit* u, recall_list_team) { std::stringstream option, option_to_filter; std::string name = u->name(); @@ -933,7 +933,7 @@ void menu_handler::recall(int side_num, const map_location &last_hex) option_to_filter << u->type_name() << " " << name << " " << u->level(); option << COLUMN_SEPARATOR; - foreach (const t_string& trait, u->trait_names()) { + BOOST_FOREACH(const t_string& trait, u->trait_names()) { option << trait << '\n'; option_to_filter << " " << trait; } @@ -1540,7 +1540,7 @@ void menu_handler::create_unit(mouse_handler& mousehandler) _("Type"); options.push_back(heading); - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { std::stringstream row; @@ -2047,7 +2047,7 @@ class map_command_handler std::vector get_commands_list() const { std::vector res; - foreach(typename command_map::value_type i, command_map_) { + BOOST_FOREACH(typename command_map::value_type i, command_map_) { res.push_back(i.first); } return res; @@ -2638,7 +2638,7 @@ class console_handler : public map_command_handler, private cha if (const config &alias_list = preferences::get_alias()) { - foreach (const config::attribute &a, alias_list.attribute_range()) { + BOOST_FOREACH(const config::attribute &a, alias_list.attribute_range()) { register_alias(a.second, a.first); } } @@ -3241,7 +3241,7 @@ void console_handler::do_layers() { tile->rebuild_cache(tod_id, &tile_logs); int order = 1; - foreach(const terrain_builder::tile::log_details det, tile_logs) { + BOOST_FOREACH(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; @@ -3356,7 +3356,7 @@ void console_handler::do_next_level() void console_handler::do_choose_level() { std::vector options; int next = 0, nb = 0; - foreach (const config &sc, menu_handler_.game_config_.child_range("scenario")) + BOOST_FOREACH(const config &sc, menu_handler_.game_config_.child_range("scenario")) { const std::string &id = sc["id"]; options.push_back(id); @@ -3367,7 +3367,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_.gamestate_.mp_settings().mp_scenario; - foreach (const config &mp, menu_handler_.game_config_.child_range("multiplayer")) + BOOST_FOREACH(const config &mp, menu_handler_.game_config_.child_range("multiplayer")) { if (mp["id"] == scenario) { @@ -3596,7 +3596,7 @@ void console_handler::do_unbuff() { } }*/ void console_handler::do_discover() { - foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { preferences::encountered_units().insert(i.second.id()); } } diff --git a/src/mouse_events.cpp b/src/mouse_events.cpp index ff8e3a10e0dc..f8ec80107b26 100644 --- a/src/mouse_events.cpp +++ b/src/mouse_events.cpp @@ -21,7 +21,6 @@ #include "actions.hpp" #include "attack_prediction_display.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_end_exceptions.hpp" #include "game_events.hpp" #include "gettext.hpp" @@ -45,6 +44,7 @@ #include "whiteboard/manager.hpp" #include +#include static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -1048,7 +1048,7 @@ std::set mouse_handler::get_adj_enemies(const map_location& loc, i map_location adj[6]; get_adjacent_tiles(loc, adj); - foreach (const map_location &aloc, adj) { + BOOST_FOREACH(const map_location &aloc, adj) { unit_map::const_iterator i = find_unit(aloc); if (i != units_.end() && uteam.is_enemy(i->side())) res.insert(aloc); @@ -1063,7 +1063,7 @@ void mouse_handler::show_attack_options(const unit_map::const_iterator &u) map_location adj[6]; get_adjacent_tiles(u->get_location(), adj); - foreach (const map_location &loc, adj) + BOOST_FOREACH(const map_location &loc, adj) { if (!map_.on_board(loc)) continue; unit_map::const_iterator i = units_.find(loc); diff --git a/src/multiplayer.cpp b/src/multiplayer.cpp index 0b126cb9a77d..83af6374c268 100644 --- a/src/multiplayer.cpp +++ b/src/multiplayer.cpp @@ -40,6 +40,7 @@ #include "unit_id.hpp" #include +#include static lg::log_domain log_network("network"); #define LOG_NW LOG_STREAM(info, log_network) @@ -573,7 +574,7 @@ static void enter_lobby_mode(game_display& disp, const config& game_config, mp:: while (true) { const config &cfg = game_config.child("lobby_music"); if (cfg) { - foreach (const config &i, cfg.child_range("music")) { + BOOST_FOREACH(const config &i, cfg.child_range("music")) { sound::play_music_config(i); } sound::commit_music_changes(); diff --git a/src/multiplayer_connect.cpp b/src/multiplayer_connect.cpp index 612984ca6771..7c7175b40a1b 100644 --- a/src/multiplayer_connect.cpp +++ b/src/multiplayer_connect.cpp @@ -23,7 +23,6 @@ #include "ai/configuration.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_preferences.hpp" #include "gettext.hpp" @@ -39,6 +38,7 @@ #include "wml_exception.hpp" #include +#include static lg::log_domain log_network("network"); #define LOG_NW LOG_STREAM(info, log_network) @@ -189,7 +189,7 @@ connect::side::side(connect& parent, const config& cfg, int index) : // Hack: if there is a unit which can recruit, use it as a leader. // Necessary to display leader information when loading saves. std::string leader_type; - foreach (const config &side_unit, cfg.child_range("unit")) + BOOST_FOREACH(const config &side_unit, cfg.child_range("unit")) { if (side_unit["canrecruit"].to_bool()) { leader_type = side_unit["type"].str(); @@ -539,7 +539,7 @@ void connect::side::init_ai_algorithm_combo() std::vector &ais_list = parent_->ai_algorithms_; std::vector ais; int i = 0; - foreach (const ai::description *desc, ais_list){ + BOOST_FOREACH(const ai::description *desc, ais_list){ ais.push_back(desc->text); if (desc->id==ai_algorithm_){ sel = i; @@ -557,7 +557,7 @@ void connect::side::init_ai_algorithm_combo() void connect::side::update_faction_combo() { std::vector factions; - foreach (const config *faction, parent_->era_sides_) + BOOST_FOREACH(const config *faction, parent_->era_sides_) { const std::string& name = (*faction)["name"]; const std::string& icon = (*faction)["image"]; @@ -724,7 +724,7 @@ config connect::side::get_config() const static char const *attrs[] = { "side", "controller", "id", "team_name", "user_team_name", "color", "colour", "gold", "income", "allow_changes" }; - foreach (const char *attr, attrs) { + BOOST_FOREACH(const char *attr, attrs) { trimmed.remove_attribute(attr); } @@ -827,8 +827,8 @@ std::map connect::side::get_side_children() { std::map children; - foreach(const std::string& children_to_swap, get_children_to_swap()) - foreach(const config& child, cfg_.child_range(children_to_swap)) + BOOST_FOREACH(const std::string& children_to_swap, get_children_to_swap()) + BOOST_FOREACH(const config& child, cfg_.child_range(children_to_swap)) children.insert(std::pair(children_to_swap, child)); return children; @@ -836,12 +836,12 @@ std::map connect::side::get_side_children() void connect::side::set_side_children(std::map children) { - foreach(const std::string& children_to_remove, get_children_to_swap()) + BOOST_FOREACH(const std::string& children_to_remove, get_children_to_swap()) cfg_.clear_children(children_to_remove); std::pair child_map; - foreach(child_map, children) + BOOST_FOREACH(child_map, children) cfg_.add_child(child_map.first, child_map.second); } @@ -920,7 +920,7 @@ void connect::side::resolve_random() // Builds the list of sides eligible for choice (nonrandom factions) std::vector nonrandom_sides; int num = -1; - foreach (const config *i, parent_->era_sides_) + BOOST_FOREACH(const config *i, parent_->era_sides_) { ++num; if (!(*i)["random_faction"].to_bool()) { @@ -1524,7 +1524,7 @@ void connect::lists_init() player_types_.push_back(_("Computer Player")); player_types_.push_back(_("Empty")); - foreach (const config *faction, era_sides_) { + BOOST_FOREACH(const config *faction, era_sides_) { player_factions_.push_back((*faction)["name"]); } @@ -1539,7 +1539,7 @@ void connect::lists_init() // Teams if(params_.use_map_settings) { int side_num = 1; - foreach (config &side, sides) + BOOST_FOREACH(config &side, sides) { config::attribute_value &team_name = side["team_name"]; config::attribute_value &user_team_name = side["user_team_name"]; @@ -1566,7 +1566,7 @@ void connect::lists_init() } else { std::vector map_team_names; int _side_num = 1; - foreach (config &side, sides) + BOOST_FOREACH(config &side, sides) { const std::string side_num = lexical_cast(_side_num); config::attribute_value &team_name = side["team_name"]; @@ -1599,7 +1599,7 @@ void connect::lists_init() // Populates "sides_" from the level configuration int index = 0; - foreach (const config &s, sides) { + BOOST_FOREACH(const config &s, sides) { sides_.push_back(side(*this, s, index++)); } int offset=0; @@ -1683,7 +1683,7 @@ void connect::load_game() else { era_sides_.clear(); - foreach (const config &e, era_cfg.child_range("multiplayer_side")) { + BOOST_FOREACH(const config &e, era_cfg.child_range("multiplayer_side")) { era_sides_.push_back(&e); } level_.add_child("era", era_cfg); @@ -1789,7 +1789,7 @@ bool connect::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 */ - foreach(const side& s, sides_) { + BOOST_FOREACH(const side& s, sides_) { if(s.get_controller() != CNTR_EMPTY) { if(s.allow_player()) { return true; diff --git a/src/multiplayer_create.cpp b/src/multiplayer_create.cpp index 3edb577539df..a03a1ac85f1f 100644 --- a/src/multiplayer_create.cpp +++ b/src/multiplayer_create.cpp @@ -20,7 +20,6 @@ #include "global.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "game_display.hpp" #include "game_preferences.hpp" @@ -40,6 +39,8 @@ #include "wml_separators.hpp" #include "formula_string_utils.hpp" +#include + static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -127,7 +128,7 @@ create::create(game_display& disp, const config &cfg, chat& c, config& gamelist) // Standard maps i = 0; - foreach (const config &j, cfg.child_range("multiplayer")) + BOOST_FOREACH(const config &j, cfg.child_range("multiplayer")) { if (j["allow_new_game"].to_bool(true)) { @@ -217,7 +218,7 @@ create::create(game_display& disp, const config &cfg, chat& c, config& gamelist) // The possible eras to play std::vector eras; - foreach (const config &er, cfg.child_range("era")) { + BOOST_FOREACH(const config &er, cfg.child_range("era")) { eras.push_back(er["name"]); } if(eras.empty()) { @@ -547,7 +548,7 @@ void create::process_event() } int nsides = 0; - foreach (const config &k, parameters_.scenario_data.child_range("side")) { + BOOST_FOREACH(const config &k, parameters_.scenario_data.child_range("side")) { if (k["allow_player"].to_bool(true)) ++nsides; } diff --git a/src/multiplayer_lobby.cpp b/src/multiplayer_lobby.cpp index 560b1cb6cac7..18298e8e472c 100644 --- a/src/multiplayer_lobby.cpp +++ b/src/multiplayer_lobby.cpp @@ -20,7 +20,6 @@ #include "global.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "lobby_preferences.hpp" #include "map_exception.hpp" @@ -34,6 +33,8 @@ #include "wml_exception.hpp" #include "formula_string_utils.hpp" +#include + static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -424,7 +425,7 @@ void gamebrowser::set_game_items(const config& cfg, const config& game_config) games_.clear(); - foreach (const config &game, cfg.child("gamelist").child_range("game")) + BOOST_FOREACH(const config &game, cfg.child("gamelist").child_range("game")) { bool verified = true; games_.push_back(game_item()); @@ -502,7 +503,7 @@ void gamebrowser::set_game_items(const config& cfg, const config& game_config) if (map_hashes_ && !games_.back().reloaded) { std::string hash = game["hash"]; bool hash_found = false; - foreach (const config::attribute &i, map_hashes_.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, map_hashes_.attribute_range()) { if (i.first == game["mp_scenario"] && i.second == hash) { hash_found = true; break; @@ -639,7 +640,7 @@ bool gamebrowser::game_matches_filter(const game_item& i, const config& cfg) { if(preferences::fi_friends_in_game()) { bool found_friend = false; - foreach(const config &user, cfg.child_range("user")) { + BOOST_FOREACH(const config &user, cfg.child_range("user")) { if(preferences::is_friend(user["name"]) && user["game_id"] == i.id) { found_friend = true; break; @@ -650,7 +651,7 @@ bool gamebrowser::game_matches_filter(const game_item& i, const config& cfg) { if(!preferences::fi_text().empty()) { bool found_match = true; - foreach(const std::string& search_string, utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { + BOOST_FOREACH(const std::string& search_string, utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { if(std::search(i.map_info.begin(), i.map_info.end(), search_string.begin(), search_string.end(), chars_equal_insensitive) == i.map_info.end() && std::search(i.name.begin(), i.name.end(), search_string.begin(), search_string.end(), chars_equal_insensitive) == i.name.end()) { found_match = false; diff --git a/src/multiplayer_ui.cpp b/src/multiplayer_ui.cpp index c9151dda09be..2d8e7fd0c968 100644 --- a/src/multiplayer_ui.cpp +++ b/src/multiplayer_ui.cpp @@ -16,7 +16,6 @@ #include "global.hpp" #include "construct_dialog.hpp" -#include "foreach.hpp" #include "gamestatus.hpp" #include "game_display.hpp" #include "game_preferences.hpp" @@ -33,6 +32,8 @@ #include "wml_separators.hpp" #include "formula_string_utils.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) @@ -163,9 +164,9 @@ void level_to_gamestate(config& level, game_state& state) state.starting_pos.child_range("side"); config::const_child_itors level_sides = level.child_range("side"); - foreach (config &side, saved_sides) + BOOST_FOREACH(config &side, saved_sides) { - foreach (const config &lside, level_sides) + BOOST_FOREACH(const config &lside, level_sides) { if (side["side"] == lside["side"] && (side["current_player"] != lside["current_player"] || @@ -599,7 +600,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: "; - foreach (const config& m, ms.child_range("member")) { + BOOST_FOREACH(const config& m, ms.child_range("member")) { ss << m["name"] << " "; } chat_.add_message(time(NULL), "server", ss.str()); @@ -608,7 +609,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: "; - foreach (const config& r, rs.child_range("room")) { + BOOST_FOREACH(const config& r, rs.child_range("room")) { ss << r["name"].str() << "(" << r["size"].str() << ") "; } chat_.add_message(time(NULL), "server", ss.str()); @@ -706,7 +707,7 @@ void ui::gamelist_updated(bool silent) { std::list u_list; - foreach (const config &user, gamelist_.child_range("user")) + BOOST_FOREACH(const config &user, gamelist_.child_range("user")) { user_info u_elem; u_elem.name = user["name"].str(); @@ -848,12 +849,12 @@ int find_suitable_faction(faction_list const &fl, const config &cfg) } int res = -1, index = 0, best_score = 0; - foreach (const config *faction, fl) + BOOST_FOREACH(const config *faction, fl) { int faction_score = 0; std::vector recruit = utils::split((*faction)[search_field]); - foreach (const std::string &search, find) { - foreach (const std::string &r, recruit) { + BOOST_FOREACH(const std::string &search, find) { + BOOST_FOREACH(const std::string &r, recruit) { if (r == search) { ++faction_score; break; diff --git a/src/multiplayer_wait.cpp b/src/multiplayer_wait.cpp index bbc06b3dda2f..56cef7268401 100644 --- a/src/multiplayer_wait.cpp +++ b/src/multiplayer_wait.cpp @@ -16,7 +16,6 @@ #include "global.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "game_preferences.hpp" #include "gui/dialogs/transient_message.hpp" @@ -30,6 +29,8 @@ #include "wml_separators.hpp" #include "formula_string_utils.hpp" +#include + static lg::log_domain log_network("network"); #define DBG_NW LOG_STREAM(debug, log_network) #define LOG_NW LOG_STREAM(info, log_network) @@ -222,7 +223,7 @@ void wait::join_game(bool observe) //available side. const config *side_choice = NULL; int side_num = -1, nb_sides = 0; - foreach (const config &sd, level_.child_range("side")) + BOOST_FOREACH(const config &sd, level_.child_range("side")) { if (sd["controller"] == "reserved" && sd["current_player"] == preferences::login()) { @@ -275,7 +276,7 @@ void wait::join_game(bool observe) color = game_config::color_info(color_str).index() - 1; std::vector leader_sides; - foreach (const config &side, possible_sides) { + BOOST_FOREACH(const config &side, possible_sides) { leader_sides.push_back(&side); } @@ -287,7 +288,7 @@ void wait::join_game(bool observe) } std::vector choices; - foreach (const config *s, leader_sides) + BOOST_FOREACH(const config *s, leader_sides) { const config &side = *s; const std::string &name = side["name"]; @@ -442,7 +443,7 @@ void wait::generate_menu() std::vector details; std::vector playerlist; - foreach (const config &sd, level_.child_range("side")) + BOOST_FOREACH(const config &sd, level_.child_range("side")) { if (!sd["allow_player"].to_bool(true)) { continue; @@ -458,7 +459,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. - foreach (const config &side_unit, sd.child_range("unit")) + BOOST_FOREACH(const config &side_unit, sd.child_range("unit")) { if (side_unit["canrecruit"].to_bool()) { leader_type = side_unit["type"].str(); diff --git a/src/pathfind/astarsearch.cpp b/src/pathfind/astarsearch.cpp index 3a3315190153..3db5481f1e10 100644 --- a/src/pathfind/astarsearch.cpp +++ b/src/pathfind/astarsearch.cpp @@ -20,7 +20,6 @@ #include "map.hpp" #include "pathfind/pathfind.hpp" #include "pathfind/teleport.hpp" -#include "foreach.hpp" #include #include diff --git a/src/pathfind/pathfind.cpp b/src/pathfind/pathfind.cpp index fa775ea40096..07a9ec3c8f64 100644 --- a/src/pathfind/pathfind.cpp +++ b/src/pathfind/pathfind.cpp @@ -24,7 +24,6 @@ #include "pathfind/pathfind.hpp" #include "pathfind/teleport.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "gettext.hpp" #include "log.hpp" @@ -35,6 +34,8 @@ #include "unit_map.hpp" #include "wml_exception.hpp" +#include + #include #include #include @@ -59,7 +60,7 @@ map_location pathfind::find_vacant_tile(const gamemap& map, std::set tiles_checking; tiles_checking.swap(pending_tiles_to_check); //Iterate over all the hexes we need to check - foreach (const map_location &loc, tiles_checking) + BOOST_FOREACH(const map_location &loc, tiles_checking) { //If this area is not a castle but should, skip it. if (vacancy == pathfind::VACANT_CASTLE && !map.is_castle(loc)) continue; @@ -76,7 +77,7 @@ map_location pathfind::find_vacant_tile(const gamemap& map, if (units.find(loc) == units.end() && !pass_check_and_unreachable) return loc; map_location adjs[6]; get_adjacent_tiles(loc,adjs); - foreach (const map_location &loc, adjs) + BOOST_FOREACH(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 f3b078260b35..d447bcfa653c 100644 --- a/src/pathfind/teleport.cpp +++ b/src/pathfind/teleport.cpp @@ -19,7 +19,7 @@ #include "log.hpp" #include "resources.hpp" -#include "foreach.hpp" +#include static lg::log_domain log_engine("engine"); #define ERR_PF LOG_STREAM(err, log_engine) @@ -108,16 +108,16 @@ pathfind::teleport_map::teleport_map( , targets_() { - foreach(const teleport_group& group, groups) { + BOOST_FOREACH(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; - foreach(const map_location &loc, locations.first) + BOOST_FOREACH(const map_location &loc, locations.first) if(!viewing_team.fogged(loc)) filter_locs.first.insert(loc); - foreach(const map_location &loc, locations.second) + BOOST_FOREACH(const map_location &loc, locations.second) if(!viewing_team.fogged(loc)) filter_locs.second.insert(loc); locations.first.swap(filter_locs.first); diff --git a/src/persist_manager.cpp b/src/persist_manager.cpp index 5152807c8223..0c011d877aeb 100644 --- a/src/persist_manager.cpp +++ b/src/persist_manager.cpp @@ -16,7 +16,7 @@ #include "persist_context.hpp" #include "persist_manager.hpp" -#include "foreach.hpp" +#include persist_context &persist_manager::get_context(const std::string &ns) { @@ -36,7 +36,7 @@ persist_context &persist_manager::get_context(const std::string &ns) bool persist_manager::start_transaction() { if (in_transaction_) return false; bool result = true; - foreach (context_map::reference ctx, contexts_){ + BOOST_FOREACH(context_map::reference ctx, contexts_){ result &= ctx.second->start_transaction(); } in_transaction_ = true; @@ -46,7 +46,7 @@ bool persist_manager::start_transaction() { bool persist_manager::end_transaction() { if (!in_transaction_) return false; bool result = true; - foreach (context_map::reference ctx, contexts_){ + BOOST_FOREACH(context_map::reference ctx, contexts_){ result &= ctx.second->end_transaction(); } in_transaction_ = !result; @@ -56,7 +56,7 @@ bool persist_manager::end_transaction() { bool persist_manager::cancel_transaction() { if (!in_transaction_) return false; bool result = true; - foreach (context_map::reference ctx, contexts_){ + BOOST_FOREACH(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 50c4b5b0a989..c6ffcbf67f2a 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -21,7 +21,6 @@ #include "play_controller.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_events.hpp" #include "gettext.hpp" #include "halo.hpp" @@ -46,6 +45,8 @@ #include "whiteboard/manager.hpp" #include "scripting/lua.hpp" +#include + static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) #define DBG_NG LOG_STREAM(debug, log_engine) @@ -173,7 +174,7 @@ void play_controller::init(CVideo& video){ place_sides_in_preferred_locations(); } - foreach (const config &t, level_.child_range("time_area")) { + BOOST_FOREACH(const config &t, level_.child_range("time_area")) { tod_manager_.add_time_area(t); } @@ -192,7 +193,7 @@ void play_controller::init(CVideo& video){ std::vector team_builders; int team_num = 0; - foreach (const config &side, level_.child_range("side")) + BOOST_FOREACH(const config &side, level_.child_range("side")) { std::string save_id = get_unique_saveid(side, seen_save_ids); seen_save_ids.insert(save_id); @@ -212,7 +213,7 @@ void play_controller::init(CVideo& video){ team_builders.push_back(tb_ptr); } - foreach (team_builder_ptr tb_ptr, team_builders) + BOOST_FOREACH(team_builder_ptr tb_ptr, team_builders) { gamestate_.build_team_stage_two(tb_ptr); } @@ -337,7 +338,7 @@ void play_controller::place_sides_in_preferred_locations() int num_pos = map_.num_valid_starting_positions(); int side_num = 1; - foreach (const config &side, level_.child_range("side")) + BOOST_FOREACH(const config &side, level_.child_range("side")) { for(int p = 1; p <= num_pos; ++p) { const map_location& pos = map_.starting_position(p); @@ -703,7 +704,7 @@ config play_controller::to_config() const } // Write terrain_graphics data in snapshot, too - foreach (const config &tg, level_.child_range("terrain_graphics")) { + BOOST_FOREACH(const config &tg, level_.child_range("terrain_graphics")) { cfg.add_child("terrain_graphics", tg); } @@ -914,7 +915,7 @@ void play_controller::tab() switch(mode) { case gui::TEXTBOX_SEARCH: { - foreach (const unit &u, units_){ + BOOST_FOREACH(const unit &u, units_){ const map_location& loc = u.get_location(); if(!gui_->fogged(loc) && !(teams_[gui_->viewing_team()].is_enemy(u.side()) && u.invisible(loc))) @@ -931,13 +932,13 @@ void play_controller::tab() } case gui::TEXTBOX_MESSAGE: { - foreach(const team& t, teams_) { + BOOST_FOREACH(const team& t, teams_) { if(!t.is_empty()) dictionary.insert(t.current_player()); } // Add observers - foreach(const std::string& o, gui_->observers()){ + BOOST_FOREACH(const std::string& o, gui_->observers()){ dictionary.insert(o); } //Exclude own nick from tab-completion. @@ -1341,7 +1342,7 @@ void play_controller::check_victory() if (non_interactive()) { std::cout << "winner: "; - foreach (unsigned l, seen_leaders) { + BOOST_FOREACH(unsigned l, seen_leaders) { std::string ai = ai::manager::get_active_ai_identifier_for_side(l); if (ai.empty()) ai = "default ai"; std::cout << l << " (using " << ai << ") "; diff --git a/src/playcampaign.cpp b/src/playcampaign.cpp index 51bcea877a2d..c1c3588ac7c1 100644 --- a/src/playcampaign.cpp +++ b/src/playcampaign.cpp @@ -21,7 +21,6 @@ #include "global.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gui/dialogs/message.hpp" #include "gui/dialogs/transient_message.hpp" @@ -41,6 +40,8 @@ #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"); @@ -260,7 +261,7 @@ LEVEL_RESULT play_game(display& disp, game_state& gamestate, const config& game_ controller_map controllers; if(io_type == IO_SERVER) { - foreach (config &side, const_cast(scenario)->child_range("side")) + BOOST_FOREACH(config &side, const_cast(scenario)->child_range("side")) { if (side["current_player"] == preferences::login()) { side["controller"] = preferences::client_type(); @@ -280,7 +281,7 @@ LEVEL_RESULT play_game(display& disp, game_state& gamestate, const config& game_ scenario = &starting_pos; } - foreach (config &side, starting_pos.child_range("side")) + BOOST_FOREACH(config &side, starting_pos.child_range("side")) { if (side["current_player"] == preferences::login()) { side["controller"] = preferences::client_type(); @@ -474,7 +475,7 @@ LEVEL_RESULT play_game(display& disp, game_state& gamestate, const config& game_ if(io_type == IO_SERVER && scenario != NULL) { // Tweaks sides to adapt controllers and descriptions. - foreach (config &side, starting_pos.child_range("side")) + BOOST_FOREACH(config &side, starting_pos.child_range("side")) { std::string id = side["save_id"]; if(id.empty()) { @@ -547,7 +548,7 @@ LEVEL_RESULT play_game(display& disp, game_state& gamestate, const config& game_ next_cfg.add_child("replay_start", gamestate.starting_pos); //move side information from gamestate into the config that is sent to the other clients next_cfg.clear_children("side"); - foreach (config& side, gamestate.starting_pos.child_range("side")) + BOOST_FOREACH(config& side, gamestate.starting_pos.child_range("side")) next_cfg.add_child("side", side); network::send_data(cfg, 0); diff --git a/src/playmp_controller.cpp b/src/playmp_controller.cpp index a61c79fd0cf8..c1ae558a1bba 100644 --- a/src/playmp_controller.cpp +++ b/src/playmp_controller.cpp @@ -17,7 +17,7 @@ #include "playmp_controller.hpp" #include "dialogs.hpp" -#include "foreach.hpp" + #include "game_end_exceptions.hpp" #include "gettext.hpp" #include "log.hpp" @@ -29,6 +29,8 @@ #include "formula_string_utils.hpp" #include "whiteboard/manager.hpp" +#include + static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) @@ -326,7 +328,7 @@ void playmp_controller::linger() // stay stuck in linger state when the *next* scenario is over. gamestate_.classification().completion = "running"; // End all unit moves - foreach (unit &u, units_) { + BOOST_FOREACH(unit &u, units_) { u.set_user_end_turn(true); } //current_team().set_countdown_time(0); diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index 7ce012d4500c..431962a3fef9 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -27,7 +27,6 @@ #include "ai/game_info.hpp" #include "ai/testing.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_end_exceptions.hpp" #include "game_events.hpp" #include "game_preferences.hpp" @@ -48,6 +47,8 @@ #include "whiteboard/manager.hpp" #include "util.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) @@ -324,7 +325,7 @@ LEVEL_RESULT playsingle_controller::play_scenario( LOG_NG << "in playsingle_controller::play_scenario()...\n"; // Start music. - foreach (const config &m, level_.child_range("music")) { + BOOST_FOREACH(const config &m, level_.child_range("music")) { sound::play_music_config(m); } sound::commit_music_changes(); @@ -336,7 +337,7 @@ LEVEL_RESULT playsingle_controller::play_scenario( // Read sound sources assert(soundsources_manager_ != NULL); - foreach (const config &s, level_.child_range("sound_source")) { + BOOST_FOREACH(const config &s, level_.child_range("sound_source")) { soundsource::sourcespec spec(s); soundsources_manager_->add(spec); } @@ -906,14 +907,14 @@ void playsingle_controller::store_recalls() { new_side["previous_recruits"] = can_recruit_str; LOG_NG << "stored side in snapshot:\n" << new_side["save_id"] << std::endl; //add the units of the recall list - foreach(const unit& u, i->recall_list()) { + BOOST_FOREACH(const unit& u, i->recall_list()) { config& new_unit = new_side.add_child("unit"); u.write(new_unit); } } } //add any players from starting_pos that do not have a team in the current scenario - foreach (const config &player_cfg, gamestate_.starting_pos.child_range("player")) { + BOOST_FOREACH(const config &player_cfg, gamestate_.starting_pos.child_range("player")) { if (side_ids.count(player_cfg["save_id"]) == 0) { LOG_NG << "stored inactive side in snapshot:\n" << player_cfg["save_id"] << std::endl; gamestate_.snapshot.add_child("side", player_cfg); @@ -938,7 +939,7 @@ void playsingle_controller::store_gold(bool obs) } int persistent_teams = 0; - foreach (const team &t, teams_) { + BOOST_FOREACH(const team &t, teams_) { if (t.persistent()) ++persistent_teams; } @@ -953,7 +954,7 @@ void playsingle_controller::store_gold(bool obs) int turns_left = std::max(0, tod_manager_.number_of_turns() - turn()); int finishing_bonus = (end_level.gold_bonus && turns_left > -1) ? finishing_bonus_per_turn * turns_left : 0; - foreach (const team &t, teams_) + BOOST_FOREACH(const team &t, teams_) { if (!t.persistent()) continue; int carryover_gold = div100rounded((t.gold() + finishing_bonus) * end_level.carryover_percentage); diff --git a/src/playturn.cpp b/src/playturn.cpp index d95558c0336b..bf6c008ea731 100644 --- a/src/playturn.cpp +++ b/src/playturn.cpp @@ -16,7 +16,6 @@ #include "playturn.hpp" #include "construct_dialog.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_end_exceptions.hpp" #include "game_preferences.hpp" @@ -31,6 +30,8 @@ #include "formula_string_utils.hpp" #include "play_controller.hpp" +#include + #include static lg::log_domain log_network("network"); @@ -124,11 +125,11 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg preferences::message_bell()); } - foreach (const config &ob, cfg.child_range("observer")) { + BOOST_FOREACH(const config &ob, cfg.child_range("observer")) { resources::screen->add_observer(ob["name"]); } - foreach (const config &ob, cfg.child_range("observer_quit")) { + BOOST_FOREACH(const config &ob, cfg.child_range("observer_quit")) { resources::screen->remove_observer(ob["name"]); } @@ -147,7 +148,7 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg const config& change = cfg.child_or_empty("change_controller"); const std::string& side_drop = cfg["side_drop"].str(); - foreach (const config &t, turns) + BOOST_FOREACH(const config &t, turns) { handle_turn(turn_end, t, skip_replay, backlog); } @@ -240,7 +241,7 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg options.push_back(_("Abort game")); //get all observers in as options to transfer control - foreach (const std::string &ob, resources::screen->observers()) + BOOST_FOREACH(const std::string &ob, resources::screen->observers()) { t_vars["player"] = ob; options.push_back(vgettext("Replace with $player", t_vars)); @@ -248,7 +249,7 @@ turn_info::PROCESS_DATA_RESULT turn_info::process_network_data(const config& cfg } //get all allies in as options to transfer control - foreach (team &t, *resources::teams) + BOOST_FOREACH(team &t, *resources::teams) { if (!t.is_enemy(side) && !t.is_human() && !t.is_ai() && !t.is_empty() && t.current_player() != tm.current_player()) diff --git a/src/preferences_display.cpp b/src/preferences_display.cpp index a3815c2c4ec1..cf7f5df40fd5 100644 --- a/src/preferences_display.cpp +++ b/src/preferences_display.cpp @@ -25,7 +25,6 @@ #include "construct_dialog.hpp" #include "display.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "gettext.hpp" #include "gui/dialogs/simple_item_selector.hpp" @@ -35,6 +34,8 @@ #include "marked-up_text.hpp" #include "wml_separators.hpp" +#include + namespace preferences { display* disp = NULL; @@ -82,7 +83,7 @@ bool detect_video_settings(CVideo& video, std::pair& resolution, int& b bpp = video.modePossible(resolution.first, resolution.second, DefaultBPP, video_flags, true); - foreach (const res_t &res, res_list) + BOOST_FOREACH(const res_t &res, res_list) { if (bpp != 0) break; std::cerr << "Video mode " << resolution.first << 'x' diff --git a/src/replay.cpp b/src/replay.cpp index 878ced6faa2b..0d6287267a17 100644 --- a/src/replay.cpp +++ b/src/replay.cpp @@ -23,7 +23,6 @@ #include "global.hpp" #include "dialogs.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_end_exceptions.hpp" #include "game_events.hpp" @@ -41,6 +40,7 @@ #include "whiteboard/manager.hpp" #include +#include static lg::log_domain log_replay("replay"); #define DBG_REPLAY LOG_STREAM(debug, log_replay) @@ -67,7 +67,7 @@ static void verify(const unit_map& units, const config& cfg) { << nunits << " according to data source. " << units.size() << " locally\n"; std::set locs; - foreach (const config &u, cfg.child_range("unit")) + BOOST_FOREACH(const config &u, cfg.child_range("unit")) { const map_location loc(u, resources::state_of_game); locs.insert(loc); @@ -88,7 +88,7 @@ static void verify(const unit_map& units, const config& cfg) { errbuf.clear(); } - foreach (const config &un, cfg.child_range("unit")) + BOOST_FOREACH(const config &un, cfg.child_range("unit")) { const map_location loc(un, resources::state_of_game); const unit_map::const_iterator u = units.find(loc); @@ -560,7 +560,7 @@ void replay::undo() const map_location &src = steps.front(); const map_location &dst = steps.back(); - foreach (const async_cmd &ac, async_cmds) + BOOST_FOREACH(const async_cmd &ac, async_cmds) { if (config &async_child = ac.cfg->child("rename")) { map_location aloc(async_child, resources::state_of_game); @@ -576,7 +576,7 @@ void replay::undo() // A unit is being un-recruited or un-recalled. // Remove unsynced commands that would act on that unit. map_location src(*chld, resources::state_of_game); - foreach (const async_cmd &ac, async_cmds) + BOOST_FOREACH(const async_cmd &ac, async_cmds) { if (config &async_child = ac.cfg->child("rename")) { @@ -680,7 +680,7 @@ bool replay::empty() void replay::add_config(const config& cfg, MARK_SENT mark) { - foreach (const config &cmd, cfg.child_range("command")) + BOOST_FOREACH(const config &cmd, cfg.child_range("command")) { config &cfg = cfg_.add_child("command", cmd); if (cfg.child("speak")) @@ -730,7 +730,7 @@ static void check_checksums(const config &cfg) if(! game_config::mp_debug) { return; } - foreach (const config &ch, cfg.child_range("checksum")) + BOOST_FOREACH(const config &ch, cfg.child_range("checksum")) { map_location loc(ch, resources::state_of_game); unit_map::const_iterator u = resources::units->find(loc); @@ -1151,7 +1151,7 @@ bool do_replay_handle(int side_num, const std::string &do_untill) } else if (const config &child = cfg->child("fire_event")) { - foreach (const config &v, child.child_range("set_variable")) { + BOOST_FOREACH(const config &v, child.child_range("set_variable")) { resources::state_of_game->set_variable(v["name"], v["value"]); } const std::string &event = child["raise"]; diff --git a/src/replay_controller.cpp b/src/replay_controller.cpp index 15fd78747bbf..aa2c28b61e5b 100644 --- a/src/replay_controller.cpp +++ b/src/replay_controller.cpp @@ -16,7 +16,6 @@ #include "global.hpp" -#include "foreach.hpp" #include "game_end_exceptions.hpp" #include "game_events.hpp" #include "gettext.hpp" @@ -27,6 +26,8 @@ #include "resources.hpp" #include "savegame.hpp" +#include + static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) @@ -417,7 +418,7 @@ void replay_controller::play_side(const unsigned int /*team_index*/, bool){ finish_side_turn(); // This is necessary for replays in order to show possible movements. - foreach (unit &u, units_) { + BOOST_FOREACH(unit &u, units_) { if (u.side() != player_number_) { u.new_turn(); } diff --git a/src/reports.cpp b/src/reports.cpp index 802105165b2d..021c71745a5e 100644 --- a/src/reports.cpp +++ b/src/reports.cpp @@ -20,7 +20,6 @@ #include "editor/editor_controller.hpp" #include "editor/editor_palettes.hpp" #include "font.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_preferences.hpp" #include "gettext.hpp" @@ -36,6 +35,7 @@ #include "unit.hpp" #include "whiteboard/manager.hpp" +#include #include #include @@ -260,7 +260,7 @@ REPORT_GENERATOR(unit_amla) if (!u) return report(); config res; typedef std::pair pair_string; - foreach(const pair_string &ps, u->amla_icons()) { + BOOST_FOREACH(const pair_string &ps, u->amla_icons()) { add_image(res, ps.first, ps.second); } return res; @@ -395,7 +395,7 @@ static config unit_hp(unit* u) bool att_def_diff = false; map_location displayed_unit_hex = resources::screen->displayed_unit_hex(); - foreach (const utils::string_map::value_type &resist, u->get_base_resistances()) + BOOST_FOREACH(const utils::string_map::value_type &resist, u->get_base_resistances()) { std::ostringstream line; line << gettext(resist.first.c_str()) << ": "; @@ -415,7 +415,7 @@ static config unit_hp(unit* u) if (att_def_diff) tooltip << _("(Att / Def)"); tooltip << '\n'; - foreach (const std::string &line, resistances_table) { + BOOST_FOREACH(const std::string &line, resistances_table) { tooltip << line; } return text_report(str.str(), tooltip.str()); @@ -458,7 +458,7 @@ static config unit_advancement_options(unit* u) if (!u) return report(); config res; typedef std::pair pair_string; - foreach (const pair_string &ps, u->advancement_icons()) { + BOOST_FOREACH(const pair_string &ps, u->advancement_icons()) { add_image(res, ps.first, ps.second); } return res; @@ -497,7 +497,7 @@ static config unit_defense(unit* u, const map_location& displayed_unit_hex) bool revert = false; if (underlyings.size() != 1 || underlyings.front() != terrain) { - foreach (const t_translation::t_terrain &t, underlyings) + BOOST_FOREACH(const t_translation::t_terrain &t, underlyings) { if (t == t_translation::MINUS) { revert = true; @@ -641,7 +641,7 @@ static int attack_info(const attack_type &at, config &res, unit *u, const map_lo std::set seen_types; const team &unit_team = (*resources::teams)[u->side() - 1]; const team &viewing_team = (*resources::teams)[resources::screen->viewing_team()]; - foreach(const unit &enemy, *resources::units) + BOOST_FOREACH(const unit &enemy, *resources::units) { if (!unit_team.is_enemy(enemy.side())) continue; @@ -662,7 +662,7 @@ static int attack_info(const attack_type &at, config &res, unit *u, const map_lo damage_multiplier += tod_bonus; typedef std::pair > resist_units; - foreach (const resist_units &resist, resistances) { + BOOST_FOREACH(const resist_units &resist, resistances) { int damage = round_damage(base_damage, damage_multiplier * resist.first, damage_divisor); tooltip << "" << damage << " " << "(" << utils::signed_percent(resist.first-100) << ") : " @@ -755,7 +755,7 @@ static config unit_weapons(unit *attacker, const map_location &attacker_pos, uni } } - foreach(const battle_context& weapon, weapons) { + BOOST_FOREACH(const battle_context& weapon, weapons) { // Predict the battle outcome. combatant attacker_combatant(weapon.get_attacker_stats()); @@ -869,7 +869,7 @@ static config unit_weapons(unit *u) map_location displayed_unit_hex = resources::screen->displayed_unit_hex(); config res; - foreach (const attack_type &at, u->attacks()) + BOOST_FOREACH(const attack_type &at, u->attacks()) { attack_info(at, res, u, displayed_unit_hex); } @@ -1023,7 +1023,7 @@ REPORT_GENERATOR(villages) str << td.villages << '/'; if (viewing_team.uses_shroud()) { int unshrouded_villages = 0; - foreach (const map_location &loc, resources::game_map->villages()) { + BOOST_FOREACH(const map_location &loc, resources::game_map->villages()) { if (!viewing_team.shrouded(loc)) ++unshrouded_villages; } @@ -1178,7 +1178,7 @@ REPORT_GENERATOR(observers) std::ostringstream str; str << _("Observers:") << '\n'; - foreach (const std::string &obs, observers) { + BOOST_FOREACH(const std::string &obs, observers) { str << obs << '\n'; } return image_report(game_config::images::observer, str.str()); @@ -1250,7 +1250,7 @@ static std::set all_reports; void reports::reset_generators() { - foreach (dynamic_report_generators::value_type &rg, dynamic_generators) { + BOOST_FOREACH(dynamic_report_generators::value_type &rg, dynamic_generators) { delete rg.second; } dynamic_generators.clear(); @@ -1283,10 +1283,10 @@ config reports::generate_report(const std::string &name, bool only_static) const std::set &reports::report_list() { if (!all_reports.empty()) return all_reports; - foreach (const static_report_generators::value_type &v, static_generators) { + BOOST_FOREACH(const static_report_generators::value_type &v, static_generators) { all_reports.insert(v.first); } - foreach (const dynamic_report_generators::value_type &v, dynamic_generators) { + BOOST_FOREACH(const dynamic_report_generators::value_type &v, dynamic_generators) { all_reports.insert(v.first); } return all_reports; diff --git a/src/savegame.cpp b/src/savegame.cpp index af346f39ffc9..291d74a3e5b5 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -17,7 +17,6 @@ #include "savegame.hpp" #include "dialogs.hpp" //FIXME: get rid of this as soon as the two remaining dialogs are moved to gui2 -#include "foreach.hpp" #include "game_display.hpp" #include "game_end_exceptions.hpp" #include "game_preferences.hpp" @@ -40,6 +39,8 @@ #include "unit_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) @@ -913,7 +914,7 @@ void savegame::extract_summary_data_from_save(config& out) bool shrouded = false; const config& snapshot = has_snapshot ? gamestate_.snapshot : gamestate_.starting_pos; - foreach (const config &side, snapshot.child_range("side")) + BOOST_FOREACH(const config &side, snapshot.child_range("side")) { if (side["controller"] != "human") { continue; @@ -922,7 +923,7 @@ void savegame::extract_summary_data_from_save(config& out) shrouded = true; } - foreach (const config &u, side.child_range("unit")) + BOOST_FOREACH(const config &u, side.child_range("unit")) { if (u["canrecruit"].to_bool()) { leader = u["id"].str(); @@ -960,7 +961,7 @@ void scenariostart_savegame::before_save() // if there is no scenario information in the starting pos, add the (persistent) sides from the snapshot // else do nothing, as persistence information was already added at the end of the previous scenario if (gamestate().starting_pos["id"].empty()) { - foreach(const config &snapshot_side, gamestate().snapshot.child_range("side")) { + BOOST_FOREACH(const config &snapshot_side, gamestate().snapshot.child_range("side")) { //add all side tags (assuming they only contain carryover information) gamestate().starting_pos.add_child("side", snapshot_side); } diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp index dbd9f4062520..273dadf8f0f8 100644 --- a/src/scripting/lua.cpp +++ b/src/scripting/lua.cpp @@ -39,7 +39,6 @@ #include "ai/manager.hpp" #include "attack_prediction.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_preferences.hpp" #include "gamestatus.hpp" @@ -77,6 +76,8 @@ #include "scripting/debug_lua.hpp" #endif +#include + static lg::log_domain log_scripting_lua("scripting/lua"); #define LOG_LUA LOG_STREAM(info, log_scripting_lua) #define ERR_LUA LOG_STREAM(err, log_scripting_lua) @@ -87,7 +88,7 @@ static config preload_config; void extract_preload_scripts(config const &game_config) { preload_scripts.clear(); - foreach (config const &cfg, game_config.child_range("lua")) { + BOOST_FOREACH(config const &cfg, game_config.child_range("lua")) { preload_scripts.push_back(cfg); } preload_config = game_config.child("game_config"); @@ -254,7 +255,7 @@ static void luaW_filltable(lua_State *L, config const &cfg) return; int k = 1; - foreach (const config::any_child &ch, cfg.all_children_range()) + BOOST_FOREACH(const config::any_child &ch, cfg.all_children_range()) { lua_createtable(L, 2, 0); lua_pushstring(L, ch.key.c_str()); @@ -264,7 +265,7 @@ static void luaW_filltable(lua_State *L, config const &cfg) lua_rawseti(L, -2, 2); lua_rawseti(L, -2, k++); } - foreach (const config::attribute &attr, cfg.attribute_range()) + BOOST_FOREACH(const config::attribute &attr, cfg.attribute_range()) { luaW_pushscalar(L, attr.second); lua_setfield(L, -2, attr.first.c_str()); @@ -534,7 +535,7 @@ unit *lua_unit::get() { if (ptr) return ptr; if (side) { - foreach (unit &u, (*resources::teams)[side - 1].recall_list()) { + BOOST_FOREACH(unit &u, (*resources::teams)[side - 1].recall_list()) { if (u.underlying_id() == uid) return &u; } return NULL; @@ -710,7 +711,7 @@ static int impl_vconfig_get(lua_State *L) if (shallow_literal || strcmp(m, "__shallow_parsed") == 0) { lua_newtable(L); - foreach (const config::attribute &a, v->get_config().attribute_range()) { + BOOST_FOREACH(const config::attribute &a, v->get_config().attribute_range()) { if (shallow_literal) luaW_pushscalar(L, a.second); else @@ -813,7 +814,7 @@ static int impl_vconfig_collect(lua_State *L) const std::vector& vector = accessor; \ lua_createtable(L, vector.size(), 0); \ int i = 1; \ - foreach (const std::string& s, vector) { \ + BOOST_FOREACH(const std::string& s, vector) { \ lua_pushstring(L, s.c_str()); \ lua_rawseti(L, -2, i); \ ++i; \ @@ -1292,9 +1293,9 @@ static int intf_get_recall_units(lua_State *L) lua_rawget(L, LUA_REGISTRYINDEX); lua_newtable(L); int i = 1, s = 1; - foreach (team &t, *resources::teams) + BOOST_FOREACH(team &t, *resources::teams) { - foreach (unit &u, t.recall_list()) + BOOST_FOREACH(unit &u, t.recall_list()) { if (!filter.null()) { scoped_recall_unit auto_store("this_unit", @@ -1560,7 +1561,7 @@ static int impl_side_get(lua_State *L) std::set const &recruits = t.recruits(); lua_createtable(L, recruits.size(), 0); int i = 1; - foreach (std::string const &r, t.recruits()) { + BOOST_FOREACH(std::string const &r, t.recruits()) { lua_pushstring(L, r.c_str()); lua_rawseti(L, -2, i++); } @@ -3130,7 +3131,7 @@ static int intf_get_locations(lua_State *L) lua_createtable(L, res.size(), 0); int i = 1; - foreach (map_location const &loc, res) + BOOST_FOREACH(map_location const &loc, res) { lua_createtable(L, 2, 0); lua_pushinteger(L, loc.x + 1); @@ -3227,7 +3228,7 @@ static int intf_get_sides(lua_State* L) lua_rawget(L, LUA_REGISTRYINDEX); lua_createtable(L, sides.size(), 0); unsigned index = 1; - foreach(int side, sides) { + BOOST_FOREACH(int side, sides) { // Create a full userdata containing a pointer to the team. team** t = static_cast(lua_newuserdata(L, sizeof(team*))); *t = &((*resources::teams)[side - 1]); @@ -3247,7 +3248,7 @@ static int intf_get_sides(lua_State* L) static int intf_get_traits(lua_State* L) { lua_newtable(L); - foreach(const config& trait, unit_types.traits()) { + BOOST_FOREACH(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). @@ -3767,7 +3768,7 @@ void LuaKernel::initialize() , static_cast(const_cast(&gettypeKey))); lua_rawget(L, LUA_REGISTRYINDEX); lua_newtable(L); - foreach (const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) { lua_createtable(L, 0, 1); lua_pushstring(L, ut.first.c_str()); @@ -3786,7 +3787,7 @@ void LuaKernel::initialize() lua_rawget(L, LUA_REGISTRYINDEX); const race_map& races = unit_types.races(); lua_createtable(L, 0, races.size()); - foreach(const race_map::value_type &race, races) + BOOST_FOREACH(const race_map::value_type &race, races) { lua_createtable(L, 0, 1); char const* id = race.first.c_str(); @@ -3801,10 +3802,10 @@ void LuaKernel::initialize() // Execute the preload scripts. game_config::load_config(preload_config); - foreach (const config &cfg, preload_scripts) { + BOOST_FOREACH(const config &cfg, preload_scripts) { execute(cfg["code"].str().c_str(), 0, 0); } - foreach (const config &cfg, level_.child_range("lua")) { + BOOST_FOREACH(const config &cfg, level_.child_range("lua")) { execute(cfg["code"].str().c_str(), 0, 0); } @@ -3822,7 +3823,7 @@ static char const *handled_file_tags[] = { static bool is_handled_file_tag(const std::string &s) { - foreach (char const *t, handled_file_tags) { + BOOST_FOREACH(char const *t, handled_file_tags) { if (s == t) return true; } return false; @@ -3841,7 +3842,7 @@ void LuaKernel::load_game() lua_newtable(L); int k = 1; - foreach (const config::any_child &v, level_.all_children_range()) + BOOST_FOREACH(const config::any_child &v, level_.all_children_range()) { if (is_handled_file_tag(v.key)) continue; lua_createtable(L, 2, 0); @@ -3861,7 +3862,7 @@ void LuaKernel::load_game() */ void LuaKernel::save_game(config &cfg) { - foreach (const config &v, level_.child_range("lua")) { + BOOST_FOREACH(const config &v, level_.child_range("lua")) { cfg.add_child("lua", v); } diff --git a/src/serialization/parser.cpp b/src/serialization/parser.cpp index 700055d7fc2c..d129782d482f 100644 --- a/src/serialization/parser.cpp +++ b/src/serialization/parser.cpp @@ -32,7 +32,6 @@ #include "serialization/tokenizer.hpp" #include "serialization/string_utils.hpp" #include "serialization/validator.hpp" -#include "foreach.hpp" #include @@ -40,6 +39,7 @@ #include #include #include +#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -343,7 +343,7 @@ std::string parser::lineno_string(utils::string_map &i18n_symbols, { i18n_symbols["pos"] = ::lineno_string(lineno); std::string result = _(error_string); - foreach(utils::string_map::value_type& var, i18n_symbols) + BOOST_FOREACH(utils::string_map::value_type& var, i18n_symbols) boost::algorithm::replace_all(result, std::string("$") + var.first, std::string(var.second)); return result; } @@ -503,11 +503,11 @@ 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"); - foreach (const config::attribute &i, cfg.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { write_key_val(out, i.first, i.second, tab, textdomain); } - foreach (const config::any_child &item, cfg.all_children_range()) + BOOST_FOREACH(const config::any_child &item, cfg.all_children_range()) { write_open_child(out, item.key, tab); write_internal(item.cfg, out, textdomain, tab + 1); diff --git a/src/serialization/preprocessor.cpp b/src/serialization/preprocessor.cpp index 7b0127f2c7d9..0d9c6921710d 100644 --- a/src/serialization/preprocessor.cpp +++ b/src/serialization/preprocessor.cpp @@ -23,7 +23,6 @@ #include "config.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "log.hpp" #include "wesconfig.h" @@ -34,6 +33,8 @@ #include "util.hpp" #include "version.hpp" +#include + #include static lg::log_domain log_config("config"); @@ -64,7 +65,7 @@ static std::string get_filename(const std::string& file_code){ int n = 0; s >> std::hex >> n; - foreach(const t_file_number_map::value_type& p, file_number_map){ + BOOST_FOREACH(const t_file_number_map::value_type& p, file_number_map){ if(p.second == n) return p.first; } @@ -142,7 +143,7 @@ void preproc_define::write(config_writer& writer, const std::string& name) const writer.write_key_val("linenum", lexical_cast(linenum)); writer.write_key_val("location", get_location(location)); - foreach (const std::string &arg, arguments) + BOOST_FOREACH(const std::string &arg, arguments) write_argument(writer, arg); writer.close_child(key); @@ -160,7 +161,7 @@ void preproc_define::read(const config& cfg) linenum = cfg["linenum"]; location = cfg["location"].str(); - foreach (const config &arg, cfg.child_range("argument")) + BOOST_FOREACH(const config &arg, cfg.child_range("argument")) read_argument(arg); } @@ -1157,14 +1158,14 @@ void preprocess_resource(const std::string& res_name, preproc_map *defines_map, get_files_in_dir(res_name, &files, &dirs, ENTIRE_FILE_PATH, SKIP_MEDIA_DIR, DO_REORDER); // subdirectories - foreach(const std::string& dir, dirs) + BOOST_FOREACH(const std::string& dir, dirs) { LOG_PREPROC<<"processing sub-dir: "< + namespace schema_validation{ static lg::log_domain log_validation("validation"); @@ -143,14 +144,14 @@ bool schema_validator::read_config_file(const std::string &filename){ } catch(config::error&) { return false; } - foreach (const config &g, cfg.child_range("wml_schema")) { - foreach (const config &schema, g.child_range("tag")) { + BOOST_FOREACH(const config &g, cfg.child_range("wml_schema")) { + BOOST_FOREACH(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); } } - foreach (const config &type, g.child_range("type")) { + BOOST_FOREACH(const config &type, g.child_range("type")) { try{ types_[type["name"].str()] = boost::regex( type["value"].str()); } diff --git a/src/server/ban.cpp b/src/server/ban.cpp index 314e72412255..67032bc655bd 100644 --- a/src/server/ban.cpp +++ b/src/server/ban.cpp @@ -14,7 +14,6 @@ */ #include "config.hpp" -#include "foreach.hpp" #include "log.hpp" #include "filesystem.hpp" #include "serialization/parser.hpp" @@ -24,7 +23,7 @@ #include "ban.hpp" - +#include #include namespace wesnothd { @@ -260,7 +259,7 @@ static lg::log_domain log_server("server"); scoped_istream ban_file = istream_file(filename_); read_gz(cfg, *ban_file); - foreach (const config &b, cfg.child_range("ban")) + BOOST_FOREACH(const config &b, cfg.child_range("ban")) { try { banned_ptr new_ban(new banned(b)); @@ -276,7 +275,7 @@ static lg::log_domain log_server("server"); // load deleted too if (const config &cfg_del = cfg.child("deleted")) { - foreach (const config &b, cfg_del.child_range("ban")) + BOOST_FOREACH(const config &b, cfg_del.child_range("ban")) { try { banned_ptr new_ban(new banned(b)); @@ -680,7 +679,7 @@ static lg::log_domain log_server("server"); void ban_manager::load_config(const config& cfg) { ban_times_.clear(); - foreach (const config &bt, cfg.child_range("ban_time")) { + BOOST_FOREACH(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/room_manager.cpp b/src/server/room_manager.cpp index 68cce9ed7174..07d9b9553d73 100644 --- a/src/server/room_manager.cpp +++ b/src/server/room_manager.cpp @@ -21,9 +21,10 @@ #include "../serialization/string_utils.hpp" #include "../util.hpp" #include "../filesystem.hpp" -#include "../foreach.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 +59,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(); - foreach (t_rooms_by_name_::value_type i, rooms_by_name_) { + BOOST_FOREACH(t_rooms_by_name_::value_type i, rooms_by_name_) { delete i.second; } } @@ -97,7 +98,7 @@ void room_manager::read_rooms() read(cfg, *file); } - foreach (const config &c, cfg.child_range("room")) { + BOOST_FOREACH(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 +123,7 @@ void room_manager::write_rooms() if (filename_.empty()) return; LOG_LOBBY << "Writing rooms to " << filename_ << "\n"; config cfg; - foreach (const t_rooms_by_name_::value_type& v, rooms_by_name_) { + BOOST_FOREACH(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 +212,7 @@ void room_manager::enter_lobby(network::connection player) void room_manager::enter_lobby(const wesnothd::game &game) { - foreach (network::connection player, game.all_game_users()) { + BOOST_FOREACH(network::connection player, game.all_game_users()) { enter_lobby(player); } } @@ -225,7 +226,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()) { - foreach (room* r, i->second) { + BOOST_FOREACH(room* r, i->second) { r->remove_player(player); } } @@ -244,7 +245,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()) { - foreach (room* r, i->second) { + BOOST_FOREACH(room* r, i->second) { r->remove_player(player); } } @@ -315,7 +316,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; - foreach (room* r, i->second) { + BOOST_FOREACH(room* r, i->second) { store.insert(r->name()); } } @@ -337,7 +338,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()); - foreach (const std::string& room_name, it->second) { + BOOST_FOREACH(const std::string& room_name, it->second) { room* r = get_create_room(room_name, user->first); if (r == NULL) { LOG_LOBBY << "Player " << user->second.name() << " unable to rejoin room " << room_name << "\n"; @@ -528,7 +529,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"); - foreach (const t_rooms_by_name_::value_type& tr, rooms_by_name_) { + BOOST_FOREACH(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 +540,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"); - foreach (network::connection m, room->members()) { + BOOST_FOREACH(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 3ba0e9dc3172..9ce2e3dbb41c 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -23,7 +23,6 @@ #include "../global.hpp" #include "../config.hpp" -#include "../foreach.hpp" #include "../game_config.hpp" #include "../log.hpp" #include "../map.hpp" // gamemap::MAX_PLAYERS @@ -54,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -556,15 +556,15 @@ void server::load_config() { } redirected_versions_.clear(); - foreach (const config &redirect, cfg_.child_range("redirect")) { - foreach (const std::string &version, utils::split(redirect["version"])) { + BOOST_FOREACH(const config &redirect, cfg_.child_range("redirect")) { + BOOST_FOREACH(const std::string &version, utils::split(redirect["version"])) { redirected_versions_[version] = redirect; } } proxy_versions_.clear(); - foreach (const config &proxy, cfg_.child_range("proxy")) { - foreach (const std::string &version, utils::split(proxy["version"])) { + BOOST_FOREACH(const config &proxy, cfg_.child_range("proxy")) { + BOOST_FOREACH(const std::string &version, utils::split(proxy["version"])) { proxy_versions_[version] = proxy; } } @@ -704,7 +704,7 @@ void server::run() { simple_wml::document ping( strstr.str().c_str(), simple_wml::INIT_COMPRESSED ); simple_wml::string_span s = ping.output_compressed(); - foreach (network::connection sock, ghost_players_) { + BOOST_FOREACH(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()) { @@ -720,7 +720,7 @@ void server::run() { // Only a single thread should be accessing this // Erase before we copy - speeds inserts ghost_players_.clear(); - foreach (const wesnothd::player_map::value_type v, players_) { + BOOST_FOREACH(const wesnothd::player_map::value_type v, players_) { ghost_players_.insert(v.first); } last_ping_ = now; diff --git a/src/side_filter.cpp b/src/side_filter.cpp index 7a967d216a07..ad720a96f32e 100644 --- a/src/side_filter.cpp +++ b/src/side_filter.cpp @@ -18,7 +18,6 @@ #include "global.hpp" #include "config.hpp" -#include "foreach.hpp" #include "log.hpp" #include "resources.hpp" #include "side_filter.hpp" @@ -26,6 +25,8 @@ #include "team.hpp" #include "serialization/string_utils.hpp" +#include + static lg::log_domain log_engine_sf("engine/side_filter"); #define ERR_NG LOG_STREAM(err, log_engine_sf) @@ -61,7 +62,7 @@ std::vector side_filter::get_teams() const { //@todo: replace with better implementation std::vector result; - foreach (const team &t, *resources::teams) { + BOOST_FOREACH(const team &t, *resources::teams) { if (match(t)) { result.push_back(t.side()); } @@ -109,7 +110,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; - foreach(const std::string& this_single_team_name, these_team_names) { + BOOST_FOREACH(const std::string& this_single_team_name, these_team_names) { if(this_single_team_name == that_team_name) { search_futile = false; break; @@ -123,7 +124,7 @@ bool side_filter::match_internal(const team &t) const if(cfg_.has_child("has_unit")) { const vconfig& unit_filter = cfg_.child("has_unit"); bool found = false; - foreach (unit &u, *resources::units) { + BOOST_FOREACH(unit &u, *resources::units) { if (u.side() != t.side()) { continue; } @@ -134,7 +135,7 @@ bool side_filter::match_internal(const team &t) const } if(!found && unit_filter["search_recall_list"].to_bool(false)) { const std::vector& recall_list = t.recall_list(); - foreach(const unit& u, recall_list) { + BOOST_FOREACH(const unit& u, recall_list) { scoped_recall_unit this_unit("this_unit", t.save_id(), &u - &recall_list[0]); if(u.matches_filter(unit_filter, u.get_location(), flat_)) { found = true; @@ -152,7 +153,7 @@ bool side_filter::match_internal(const team &t) const side_filter s_filter(enemy_of); const std::vector& teams = s_filter.get_teams(); if(teams.empty()) return false; - foreach(const int side, teams) { + BOOST_FOREACH(const int side, teams) { if(!(*resources::teams)[side - 1].is_enemy(t.side())) return false; } @@ -163,7 +164,7 @@ bool side_filter::match_internal(const team &t) const side_filter s_filter(allied_with); const std::vector& teams = s_filter.get_teams(); if(teams.empty()) return false; - foreach(const int side, teams) { + BOOST_FOREACH(const int side, teams) { if((*resources::teams)[side - 1].is_enemy(t.side())) return false; } diff --git a/src/sound.cpp b/src/sound.cpp index 79b06802068c..d8f526555c6f 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -17,7 +17,6 @@ #include "config.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "log.hpp" #include "serialization/string_utils.hpp" @@ -27,6 +26,8 @@ #include "SDL_mixer.h" +#include + #include static lg::log_domain log_audio("audio"); @@ -596,7 +597,7 @@ void commit_music_changes() return; // If current track no longer on playlist, change it. - foreach (const music_track &m, current_track_list) { + BOOST_FOREACH(const music_track &m, current_track_list) { if (current_track == m) return; } @@ -614,7 +615,7 @@ void write_music_play_list(config& snapshot) { // First entry clears playlist, others append to it. bool append = false; - foreach (music_track &m, current_track_list) { + BOOST_FOREACH(music_track &m, current_track_list) { m.write(snapshot, append); append = true; } diff --git a/src/soundsource.cpp b/src/soundsource.cpp index fb11375314ec..b4fdd25ddd1d 100644 --- a/src/soundsource.cpp +++ b/src/soundsource.cpp @@ -17,7 +17,6 @@ #include "display.hpp" -#include "foreach.hpp" #include "log.hpp" #include "serialization/string_utils.hpp" #include "sound.hpp" diff --git a/src/statistics.cpp b/src/statistics.cpp index 230f1d243131..d2210973e434 100644 --- a/src/statistics.cpp +++ b/src/statistics.cpp @@ -20,12 +20,13 @@ #include "global.hpp" #include "statistics.hpp" -#include "foreach.hpp" #include "log.hpp" #include "serialization/binary_or_text.hpp" #include "unit.hpp" #include "util.hpp" +#include + static lg::log_domain log_engine("engine"); #define DBG_NG LOG_STREAM(debug, log_engine) @@ -57,7 +58,7 @@ scenario_stats::scenario_stats(const config& cfg) : team_stats(), scenario_name(cfg["scenario"]) { - foreach (const config &team, cfg.child_range("team")) { + BOOST_FOREACH(const config &team, cfg.child_range("team")) { team_stats[team["save_id"]] = stats(team); } } @@ -121,7 +122,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; - foreach (const config::attribute &i, cfg.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { m[i.first] = i.second; } @@ -159,7 +160,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; - foreach (const config &i, cfg.child_range("sequence")) + BOOST_FOREACH(const config &i, cfg.child_range("sequence")) { config item = i; int key = item["_num"]; @@ -612,7 +613,7 @@ void read_stats(const config& cfg) fresh_stats(); mid_scenario = cfg["mid_scenario"].to_bool(); - foreach (const config &s, cfg.child_range("scenario")) { + BOOST_FOREACH(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 a6ad216f1a23..583eea362d2d 100644 --- a/src/storyscreen/controller.cpp +++ b/src/storyscreen/controller.cpp @@ -25,7 +25,6 @@ #include "storyscreen/render.hpp" #include "asserts.hpp" -#include "foreach.hpp" #include "variable.hpp" #include "display.hpp" @@ -37,6 +36,8 @@ #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) @@ -138,7 +139,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_; - foreach(part_pointer_type p, parts_) { + BOOST_FOREACH(part_pointer_type p, parts_) { ASSERT_LOG( p != NULL, "Ouch: hit NULL storyscreen part in collection" ); render_pointer_type const rpt(new part_ui(*p, disp_, next_button, back_button, play_button)); uis_.push_back(rpt); diff --git a/src/storyscreen/interface.cpp b/src/storyscreen/interface.cpp index 58274e203ae2..0ed496dce8d0 100644 --- a/src/storyscreen/interface.cpp +++ b/src/storyscreen/interface.cpp @@ -19,7 +19,6 @@ */ #include "global.hpp" -#include "foreach.hpp" #include "variable.hpp" #include "storyscreen/interface.hpp" diff --git a/src/storyscreen/part.cpp b/src/storyscreen/part.cpp index 6bac42d3e4f6..68873f2792f0 100644 --- a/src/storyscreen/part.cpp +++ b/src/storyscreen/part.cpp @@ -20,7 +20,6 @@ #include "global.hpp" #include "asserts.hpp" -#include "foreach.hpp" #include "log.hpp" #include "resources.hpp" #include "storyscreen/part.hpp" diff --git a/src/storyscreen/render.cpp b/src/storyscreen/render.cpp index b37d014f369f..3e292a63b78a 100644 --- a/src/storyscreen/render.cpp +++ b/src/storyscreen/render.cpp @@ -22,7 +22,6 @@ #include "global.hpp" #include "asserts.hpp" -#include "foreach.hpp" #include "log.hpp" #include "storyscreen/part.hpp" #include "storyscreen/render.hpp" @@ -34,6 +33,8 @@ #include "text.hpp" #include "video.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) @@ -167,7 +168,7 @@ void part_ui::prepare_geometry() void part_ui::prepare_floating_images() { // Build floating image surfaces - foreach(const floating_image& fi, p_.get_floating_images()) { + BOOST_FOREACH(const floating_image& fi, p_.get_floating_images()) { imgs_.push_back( fi.get_render_input(scale_factor_, base_rect_) ); } } @@ -190,7 +191,7 @@ bool part_ui::render_floating_images() last_key_ = true; size_t fi_n = 0; - foreach(floating_image::render_input& ri, imgs_) { + BOOST_FOREACH(floating_image::render_input& ri, imgs_) { const floating_image& fi = p_.get_floating_images()[fi_n]; if(!ri.image.null()) { diff --git a/src/team.cpp b/src/team.cpp index 1e9a30bc78ac..b2c735a5b99a 100644 --- a/src/team.cpp +++ b/src/team.cpp @@ -21,13 +21,14 @@ #include "team.hpp" #include "ai/manager.hpp" -#include "foreach.hpp" #include "game_events.hpp" #include "gamestatus.hpp" #include "resources.hpp" #include "game_preferences.hpp" #include "whiteboard/side_actions.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) @@ -318,7 +319,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 - foreach (const config &v, cfg.child_range("village")) + BOOST_FOREACH(const config &v, cfg.child_range("village")) { map_location loc(v, resources::state_of_game); if (map.is_village(loc)) { @@ -397,7 +398,7 @@ int team::minimum_recruit_price() const return info_.minimum_recruit_price; }else{ int min = 20; - foreach(std::string recruit, info_.can_recruit){ + BOOST_FOREACH(std::string recruit, info_.can_recruit){ const unit_type *ut = unit_types.find(recruit); if(!ut) continue; @@ -605,7 +606,7 @@ bool is_observer() return true; } - foreach (const team &t, *teams) { + BOOST_FOREACH(const team &t, *teams) { if (t.is_human()) return false; } diff --git a/src/terrain.cpp b/src/terrain.cpp index 6e5dbe234b08..b07f1f85faab 100644 --- a/src/terrain.cpp +++ b/src/terrain.cpp @@ -15,13 +15,14 @@ #include "global.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "log.hpp" #include "serialization/string_utils.hpp" #include "terrain.hpp" #include "util.hpp" +#include + #include static lg::log_domain log_config("config"); @@ -284,7 +285,7 @@ void create_terrain_maps(const config::const_child_itors &cfgs, t_translation::t_list& terrain_list, std::map& letter_to_terrain) { - foreach (const config &t, cfgs) + BOOST_FOREACH(const config &t, cfgs) { terrain_type terrain(t); DBG_G << "create_terrain_maps: " << terrain.number() << " " @@ -301,9 +302,9 @@ 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; - foreach(std::string& t, eg1) + BOOST_FOREACH(std::string& t, eg1) clean_merge &= egs.insert(t).second; - foreach(std::string& t, eg2) + BOOST_FOREACH(std::string& t, eg2) clean_merge &= egs.insert(t).second; std::string joined = utils::join(egs); diff --git a/src/terrain_filter.cpp b/src/terrain_filter.cpp index 3de13c72e5e5..9cbe8d622445 100644 --- a/src/terrain_filter.cpp +++ b/src/terrain_filter.cpp @@ -19,7 +19,6 @@ #include "actions.hpp" #include "config.hpp" -#include "foreach.hpp" #include "log.hpp" #include "map.hpp" #include "resources.hpp" @@ -27,6 +26,8 @@ #include "tod_manager.hpp" #include "variable.hpp" +#include + static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -129,7 +130,7 @@ bool terrain_filter::match_internal(const map_location& loc, const bool ignore_x } } else { bool found = false; - foreach (const config &cfg, vi.as_array()) { + BOOST_FOREACH(const config &cfg, vi.as_array()) { if (map_location(cfg, NULL) == loc) { found = true; break; @@ -358,7 +359,7 @@ void terrain_filter::get_locations(std::set& locs, bool with_borde } } else { std::set findin_locs; - foreach (const config &cfg, vi.as_array()) { + BOOST_FOREACH(const config &cfg, vi.as_array()) { map_location test_loc(cfg, NULL); if (xy_set.count(test_loc)) { findin_locs.insert(test_loc); diff --git a/src/tests/gui/test_gui2.cpp b/src/tests/gui/test_gui2.cpp index d12c2c14ec1e..97b7b43e49b8 100644 --- a/src/tests/gui/test_gui2.cpp +++ b/src/tests/gui/test_gui2.cpp @@ -20,7 +20,6 @@ #include "config_cache.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "formula_debugger.hpp" #include "gettext.hpp" #include "game_config.hpp" @@ -66,6 +65,7 @@ #include "wml_exception.hpp" #include +#include #include @@ -139,7 +139,7 @@ CVideo & video() { template void test_resolutions(const tresolution_list& resolutions) { - foreach(const tresolution& resolution, resolutions) { + BOOST_FOREACH(const tresolution& resolution, resolutions) { video().make_test_fake(resolution.first, resolution.second); boost::scoped_ptr dlg(twrapper::create()); @@ -178,7 +178,7 @@ CVideo & video() { { bool interact = false; for(int i = 0; i < 2; ++i) { - foreach(const tresolution& resolution, resolutions) { + BOOST_FOREACH(const tresolution& resolution, resolutions) { video().make_test_fake(resolution.first, resolution.second); boost::scoped_ptr dlg(twrapper::create()); @@ -225,7 +225,7 @@ CVideo & video() { void test_tip_resolutions(const tresolution_list& resolutions , const std::string& id) { - foreach(const tresolution& resolution, resolutions) { + BOOST_FOREACH(const tresolution& resolution, resolutions) { video().make_test_fake(resolution.first, resolution.second); std::vector& list = @@ -416,7 +416,7 @@ BOOST_AUTO_TEST_CASE(test_gui2) // Test size() instead of empty() to get the number of offenders BOOST_CHECK_EQUAL(list.size(), 0); - foreach(const std::string& id, list) { + BOOST_FOREACH(const std::string& id, list) { std::cerr << "Window '" << id << "' registered but not tested.\n"; } } @@ -638,7 +638,7 @@ struct twrapper BOOST_REQUIRE_MESSAGE(result, "Failed to create a dialog."); std::vector map_generators; - foreach (const config &i, main_config.child_range("multiplayer")) { + BOOST_FOREACH(const config &i, main_config.child_range("multiplayer")) { if(i["map_generation"] == "default") { const config &generator_cfg = i.child("generator"); if (generator_cfg) { @@ -694,7 +694,7 @@ struct twrapper BOOST_REQUIRE_MESSAGE(cfg, "No editor time-of-day defined"); std::vector tods; - foreach (const config &i, cfg.child_range("time")) { + BOOST_FOREACH(const config &i, cfg.child_range("time")) { tods.push_back(time_of_day(i)); } return new gui2::teditor_settings(NULL, tods); diff --git a/src/theme.cpp b/src/theme.cpp index 1c03b1dd4b87..e6412803dcaa 100644 --- a/src/theme.cpp +++ b/src/theme.cpp @@ -18,7 +18,6 @@ #include "global.hpp" #include "font.hpp" -#include "foreach.hpp" #include "gettext.hpp" #include "hotkeys.hpp" #include "log.hpp" @@ -26,6 +25,7 @@ #include "theme.hpp" #include "wml_exception.hpp" +#include static lg::log_domain log_display("display"); #define DBG_DP LOG_STREAM(debug, log_display) @@ -162,7 +162,7 @@ static void expand_partialresolution(config& dst_cfg, const config& top_cfg) { std::vector res_cfgs_; // resolve all the partialresolutions - foreach (const config &part, top_cfg.child_range("partialresolution")) + BOOST_FOREACH(const config &part, top_cfg.child_range("partialresolution")) { // follow the inheritance hierarchy and push all the nodes on the stack std::vector parent_stack(1, &part); @@ -182,11 +182,11 @@ static void expand_partialresolution(config& dst_cfg, const config& top_cfg) while (!parent_stack.empty()) { //override attributes res_cfgs_.back().merge_attributes(*parent_stack.back()); - foreach (const config &rm, parent_stack.back()->child_range("remove")) { + BOOST_FOREACH(const config &rm, parent_stack.back()->child_range("remove")) { find_ref(rm["id"], res_cfgs_.back(), true); } - foreach (const config &chg, parent_stack.back()->child_range("change")) + BOOST_FOREACH(const config &chg, parent_stack.back()->child_range("change")) { config &target = find_ref(chg["id"], res_cfgs_.back()); target.merge_attributes(chg); @@ -195,7 +195,7 @@ static void expand_partialresolution(config& dst_cfg, const config& top_cfg) // cannot add [status] sub-elements, but who cares if (const config &c = parent_stack.back()->child("add")) { - foreach (const config::any_child &j, c.all_children_range()) { + BOOST_FOREACH(const config::any_child &j, c.all_children_range()) { res_cfgs_.back().add_child(j.key, j.cfg); } } @@ -204,7 +204,7 @@ static void expand_partialresolution(config& dst_cfg, const config& top_cfg) } } // Add all the resolutions - foreach (const config &res, top_cfg.child_range("resolution")) { + BOOST_FOREACH(const config &res, top_cfg.child_range("resolution")) { dst_cfg.add_child("resolution", res); } // Add all the resolved resolutions @@ -217,7 +217,7 @@ static void expand_partialresolution(config& dst_cfg, const config& top_cfg) static void do_resolve_rects(const config& cfg, config& resolved_config, config* resol_cfg = NULL) { // recursively resolve children - foreach (const config::any_child &value, cfg.all_children_range()) { + BOOST_FOREACH(const config::any_child &value, cfg.all_children_range()) { config &childcfg = resolved_config.add_child(value.key); do_resolve_rects(value.cfg, childcfg, value.key == "resolution" ? &childcfg : resol_cfg); @@ -549,7 +549,7 @@ bool theme::set_resolution(const SDL_Rect& screen) int current_rating = 1000000; const config *current = NULL; - foreach (const config &i, cfg_.child_range("resolution")) + BOOST_FOREACH(const config &i, cfg_.child_range("resolution")) { int width = i["width"]; int height = i["height"]; @@ -611,7 +611,7 @@ void theme::add_object(const config& cfg) if (const config &status_cfg = cfg.child("status")) { - foreach (const config::any_child &i, status_cfg.all_children_range()) { + BOOST_FOREACH(const config::any_child &i, status_cfg.all_children_range()) { status_.insert(std::pair(i.key, status_item(i.cfg))); } if (const config &unit_image_cfg = status_cfg.child("unit_image")) { @@ -621,19 +621,19 @@ void theme::add_object(const config& cfg) } } - foreach (const config &p, cfg.child_range("panel")) { + BOOST_FOREACH(const config &p, cfg.child_range("panel")) { panel new_panel(p); set_object_location(new_panel, p["rect"], p["ref"]); panels_.push_back(new_panel); } - foreach (const config &lb, cfg.child_range("label")) { + BOOST_FOREACH(const config &lb, cfg.child_range("label")) { label new_label(lb); set_object_location(new_label, lb["rect"], lb["ref"]); labels_.push_back(new_label); } - foreach (const config &m, cfg.child_range("menu")) + BOOST_FOREACH(const config &m, cfg.child_range("menu")) { menu new_menu(m); DBG_DP << "adding menu: " << (new_menu.is_context() ? "is context" : "not context") << "\n"; @@ -699,7 +699,7 @@ void theme::modify(const config &cfg) } // Change existing theme objects. - foreach (const config &c, cfg.child_range("change")) + BOOST_FOREACH(const config &c, cfg.child_range("change")) { std::string id = c["id"]; std::string ref_id = c["ref"]; @@ -709,12 +709,12 @@ void theme::modify(const config &cfg) } // Add new theme objects. - foreach (const config &c, cfg.child_range("add")) { + BOOST_FOREACH(const config &c, cfg.child_range("add")) { add_object(c); } // Remove existent theme objects. - foreach (const config &c, cfg.child_range("remove")) { + BOOST_FOREACH(const config &c, cfg.child_range("remove")) { remove_object(c["id"]); } @@ -758,7 +758,7 @@ void theme::set_known_themes(const config* cfg) if (!cfg) return; - foreach (const config &thm, cfg->child_range("theme")) + BOOST_FOREACH(const config &thm, cfg->child_range("theme")) { std::string thm_name = thm["name"]; if (!thm["hidden"].to_bool(false)) @@ -778,7 +778,7 @@ std::vector theme::get_known_themes(){ const theme::menu *theme::get_menu_item(const std::string &key) const { - foreach (const theme::menu &m, menus_) { + BOOST_FOREACH(const theme::menu &m, menus_) { if (m.get_id() == key) return &m; } return NULL; diff --git a/src/time_of_day.cpp b/src/time_of_day.cpp index 3b0aeb5645b6..79353f823021 100644 --- a/src/time_of_day.cpp +++ b/src/time_of_day.cpp @@ -16,9 +16,9 @@ /** @file */ #include "config.hpp" -#include "foreach.hpp" #include "time_of_day.hpp" +#include std::ostream &operator<<(std::ostream &s, const tod_color& c){ s << c.r << "," << c.g << "," << c.b; @@ -62,7 +62,7 @@ void time_of_day::write(config& cfg) const void time_of_day::parse_times(const config& cfg, std::vector& normal_times) { - foreach (const config &t, cfg.child_range("time")) { + BOOST_FOREACH(const config &t, cfg.child_range("time")) { normal_times.push_back(time_of_day(t)); } diff --git a/src/tod_manager.cpp b/src/tod_manager.cpp index fde99ce288f7..848c76ca5f94 100644 --- a/src/tod_manager.cpp +++ b/src/tod_manager.cpp @@ -12,7 +12,6 @@ See the COPYING file for more details. */ -#include "foreach.hpp" #include "tod_manager.hpp" #include "wml_exception.hpp" #include "gettext.hpp" @@ -25,6 +24,8 @@ #include "unit.hpp" #include "unit_abilities.hpp" +#include + static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) @@ -279,7 +280,7 @@ void tod_manager::set_turn(const int num, const bool increase_limit_if_needed) void tod_manager::set_new_current_times(const int new_current_turn_number) { currentTime_ = calculate_current_time(times_.size(), new_current_turn_number, currentTime_); - foreach(area_time_of_day& area, areas_) { + BOOST_FOREACH(area_time_of_day& area, areas_) { area.currentTime = 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 1dab727ea863..6cdf74e19467 100644 --- a/src/tools/exploder_cutter.cpp +++ b/src/tools/exploder_cutter.cpp @@ -15,12 +15,13 @@ #include "exploder_cutter.hpp" #include "filesystem.hpp" -#include "foreach.hpp" #include "serialization/parser.hpp" #include "serialization/preprocessor.hpp" #include "serialization/string_utils.hpp" #include "SDL_image.h" +#include + #include cutter::cutter() @@ -48,7 +49,7 @@ const config cutter::load_config(const std::string &filename) void cutter::load_masks(const config& conf) { - foreach (const config &m, conf.child_range("mask")) + BOOST_FOREACH(const config &m, conf.child_range("mask")) { const std::string name = m["name"]; const std::string image = get_mask_dir() + "/" + std::string(m["image"]); @@ -94,7 +95,7 @@ cutter::surface_map cutter::cut_surface(surface surf, const config& conf) { surface_map res; - foreach (const config &part, conf.child_range("part")) { + BOOST_FOREACH(const config &part, conf.child_range("part")) { add_sub_image(surf, res, &part); } diff --git a/src/tools/schema/tag.cpp b/src/tools/schema/tag.cpp index 5cad2fb09c53..a09ca55cc76a 100644 --- a/src/tools/schema/tag.cpp +++ b/src/tools/schema/tag.cpp @@ -21,7 +21,9 @@ #include "tools/schema/tag.hpp" #include "config.hpp" -#include "foreach.hpp" + +#include + namespace schema_validation{ /*WIKI @@ -81,15 +83,15 @@ class_tag::class_tag(const config & cfg) if (cfg.has_attribute("super")){ super_ = cfg["super"].str(); } - foreach (const config &child, cfg.child_range("tag")) { + BOOST_FOREACH(const config &child, cfg.child_range("tag")) { class_tag child_tag (child); add_tag(child_tag); } - foreach (const config &child, cfg.child_range("key")) { + BOOST_FOREACH(const config &child, cfg.child_range("key")) { class_key child_key (child); add_key(child_key); } - foreach (const config &link, cfg.child_range("link")) { + BOOST_FOREACH(const config &link, cfg.child_range("link")) { std::string link_name = link["name"].str(); add_link(link_name); } diff --git a/src/tooltips.cpp b/src/tooltips.cpp index 7cfb6855873c..d3a93778362f 100644 --- a/src/tooltips.cpp +++ b/src/tooltips.cpp @@ -17,13 +17,14 @@ #include "tooltips.hpp" #include "font.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "help.hpp" #include "marked-up_text.hpp" #include "resources.hpp" #include "video.hpp" +#include + namespace { CVideo* video_ = NULL; @@ -172,7 +173,7 @@ void process(int mousex, int mousey) bool click(int mousex, int mousey) { - foreach(tooltip tip, tips) { + BOOST_FOREACH(tooltip tip, tips) { if(!tip.action.empty() && point_in_rect(mousex, mousey, tip.rect)) { display* disp = resources::screen; help::show_help(*disp, tip.action); diff --git a/src/unit.cpp b/src/unit.cpp index 8da374be8e50..ae20ba8c40e4 100644 --- a/src/unit.cpp +++ b/src/unit.cpp @@ -21,7 +21,6 @@ #include "unit.hpp" #include "callable_objects.hpp" -#include "foreach.hpp" #include "formula.hpp" #include "game_display.hpp" #include "game_preferences.hpp" @@ -38,6 +37,7 @@ #include "side_filter.hpp" #include "play_controller.hpp" +#include static lg::log_domain log_unit("unit"); #define DBG_UT LOG_STREAM(debug, log_unit) #define LOG_UT LOG_STREAM(info, log_unit) @@ -288,7 +288,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* filter_recall_ = filter_recall.get_config(); const vconfig::child_list& events = vcfg->get_children("event"); - foreach(const vconfig& e, events) { + BOOST_FOREACH(const vconfig& e, events) { events_.add_child("event", e.get_config()); } } @@ -296,7 +296,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* { filter_recall_ = cfg.child_or_empty("filter_recall"); - foreach(const config& unit_event, cfg.child_range("event")) { + BOOST_FOREACH(const config& unit_event, cfg.child_range("event")) { events_.add_child("event", unit_event); } } @@ -375,7 +375,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* formula_vars_ = new game_logic::map_formula_callable; variant var; - foreach (const config::attribute &i, ai_vars.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, ai_vars.attribute_range()) { var.serialize_from_string(i.second); formula_vars_->add(i.first, var); } @@ -432,7 +432,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* if (const config &status_flags = cfg.child("status")) { - foreach (const config::attribute &st, status_flags.attribute_range()) { + BOOST_FOREACH(const config::attribute &st, status_flags.attribute_range()) { if (st.first == "healable") { ///@deprecated 1.9.2 'healable' instead of 'unhealable' ERR_UT << "Usage of 'healable' is deprecated, use 'unhealable' instead, " @@ -449,7 +449,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* } // Remove animations from private cfg, they're not needed there now - foreach(const std::string& tag_name, unit_animation::all_tag_names()) { + BOOST_FOREACH(const std::string& tag_name, unit_animation::all_tag_names()) { cfg_.clear_children(tag_name); } @@ -518,7 +518,7 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* "canrecruit", "extra_recruit", "x", "y", "placement", // Useless attributes created when saving units to WML: "flag_rgb", "language_name" }; - foreach (const char *attr, internalized_attrs) { + BOOST_FOREACH(const char *attr, internalized_attrs) { input_cfg.remove_attribute(attr); cfg_.remove_attribute(attr); } @@ -526,11 +526,11 @@ unit::unit(const config &cfg, bool use_traits, game_state* state, const vconfig* static char const *raw_attrs[] = { "description", "halo", "profile", "small_profile", "upkeep", "usage", "ellipse", "image", "image_icon", "random_traits", "generate_name" }; - foreach (const char *attr, raw_attrs) { + BOOST_FOREACH(const char *attr, raw_attrs) { input_cfg.remove_attribute(attr); } - foreach (const config::attribute &attr, input_cfg.attribute_range()) { + BOOST_FOREACH(const config::attribute &attr, input_cfg.attribute_range()) { if (attr.first == "do_not_list") continue; WRN_UT << "Unknown attribute '" << attr.first << "' discarded.\n"; } @@ -715,12 +715,12 @@ void unit::generate_traits(bool musthaveonly, game_state* state) config::const_child_itors current_traits = modifications_.child_range("trait"); std::vector candidate_traits; - foreach (const config &t, type->possible_traits()) + BOOST_FOREACH(const config &t, type->possible_traits()) { // Skip the trait if the unit already has it. const std::string &tid = t["id"]; bool already = false; - foreach (const config &mod, current_traits) + BOOST_FOREACH(const config &mod, current_traits) { if (mod["id"] == tid) { already = true; @@ -767,7 +767,7 @@ std::vector unit::get_traits_list() const { std::vector res; - foreach (const config &mod, modifications_.child_range("trait")) + BOOST_FOREACH(const config &mod, modifications_.child_range("trait")) { std::string const &id = mod["id"]; if (!id.empty()) @@ -797,7 +797,7 @@ void unit::advance_to(const config &old_cfg, const unit_type *t, config new_cfg; static char const *persistent_attrs[] = { "upkeep", "ellipse", "image", "image_icon", "usage", "random_traits", "generate_name" }; - foreach (const char *attr, persistent_attrs) { + BOOST_FOREACH(const char *attr, persistent_attrs) { if (const config::attribute_value *v = old_cfg.get(attr)) { new_cfg[attr] = *v; } @@ -813,7 +813,7 @@ void unit::advance_to(const config &old_cfg, const unit_type *t, static char const *unit_type_attrs[] = { "movement", "movement_type", "die_sound", "flies", "inherit", "variation_name", "ignore_race_traits", "hide_help" }; - foreach (const char *attr, unit_type_attrs) { + BOOST_FOREACH(const char *attr, unit_type_attrs) { new_cfg.remove_attribute(attr); } @@ -1020,7 +1020,7 @@ void unit::set_recruits(const std::vector& recruits) const std::vector unit::advances_to_translated() const { std::vector result; - foreach (std::string type_id, advances_to_) + BOOST_FOREACH(std::string type_id, advances_to_) { const unit_type *type = unit_types.find(type_id); if (type) @@ -1120,7 +1120,7 @@ void unit::heal(int amount) const std::map unit::get_states() const { std::map all_states; - foreach (std::string const &s, states_) { + BOOST_FOREACH(std::string const &s, states_) { all_states[s] = "yes"; } for (std::map::const_iterator i = known_boolean_state_names_.begin(), @@ -1195,7 +1195,7 @@ bool unit::has_ability_by_id(const std::string& ability) const { if (const config &abil = cfg_.child("abilities")) { - foreach (const config::any_child &ab, abil.all_children_range()) { + BOOST_FOREACH(const config::any_child &ab, abil.all_children_range()) { if (ab.cfg["id"] == ability) return true; } @@ -2197,7 +2197,7 @@ utils::string_map unit::get_base_resistances() const if (const config &resistance = cfg_.child("resistance")) { utils::string_map res; - foreach (const config::attribute &i, resistance.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, resistance.attribute_range()) { res[i.first] = i.second; } return res; @@ -2222,7 +2222,7 @@ std::map unit::advancement_icons() const { std::ostringstream tooltip; const std::string &image = game_config::images::level; - foreach (const std::string &s, advances_to()) + BOOST_FOREACH(const std::string &s, advances_to()) { if (!s.empty()) tooltip << s << '\n'; @@ -2230,7 +2230,7 @@ std::map unit::advancement_icons() const temp[image] = tooltip.str(); } - foreach (const config &adv, get_modification_advances()) + BOOST_FOREACH(const config &adv, get_modification_advances()) { const std::string &image = adv["image"]; if (image.empty()) continue; @@ -2248,7 +2248,7 @@ std::vector > unit::amla_icons() const std::vector > temp; std::pair icon; // - foreach (const config &adv, get_modification_advances()) + BOOST_FOREACH(const config &adv, get_modification_advances()) { icon.first = adv["icon"].str(); icon.second = adv["description"].str(); @@ -2265,7 +2265,7 @@ std::vector > unit::amla_icons() const std::vector unit::get_modification_advances() const { std::vector res; - foreach (const config &adv, modification_advancements()) + BOOST_FOREACH(const config &adv, modification_advancements()) { if (adv["strict_amla"].to_bool() && !advances_to_.empty()) continue; @@ -2283,7 +2283,7 @@ std::vector unit::get_modification_advances() const std::unique_copy(temp.begin(), temp.end(), std::back_inserter(uniq)); bool requirements_done = true; - foreach (const std::string &s, uniq) + BOOST_FOREACH(const std::string &s, uniq) { int required_num = std::count(temp.begin(), temp.end(), s); int mod_num = modification_count("advance", s); @@ -2302,7 +2302,7 @@ std::vector unit::get_modification_advances() const size_t unit::modification_count(const std::string& type, const std::string& id) const { size_t res = 0; - foreach (const config &item, modifications_.child_range(type)) { + BOOST_FOREACH(const config &item, modifications_.child_range(type)) { if (item["id"] == id) { ++res; } @@ -2314,7 +2314,7 @@ size_t unit::modification_count(const std::string& type, const std::string& id) /** Helper function for add_modifications */ static void mod_mdr_merge(config& dst, const config& mod, bool delta) { - foreach (const config::attribute &i, mod.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, mod.attribute_range()) { int v = 0; if (delta) v = dst[i.first]; dst[i.first] = v + i.second.to_int(); @@ -2336,7 +2336,7 @@ void unit::add_modification(const std::string& type, const config& mod, bool no_ } config last_effect; std::vector effects_description; - foreach (const config &effect, mod.child_range("effect")) + BOOST_FOREACH(const config &effect, mod.child_range("effect")) { // See if the effect only applies to certain unit types const std::string &type_filter = effect["unit_type"]; @@ -2524,7 +2524,7 @@ void unit::add_modification(const std::string& type, const config& mod, bool no_ config &def = cfg_.child_or_add("defense"); if (const config &ap = effect.child("defense")) { bool replace = effect["replace"].to_bool(); - foreach (const config::attribute &i, ap.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, ap.attribute_range()) { int v = i.second.to_int(); config::attribute_value &dst = def[i.first]; if (!replace) { @@ -2551,7 +2551,7 @@ void unit::add_modification(const std::string& type, const config& mod, bool no_ config &ab = cfg_.child_or_add("abilities"); if (const config &ab_effect = effect.child("abilities")) { config to_append; - foreach (const config::any_child &ab, ab_effect.all_children_range()) { + BOOST_FOREACH(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); } @@ -2560,7 +2560,7 @@ void unit::add_modification(const std::string& type, const config& mod, bool no_ } } else if (apply_to == "remove_ability") { if (const config &ab_effect = effect.child("abilities")) { - foreach (const config::any_child &ab, ab_effect.all_children_range()) { + BOOST_FOREACH(const config::any_child &ab, ab_effect.all_children_range()) { remove_ability_by_id(ab.cfg["id"]); } } @@ -2749,7 +2749,7 @@ void unit::apply_modifications() for(size_t i = 0; i != NumModificationTypes; ++i) { const std::string& mod = ModificationTypes[i]; - foreach (const config &m, modifications_.child_range(mod)) { + BOOST_FOREACH(const config &m, modifications_.child_range(mod)) { log_scope("add mod"); add_modification(ModificationTypes[i], m, true); } @@ -2779,7 +2779,7 @@ bool unit::invisible(const map_location& loc, bool see_all) const bool is_inv = !get_state(STATE_UNCOVERED) && get_ability_bool(hides,loc); if(is_inv){ const std::vector& teams = *resources::teams; - foreach (const unit &u, *resources::units) + BOOST_FOREACH(const unit &u, *resources::units) { const map_location &u_loc = u.get_location(); if (teams[side_-1].is_enemy(u.side()) && tiles_adjacent(loc, u_loc)) { @@ -2881,7 +2881,7 @@ unit_movement_resetter::~unit_movement_resetter() int side_units(int side) { int res = 0; - foreach (const unit &u, *resources::units) { + BOOST_FOREACH(const unit &u, *resources::units) { if (u.side() == side) ++res; } return res; @@ -2890,7 +2890,7 @@ int side_units(int side) int side_units_cost(int side) { int res = 0; - foreach (const unit &u, *resources::units) { + BOOST_FOREACH(const unit &u, *resources::units) { if (u.side() == side) res += u.cost(); } return res; @@ -2899,7 +2899,7 @@ int side_units_cost(int side) int side_upkeep(int side) { int res = 0; - foreach (const unit &u, *resources::units) { + BOOST_FOREACH(const unit &u, *resources::units) { if (u.side() == side) res += u.upkeep(); } return res; @@ -3029,7 +3029,7 @@ const std::string& unit::effect_image_mods() const{ const tportrait* unit::portrait( const unsigned size, const tportrait::tside side) const { - foreach(const tportrait& portrait, (type()->portraits())) { + BOOST_FOREACH(const tportrait& portrait, (type()->portraits())) { if(portrait.size == size && (side == portrait.side || portrait.side == tportrait::BOTH)) { @@ -3107,20 +3107,20 @@ std::string get_checksum(const unit& u) { "number", ""}; - foreach (const config &att, unit_config.child_range("attack")) + BOOST_FOREACH(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]]; } - foreach (const config &spec, att.child_range("specials")) { + BOOST_FOREACH(const config &spec, att.child_range("specials")) { config& child_spec = child.add_child("specials", spec); child_spec.recursive_clear_value("description"); } } - foreach (const config &abi, unit_config.child_range("abilities")) + BOOST_FOREACH(const config &abi, unit_config.child_range("abilities")) { config& child = wcfg.add_child("abilities", abi); child.recursive_clear_value("description"); @@ -3129,7 +3129,7 @@ std::string get_checksum(const unit& u) { child.recursive_clear_value("name_inactive"); } - foreach (const config &trait, unit_config.child_range("trait")) + BOOST_FOREACH(const config &trait, unit_config.child_range("trait")) { config& child = wcfg.add_child("trait", trait); child.recursive_clear_value("description"); @@ -3142,7 +3142,7 @@ std::string get_checksum(const unit& u) { for (int i = 0; !child_keys[i].empty(); ++i) { - foreach (const config &c, unit_config.child_range(child_keys[i])) { + BOOST_FOREACH(const config &c, unit_config.child_range(child_keys[i])) { wcfg.add_child(child_keys[i], c); } } diff --git a/src/unit_abilities.cpp b/src/unit_abilities.cpp index bcc487a60bf2..1c7ade266b17 100644 --- a/src/unit_abilities.cpp +++ b/src/unit_abilities.cpp @@ -18,7 +18,6 @@ * Manage unit-abilities, like heal, cure, and weapon_specials. */ -#include "foreach.hpp" #include "gamestatus.hpp" #include "log.hpp" #include "resources.hpp" @@ -27,6 +26,8 @@ #include "team.hpp" #include "unit_abilities.hpp" +#include + static lg::log_domain log_engine("engine"); #define ERR_NG LOG_STREAM(err, log_engine) @@ -124,7 +125,7 @@ bool unit::get_ability_bool(const std::string& ability, const map_location& loc) { if (const config &abilities = cfg_.child("abilities")) { - foreach (const config &i, abilities.child_range(ability)) { + BOOST_FOREACH(const config &i, abilities.child_range(ability)) { if (ability_active(ability, i, loc) && ability_affects_self(ability, i, loc)) return true; @@ -141,7 +142,7 @@ bool unit::get_ability_bool(const std::string& ability, const map_location& loc) const config &adj_abilities = it->cfg_.child("abilities"); if (!adj_abilities) continue; - foreach (const config &j, adj_abilities.child_range(ability)) { + BOOST_FOREACH(const config &j, adj_abilities.child_range(ability)) { if (unit_abilities::affects_side(j, teams_manager::get_teams(), side(), it->side()) && it->ability_active(ability, j, adjacent[i]) && ability_affects_adjacent(ability, j, i, loc)) @@ -158,7 +159,7 @@ unit_ability_list unit::get_abilities(const std::string& ability, const map_loca if (const config &abilities = cfg_.child("abilities")) { - foreach (const config &i, abilities.child_range(ability)) { + BOOST_FOREACH(const config &i, abilities.child_range(ability)) { if (ability_active(ability, i, loc) && ability_affects_self(ability, i, loc)) res.cfgs.push_back(std::pair(&i, loc)); @@ -175,7 +176,7 @@ unit_ability_list unit::get_abilities(const std::string& ability, const map_loca const config &adj_abilities = it->cfg_.child("abilities"); if (!adj_abilities) continue; - foreach (const config &j, adj_abilities.child_range(ability)) { + BOOST_FOREACH(const config &j, adj_abilities.child_range(ability)) { if (unit_abilities::affects_side(j, teams_manager::get_teams(), side(), it->side()) && it->ability_active(ability, j, adjacent[i]) && ability_affects_adjacent(ability, j, i, loc)) @@ -193,7 +194,7 @@ std::vector unit::get_ability_list() const const config &abilities = cfg_.child("abilities"); if (!abilities) return res; - foreach (const config::any_child &ab, abilities.all_children_range()) { + BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { std::string const &id = ab.cfg["id"]; if (!id.empty()) res.push_back(id); @@ -208,7 +209,7 @@ std::vector > unit::ability_tooltips(bo const config &abilities = cfg_.child("abilities"); if (!abilities) return res; - foreach (const config::any_child &ab, abilities.all_children_range()) + BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { if (force_active || ability_active(ab.key, ab.cfg, loc_)) { @@ -265,9 +266,9 @@ bool unit::ability_active(const std::string& ability,const config& cfg,const map get_adjacent_tiles(loc,adjacent); const unit_map& units = *resources::units; - foreach (const config &i, cfg.child_range("filter_adjacent")) + BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent")) { - foreach (const std::string &j, utils::split(i["adjacent"])) + BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) { map_location::DIRECTION index = map_location::parse_direction(j); @@ -282,9 +283,9 @@ bool unit::ability_active(const std::string& ability,const config& cfg,const map } } - foreach (const config &i, cfg.child_range("filter_adjacent_location")) + BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent_location")) { - foreach (const std::string &j, utils::split(i["adjacent"])) + BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) { map_location::DIRECTION index = map_location::parse_direction(j); if (index == map_location::NDIRECTIONS) { @@ -310,7 +311,7 @@ bool unit::ability_affects_adjacent(const std::string& ability, const config& cf assert(dir >=0 && dir <= 5); static const std::string adjacent_names[6] = {"n","ne","se","s","sw","nw"}; - foreach (const config &i, cfg.child_range("affect_adjacent")) + BOOST_FOREACH(const config &i, cfg.child_range("affect_adjacent")) { std::vector dirs = utils::split(i["adjacent"]); if(std::find(dirs.begin(),dirs.end(),adjacent_names[dir]) != dirs.end()) { @@ -366,7 +367,7 @@ std::pair unit_ability_list::highest(const std::string& key, i int flat = 0; int stack = 0; typedef std::pair pt; - foreach (pt const &p, cfgs) + BOOST_FOREACH(pt const &p, cfgs) { int value = (*p.first)[key].to_int(def); if ((*p.first)["cumulative"].to_bool()) { @@ -398,7 +399,7 @@ std::pair unit_ability_list::lowest(const std::string& key, in int flat = 0; int stack = 0; typedef std::pair pt; - foreach (pt const &p, cfgs) + BOOST_FOREACH(pt const &p, cfgs) { int value = (*p.first)[key].to_int(def); if ((*p.first)["cumulative"].to_bool()) { @@ -448,7 +449,7 @@ std::pair unit_ability_list::lowest(const std::string& key, in namespace { bool get_special_children(std::vector& result, const config& parent, const std::string& id, bool just_peeking=false) { - foreach (const config::any_child &sp, parent.all_children_range()) + BOOST_FOREACH(const config::any_child &sp, parent.all_children_range()) { if (sp.key == id || sp.cfg["id"] == id) { if(just_peeking) { @@ -495,7 +496,7 @@ unit_ability_list attack_type::get_specials(const std::string& special) const unit_ability_list res; if (const config &specials = cfg_.child("specials")) { - foreach (const config &i, specials.child_range(special)) { + BOOST_FOREACH(const config &i, specials.child_range(special)) { if (special_active(i, true)) res.cfgs.push_back(std::pair (&i, attacker_ ? aloc_ : dloc_)); @@ -504,7 +505,7 @@ unit_ability_list attack_type::get_specials(const std::string& special) const if (!other_attack_) return res; if (const config &specials = other_attack_->cfg_.child("specials")) { - foreach (const config &i, specials.child_range(special)) { + BOOST_FOREACH(const config &i, specials.child_range(special)) { if (other_attack_->special_active(i, false)) res.cfgs.push_back(std::pair (&i, attacker_ ? dloc_ : aloc_)); @@ -519,7 +520,7 @@ std::vector attack_type::special_tooltips(bool force) const const config &specials = cfg_.child("specials"); if (!specials) return res; - foreach (const config::any_child &sp, specials.all_children_range()) + BOOST_FOREACH(const config::any_child &sp, specials.all_children_range()) { if (force || special_active(sp.cfg, true)) { const t_string &name = sp.cfg["name"]; @@ -544,7 +545,7 @@ std::string attack_type::weapon_specials(bool force) const const config &specials = cfg_.child("specials"); if (!specials) return res; - foreach (const config::any_child &sp, specials.all_children_range()) + BOOST_FOREACH(const config::any_child &sp, specials.all_children_range()) { char const *s = force || special_active(sp.cfg, true) ? "name" : "name_inactive"; @@ -679,9 +680,9 @@ bool attack_type::special_active(const config& cfg, bool self) const get_adjacent_tiles(dloc_,adjacent); } - foreach (const config &i, cfg.child_range("filter_adjacent")) + BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent")) { - foreach (const std::string &j, utils::split(i["adjacent"])) + BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) { map_location::DIRECTION index = map_location::parse_direction(j); @@ -694,9 +695,9 @@ bool attack_type::special_active(const config& cfg, bool self) const } } - foreach (const config &i, cfg.child_range("filter_adjacent_location")) + BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent_location")) { - foreach (const std::string &j, utils::split(i["adjacent"])) + BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) { map_location::DIRECTION index = map_location::parse_direction(j); diff --git a/src/unit_animation.cpp b/src/unit_animation.cpp index 5b79b0038d2f..0167c554d068 100644 --- a/src/unit_animation.cpp +++ b/src/unit_animation.cpp @@ -17,7 +17,6 @@ #include "unit_animation.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "halo.hpp" #include "map.hpp" @@ -26,6 +25,8 @@ #include "resources.hpp" #include "play_controller.hpp" +#include + #include struct tag_name_manager { @@ -78,7 +79,7 @@ struct animation_branch config merge() const { config result = attributes; - foreach (const config::all_children_iterator &i, children) + BOOST_FOREACH(const config::all_children_iterator &i, children) result.add_child(i->key, i->cfg); return result; } @@ -99,7 +100,7 @@ struct animation_cursor animation_cursor(const config &cfg, animation_cursor *p): itors(cfg.all_children_range()), branches(p->branches), parent(p) { - foreach (animation_branch &ab, branches) + BOOST_FOREACH(animation_branch &ab, branches) ab.attributes.merge_attributes(cfg); } }; @@ -122,7 +123,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. - foreach (animation_branch &ab, ac.branches) { + BOOST_FOREACH(animation_branch &ab, ac.branches) { ab.children.push_back(ac.itors.first); } ++ac.itors.first; @@ -154,7 +155,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; - foreach (const config &anim, cfg.child_range(animation_tag)) { + BOOST_FOREACH(const config &anim, cfg.child_range(animation_tag)) { prepare_single_animation(anim, expanded_animations); } return expanded_animations; @@ -207,7 +208,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()); - foreach (const config::any_child &fr, cfg.all_children_range()) + BOOST_FOREACH(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; @@ -221,11 +222,11 @@ unit_animation::unit_animation(const config& cfg,const std::string& frame_string const map_location::DIRECTION d = map_location::parse_direction(*i); directions_.push_back(d); } - foreach (const config &filter, cfg.child_range("filter")) { + BOOST_FOREACH(const config &filter, cfg.child_range("filter")) { unit_filter_.push_back(filter); } - foreach (const config &filter, cfg.child_range("filter_second")) { + BOOST_FOREACH(const config &filter, cfg.child_range("filter_second")) { secondary_unit_filter_.push_back(filter); } @@ -253,10 +254,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())); } - foreach (const config &filter, cfg.child_range("filter_attack")) { + BOOST_FOREACH(const config &filter, cfg.child_range("filter_attack")) { primary_attack_filter_.push_back(filter); } - foreach (const config &filter, cfg.child_range("filter_second_attack")) { + BOOST_FOREACH(const config &filter, cfg.child_range("filter_second_attack")) { secondary_attack_filter_.push_back(filter); } play_offscreen_ = cfg["offscreen"].to_bool(true); @@ -487,7 +488,7 @@ static void add_simple_anim(std::vector &animations, display::tdrawing_layer layer = display::LAYER_UNIT_DEFAULT, bool offscreen = true) { - foreach (const animation_branch &ab, prepare_animation(cfg, tag_name)) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, tag_name)) { config anim = ab.merge(); anim["apply_to"] = apply_to; @@ -503,7 +504,7 @@ static void add_simple_anim(std::vector &animations, void unit_animation::add_anims( std::vector & animations, const config & cfg) { - foreach (const animation_branch &ab, prepare_animation(cfg, "animation")) { + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "animation")) { animations.push_back(unit_animation(ab.merge())); } @@ -519,7 +520,7 @@ 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"); - foreach (const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) { config anim = ab.merge(); anim["apply_to"] = "default"; @@ -528,7 +529,7 @@ void unit_animation::add_anims( std::vector & animations, const if (anim["offscreen"].empty()) anim["offscreen"] = false; animations.push_back(unit_animation(anim)); } - foreach (const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) { config anim = ab.merge(); anim["apply_to"] = "standing"; @@ -537,7 +538,7 @@ void unit_animation::add_anims( std::vector & animations, const if (anim["offscreen"].empty()) anim["offscreen"] = false; animations.push_back(unit_animation(anim)); } - foreach (const animation_branch &ab, prepare_animation(cfg, "healing_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healing_anim")) { config anim = ab.merge(); anim["apply_to"] = "healing"; @@ -546,7 +547,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - foreach (const animation_branch &ab, prepare_animation(cfg, "healed_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healed_anim")) { config anim = ab.merge(); anim["apply_to"] = "healed"; @@ -558,7 +559,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.back().sub_anims_["_healed_sound"].add_frame(1,frame_builder().sound("heal.wav"),true); } - foreach (const animation_branch &ab, prepare_animation(cfg, "poison_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "poison_anim")) { config anim = ab.merge(); anim["apply_to"] ="poisoned"; @@ -572,7 +573,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); - foreach (const animation_branch &ab, prepare_animation(cfg, "movement_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "movement_anim")) { config anim = ab.merge(); if (anim["offset"].empty()) { @@ -585,7 +586,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); - foreach (const animation_branch &ab, prepare_animation(cfg, "defend")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "defend")) { config anim = ab.merge(); anim["apply_to"] = "defend"; @@ -607,7 +608,7 @@ void unit_animation::add_anims( std::vector & animations, const else { std::vector v = utils::split(anim["hits"]); - foreach (const std::string &hit_type, v) + BOOST_FOREACH(const std::string &hit_type, v) { config tmp = anim; tmp["hits"] = hit_type; @@ -625,7 +626,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "draw_weapon_anim", "draw_wepaon", display::LAYER_UNIT_MOVE_DEFAULT); add_simple_anim(animations, cfg, "sheath_weapon_anim", "sheath_wepaon", display::LAYER_UNIT_MOVE_DEFAULT); - foreach (const animation_branch &ab, prepare_animation(cfg, "attack_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "attack_anim")) { config anim = ab.merge(); anim["apply_to"] = "attack"; @@ -646,7 +647,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - foreach (const animation_branch &ab, prepare_animation(cfg, "death")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "death")) { config anim = ab.merge(); anim["apply_to"] = "death"; @@ -663,7 +664,7 @@ void unit_animation::add_anims( std::vector & animations, const add_simple_anim(animations, cfg, "victory_anim", "victory"); - foreach (const animation_branch &ab, prepare_animation(cfg, "extra_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "extra_anim")) { config anim = ab.merge(); anim["apply_to"] = anim["flag"]; @@ -671,7 +672,7 @@ void unit_animation::add_anims( std::vector & animations, const animations.push_back(unit_animation(anim)); } - foreach (const animation_branch &ab, prepare_animation(cfg, "teleport_anim")) + BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "teleport_anim")) { config anim = ab.merge(); if (anim["layer"].empty()) anim["layer"] = default_layer; @@ -742,14 +743,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) { - foreach (const config &frame, range) { + BOOST_FOREACH(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"]; } - foreach (const config &frame, range) + BOOST_FOREACH(const config &frame, range) { unit_frame tmp_frame(frame); add_frame(tmp_frame.duration(),tmp_frame,!tmp_frame.does_not_change()); diff --git a/src/unit_display.cpp b/src/unit_display.cpp index a832f74c6e19..1aa024a26ab2 100644 --- a/src/unit_display.cpp +++ b/src/unit_display.cpp @@ -18,7 +18,6 @@ #include "global.hpp" #include "unit_display.hpp" -#include "foreach.hpp" #include "game_preferences.hpp" #include "game_events.hpp" #include "log.hpp" @@ -26,6 +25,7 @@ #include "resources.hpp" #include "terrain_filter.hpp" +#include #define LOG_DP LOG_STREAM(info, display) @@ -472,7 +472,7 @@ void unit_healing(unit &healed, const map_location &healed_loc, disp->display_unit_hex(healed_loc); unit_animator animator; - foreach (unit *h, healers) { + BOOST_FOREACH(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/unit_map.cpp b/src/unit_map.cpp index 5952fe0f5a69..3c5dcf2fa889 100644 --- a/src/unit_map.cpp +++ b/src/unit_map.cpp @@ -17,13 +17,14 @@ /** @file */ #include "unit_id.hpp" -#include "foreach.hpp" #include "log.hpp" #include "unit.hpp" #include #include "unit_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) @@ -444,7 +445,7 @@ bool unit_map::has_unit(const unit * const u) { assert(u); - foreach(const unit_pod& item, ilist_) { + BOOST_FOREACH(const unit_pod& item, ilist_) { if(item.unit == u) { return true; } diff --git a/src/unit_types.cpp b/src/unit_types.cpp index 6f7a38d7755b..b6046da2608b 100644 --- a/src/unit_types.cpp +++ b/src/unit_types.cpp @@ -22,13 +22,13 @@ #include "unit_types.hpp" -#include "foreach.hpp" #include "game_config.hpp" #include "gettext.hpp" #include "loadscreen.hpp" #include "log.hpp" #include "map.hpp" +#include static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) @@ -156,7 +156,7 @@ bool attack_type::apply_modification(const config& cfg,std::string* description) if (config &specials = cfg_.child("specials")) { config new_specials; - foreach (const config::any_child &vp, specials.all_children_range()) { + BOOST_FOREACH(const config::any_child &vp, specials.all_children_range()) { std::vector::const_iterator found_id = std::find(dsl.begin(), dsl.end(), vp.cfg["id"]); if (found_id == dsl.end()) { @@ -174,7 +174,7 @@ bool attack_type::apply_modification(const config& cfg,std::string* description) cfg_.clear_children("specials"); } config &new_specials = cfg_.child_or_add("specials"); - foreach (const config::any_child &value, set_specials.all_children_range()) { + BOOST_FOREACH(const config::any_child &value, set_specials.all_children_range()) { new_specials.add_child(value.key, value.cfg); } } @@ -345,7 +345,7 @@ utils::string_map unit_movement_type::damage_table() const if (const config &resistance = cfg_.child("resistance")) { - foreach (const config::attribute &i, resistance.attribute_range()) { + BOOST_FOREACH(const config::attribute &i, resistance.attribute_range()) { res[i.first] = i.second; } } @@ -666,11 +666,11 @@ void unit_type::build_full(const movement_type_map &mv_types, movementType_ = unit_movement_type(cfg); alpha_ = ftofxp(1.0); - foreach (const config &t, traits) + BOOST_FOREACH(const config &t, traits) { possibleTraits_.add_child("trait", t); } - foreach (config &var_cfg, cfg.child_range("variation")) + BOOST_FOREACH(config &var_cfg, cfg.child_range("variation")) { if (var_cfg["inherit"].to_bool()) { config nvar_cfg(cfg); @@ -710,7 +710,7 @@ void unit_type::build_full(const movement_type_map &mv_types, if (cfg["ignore_race_traits"].to_bool()) { possibleTraits_.clear(); } else { - foreach (const config &t, race_->additional_traits()) + BOOST_FOREACH(const config &t, race_->additional_traits()) { if (alignment_ != NEUTRAL || t["id"] != "fearless") possibleTraits_.add_child("trait", t); @@ -722,7 +722,7 @@ void unit_type::build_full(const movement_type_map &mv_types, } // Insert any traits that are just for this unit type - foreach (const config &trait, cfg.child_range("trait")) + BOOST_FOREACH(const config &trait, cfg.child_range("trait")) { possibleTraits_.add_child("trait", trait); } @@ -750,7 +750,7 @@ void unit_type::build_full(const movement_type_map &mv_types, game_config::add_color_info(cfg); - foreach (const config &portrait, cfg_.child_range("portrait")) { + BOOST_FOREACH(const config &portrait, cfg_.child_range("portrait")) { portraits_.push_back(tportrait(portrait)); } @@ -807,7 +807,7 @@ void unit_type::build_help_index(const movement_type_map &mv_types, if (const config &abil_cfg = cfg.child("abilities")) { - foreach (const config::any_child &ab, abil_cfg.all_children_range()) { + BOOST_FOREACH(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()); @@ -816,15 +816,15 @@ void unit_type::build_help_index(const movement_type_map &mv_types, } } - foreach (const config &adv, cfg.child_range("advancement")) + BOOST_FOREACH(const config &adv, cfg.child_range("advancement")) { - foreach (const config &effect, adv.child_range("effect")) + BOOST_FOREACH(const config &effect, adv.child_range("effect")) { const config &abil_cfg = effect.child("abilities"); if (!abil_cfg || effect["apply_to"] != "new_ability") { continue; } - foreach (const config::any_child &ab, abil_cfg.all_children_range()) { + BOOST_FOREACH(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()); @@ -934,7 +934,7 @@ const std::vector& unit_type::animations() const { std::vector unit_type::attacks() const { std::vector res; - foreach (const config &att, cfg_.child_range("attack")) { + BOOST_FOREACH(const config &att, cfg_.child_range("attack")) { res.push_back(attack_type(att)); } @@ -990,7 +990,7 @@ bool unit_type::has_ability_by_id(const std::string& ability) const { if (const config &abil = cfg_.child("abilities")) { - foreach (const config::any_child &ab, abil.all_children_range()) { + BOOST_FOREACH(const config::any_child &ab, abil.all_children_range()) { if (ab.cfg["id"] == ability) return true; } @@ -1005,7 +1005,7 @@ std::vector unit_type::get_ability_list() const const config &abilities = cfg_.child("abilities"); if (!abilities) return res; - foreach (const config::any_child &ab, abilities.all_children_range()) { + BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { const std::string &id = ab.cfg["id"]; if (!id.empty()) res.push_back(id); @@ -1077,7 +1077,7 @@ static void advancement_tree_internal(const std::string& id, std::setadvances_to()) { + BOOST_FOREACH(const std::string& adv, ut->advances_to()) { if (tree.insert(adv).second) { // insertion succeed, expand the new type advancement_tree_internal(adv, tree); @@ -1098,9 +1098,9 @@ const std::vector unit_type::advances_from() const unit_types.build_all(unit_type::HELP_INDEX); std::vector adv_from; - foreach (const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) { - foreach(const std::string& adv, ut.second.advances_to()) { + BOOST_FOREACH(const std::string& adv, ut.second.advances_to()) { if (adv == id_) adv_from.push_back(ut.second.id()); } @@ -1127,7 +1127,7 @@ void unit_type_data::set_config(config &cfg) clear(); set_unit_config(cfg); - foreach (const config &mt, cfg.child_range("movetype")) + BOOST_FOREACH(const config &mt, cfg.child_range("movetype")) { const unit_movement_type move_type(mt); movement_types_.insert( @@ -1135,14 +1135,14 @@ void unit_type_data::set_config(config &cfg) loadscreen::increment_progress(); } - foreach (const config &r, cfg.child_range("race")) + BOOST_FOREACH(const config &r, cfg.child_range("race")) { const unit_race race(r); races_.insert(std::pair(race.id(),race)); loadscreen::increment_progress(); } - foreach (config &ut, cfg.child_range("unit_type")) + BOOST_FOREACH(config &ut, cfg.child_range("unit_type")) { std::string id = ut["id"]; if (const config &bu = ut.child("base_unit")) @@ -1195,7 +1195,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 { - foreach(const std::string& type, types) { + BOOST_FOREACH(const std::string& type, types) { if(!find(type)) throw game::game_error("unknown unit type: " + type); } } @@ -1279,7 +1279,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()); - foreach(const std::string& t_id, trees) { + BOOST_FOREACH(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(); @@ -1310,7 +1310,7 @@ void unit_type_data::add_advancement(unit_type& to_unit) const { const config& cfg = to_unit.get_cfg(); - foreach (const config &af, cfg.child_range("advancefrom")) + BOOST_FOREACH(const config &af, cfg.child_range("advancefrom")) { const std::string &from = af["unit"]; int xp = af["experience"]; @@ -1349,12 +1349,12 @@ bool unit_type::not_living() 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. - foreach (const config &mod, possible_traits()) + BOOST_FOREACH(const config &mod, possible_traits()) { if (mod["availability"] != "musthave") continue; - foreach (const config &effect, mod.child_range("effect")) + BOOST_FOREACH(const config &effect, mod.child_range("effect")) { // See if the effect only applies to // certain unit types But don't worry diff --git a/src/variable.cpp b/src/variable.cpp index 5beaa82383ed..481397a11ad4 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -24,7 +24,6 @@ #include "variable.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "gamestatus.hpp" #include "log.hpp" @@ -34,6 +33,7 @@ #include "team.hpp" #include +#include static lg::log_domain log_engine("engine"); #define LOG_NG LOG_STREAM(info, log_engine) @@ -233,11 +233,11 @@ const config vconfig::get_parsed_config() const { config res; - foreach (const config::attribute &i, cfg_->attribute_range()) { + BOOST_FOREACH(const config::attribute &i, cfg_->attribute_range()) { res[i.first] = expand(i.first); } - foreach (const config::any_child &child, cfg_->all_children_range()) + BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) { if (child.key == "insert_tag") { vconfig insert_cfg(child.cfg); @@ -283,7 +283,7 @@ vconfig::child_list vconfig::get_children(const std::string& key) const { vconfig::child_list res; - foreach (const config::any_child &child, cfg_->all_children_range()) + BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) { if (child.key == key) { res.push_back(vconfig(&child.cfg, cache_key_)); @@ -319,7 +319,7 @@ vconfig vconfig::child(const std::string& key) const if (const config &natural = cfg_->child(key)) { return vconfig(&natural, cache_key_); } - foreach (const config &ins, cfg_->child_range("insert_tag")) + BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) { vconfig insert_cfg(ins); if(insert_cfg["name"] == key) { @@ -339,7 +339,7 @@ bool vconfig::has_child(const std::string& key) const if (cfg_->child(key)) { return true; } - foreach (const config &ins, cfg_->child_range("insert_tag")) + BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) { vconfig insert_cfg(ins); if(insert_cfg["name"] == key) { @@ -475,7 +475,7 @@ scoped_wml_variable::scoped_wml_variable(const std::string& var_name) : config &scoped_wml_variable::store(const config &var_value) { - foreach (const config &i, repos->get_variables().child_range(var_name_)) { + BOOST_FOREACH(const config &i, repos->get_variables().child_range(var_name_)) { previous_val_.add_child(var_name_, i); } repos->clear_variable_cfg(var_name_); @@ -489,7 +489,7 @@ scoped_wml_variable::~scoped_wml_variable() { if(activated_) { repos->clear_variable_cfg(var_name_); - foreach (const config &i, previous_val_.child_range(var_name_)) { + BOOST_FOREACH(const config &i, previous_val_.child_range(var_name_)) { repos->add_variable_cfg(var_name_, i); } LOG_NG << "scoped_wml_variable: var_name \"" << var_name_ << "\" has been reverted.\n"; diff --git a/src/video.cpp b/src/video.cpp index b15cc20680ac..c666308244a2 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -21,7 +21,6 @@ #include "global.hpp" #include "font.hpp" -#include "foreach.hpp" #include "image.hpp" #include "log.hpp" #include "preferences.hpp" @@ -29,6 +28,8 @@ #include "sdl_utils.hpp" #include "video.hpp" +#include + #include #include #include @@ -105,7 +106,7 @@ static void calc_rects() { events.clear(); - foreach (SDL_Rect const &rect, update_rects) { + BOOST_FOREACH(SDL_Rect const &rect, update_rects) { events.push_back(event(rect, true)); events.push_back(event(rect, false)); } @@ -354,7 +355,7 @@ void CVideo::make_test_fake(const unsigned width, int CVideo::bppForMode( int x, int y, int flags) { int test_values[3] = {getBpp(), 32, 16}; - foreach(int &bpp, test_values) { + BOOST_FOREACH(int &bpp, test_values) { if(modePossible(x, y, bpp, flags) > 0) { return bpp; } diff --git a/src/whiteboard/highlight_visitor.cpp b/src/whiteboard/highlight_visitor.cpp index 94bf8c8ec609..167060b65f0e 100644 --- a/src/whiteboard/highlight_visitor.cpp +++ b/src/whiteboard/highlight_visitor.cpp @@ -29,11 +29,12 @@ #include "suppose_dead.hpp" #include "arrow.hpp" -#include "foreach.hpp" #include "play_controller.hpp" #include "resources.hpp" #include "unit_map.hpp" +#include + namespace wb { @@ -147,7 +148,7 @@ void highlight_visitor::highlight() { //Highlight secondary highlights mode_ = HIGHLIGHT_SECONDARY; - foreach(weak_action_ptr weak, secondary_highlights_) + BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) { if (action_ptr action = weak.lock()) { @@ -169,7 +170,7 @@ void highlight_visitor::unhighlight() //unhighlight secondary highlights mode_ = UNHIGHLIGHT_SECONDARY; - foreach(weak_action_ptr weak, secondary_highlights_) + BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) { if (action_ptr action = weak.lock()) { @@ -178,7 +179,7 @@ void highlight_visitor::unhighlight() } //unhide other units if needed - foreach(map_location hex, exclusive_display_hexes_) + BOOST_FOREACH(map_location hex, exclusive_display_hexes_) { resources::screen->remove_exclusive_draw(hex); } diff --git a/src/whiteboard/manager.cpp b/src/whiteboard/manager.cpp index 243828fb02b6..652eb3f1e860 100644 --- a/src/whiteboard/manager.cpp +++ b/src/whiteboard/manager.cpp @@ -32,7 +32,6 @@ #include "actions.hpp" #include "arrow.hpp" #include "chat_events.hpp" -#include "foreach.hpp" #include "formula_string_utils.hpp" #include "game_preferences.hpp" #include "gettext.hpp" @@ -47,6 +46,8 @@ #include "unit_display.hpp" #include +#include + #include namespace wb { @@ -268,7 +269,7 @@ bool manager::allow_leader_to_move(unit const& leader) const } //Look for planned recruits that depend on this leader - foreach(action_const_ptr action, *viewer_actions()) + BOOST_FOREACH(action_const_ptr action, *viewer_actions()) { recruit_const_ptr recruit = boost::dynamic_pointer_cast(action); recall_const_ptr recall = boost::dynamic_pointer_cast(action); @@ -332,7 +333,7 @@ void manager::post_delete_action(action_ptr action) static void hide_all_plans() { - foreach(team& t, *resources::teams) + BOOST_FOREACH(team& t, *resources::teams) t.get_side_actions()->hide(); } @@ -344,7 +345,7 @@ void manager::update_plan_hiding(size_t team_index) hide_all_plans(); else //< normal circumstance { - foreach(team& t, *resources::teams) + BOOST_FOREACH(team& t, *resources::teams) { //make sure only appropriate teams are hidden if(!t.is_network_human()) @@ -498,7 +499,7 @@ void manager::pre_draw() if (can_modify_game_state() && has_actions()) { units_owning_moves_ = move_owners_finder().get_units_owning_moves(); - foreach(size_t unit_id, units_owning_moves_) + BOOST_FOREACH(size_t unit_id, units_owning_moves_) { unit_map::iterator unit_iter = resources::units->find(unit_id); assert(unit_iter.valid()); @@ -509,7 +510,7 @@ void manager::pre_draw() void manager::post_draw() { - foreach(size_t unit_id, units_owning_moves_) + BOOST_FOREACH(size_t unit_id, units_owning_moves_) { unit_map::iterator unit_iter = resources::units->find(unit_id); if (unit_iter.valid()) { @@ -558,7 +559,7 @@ void manager::draw_hex(const map_location& hex) //Info about the action numbers to be displayed on screen. side_actions::numbers_t numbers; - foreach(team& t, *resources::teams) + BOOST_FOREACH(team& t, *resources::teams) { side_actions& sa = *t.get_side_actions(); if(!sa.hidden()) @@ -571,7 +572,7 @@ void manager::draw_hex(const map_location& hex) void manager::on_mouseover_change(const map_location& hex) { - foreach(map_location const& hex, hidden_unit_hexes_) + BOOST_FOREACH(map_location const& hex, hidden_unit_hexes_) resources::screen->remove_exclusive_draw(hex); hidden_unit_hexes_.clear(); @@ -636,7 +637,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); - foreach(side_actions::net_cmd const& cmd, wb_cfg.child_range("net_cmd")) + BOOST_FOREACH(side_actions::net_cmd const& cmd, wb_cfg.child_range("net_cmd")) team_from.get_side_actions()->execute_net_cmd(cmd); } } @@ -1138,7 +1139,7 @@ void manager::options_dlg() options.push_back(_("HIDE ALL allies’ plans")); //populate list of networked allies - foreach(team &t, *resources::teams) + BOOST_FOREACH(team &t, *resources::teams) { //Exclude enemies, AIs, and local players if(t.is_enemy(v_side) || !t.is_network()) @@ -1164,11 +1165,11 @@ void manager::options_dlg() switch(selection) { case 0: - foreach(team* t, allies) + BOOST_FOREACH(team* t, allies) team_plans_hidden_[t->side()-1]=false; break; case 1: - foreach(team* t, allies) + BOOST_FOREACH(team* t, allies) team_plans_hidden_[t->side()-1]=true; break; default: diff --git a/src/whiteboard/mapbuilder.cpp b/src/whiteboard/mapbuilder.cpp index 5b32c15fa583..341063b631bb 100644 --- a/src/whiteboard/mapbuilder.cpp +++ b/src/whiteboard/mapbuilder.cpp @@ -24,12 +24,13 @@ #include "side_actions.hpp" #include "utility.hpp" -#include "foreach.hpp" #include "play_controller.hpp" #include "resources.hpp" #include "unit.hpp" #include "unit_map.hpp" +#include + namespace wb { @@ -51,14 +52,14 @@ mapbuilder::~mapbuilder() void mapbuilder::pre_build() { - foreach(team& t, *resources::teams) + BOOST_FOREACH(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(); - foreach(unit& u, *resources::units) + BOOST_FOREACH(unit& u, *resources::units) { bool on_current_side = (u.side() == current_side); diff --git a/src/whiteboard/move.cpp b/src/whiteboard/move.cpp index 4b1afae83ea1..4c81a6486176 100644 --- a/src/whiteboard/move.cpp +++ b/src/whiteboard/move.cpp @@ -26,7 +26,6 @@ #include "arrow.hpp" #include "config.hpp" -#include "foreach.hpp" #include "game_end_exceptions.hpp" #include "mouse_events.hpp" #include "play_controller.hpp" @@ -37,6 +36,8 @@ #include "unit_display.hpp" #include "unit_map.hpp" +#include + namespace wb { std::ostream& operator<<(std::ostream &s, move_ptr move) @@ -108,10 +109,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"]; - foreach(config const& loc_cfg, route_cfg.child_range("step")) { + BOOST_FOREACH(config const& loc_cfg, route_cfg.child_range("step")) { route_->steps.push_back(map_location(loc_cfg["x"],loc_cfg["y"])); } - foreach(config const& mark_cfg, route_cfg.child_range("mark")) { + BOOST_FOREACH(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"],mark_cfg["capture"],mark_cfg["invisible"]); } @@ -470,7 +471,7 @@ config move::to_config() const //Serialize route_ config route_cfg; route_cfg["move_cost"]=route_->move_cost; - foreach(map_location const& loc, route_->steps) + BOOST_FOREACH(map_location const& loc, route_->steps) { config loc_cfg; loc_cfg["x"]=loc.x; @@ -478,7 +479,7 @@ config move::to_config() const route_cfg.add_child("step",loc_cfg); } typedef std::pair pair_loc_mark; - foreach(pair_loc_mark const& item, route_->marks) + BOOST_FOREACH(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 1ade9f9a4478..6a0cfb6e4169 100644 --- a/src/whiteboard/recall.cpp +++ b/src/whiteboard/recall.cpp @@ -24,7 +24,6 @@ #include "utility.hpp" #include "visitor.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "menu_events.hpp" #include "play_controller.hpp" @@ -32,6 +31,8 @@ #include "team.hpp" #include "unit.hpp" +#include + namespace wb { @@ -71,7 +72,7 @@ recall::recall(config const& cfg, bool hidden) { // Construct and validate temp_unit_ size_t underlying_id = cfg["temp_unit_"]; - foreach(unit const& recall_unit, resources::teams->at(team_index()).recall_list()) + BOOST_FOREACH(unit const& 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 906d8b926359..aba6edf37a9c 100644 --- a/src/whiteboard/side_actions.cpp +++ b/src/whiteboard/side_actions.cpp @@ -31,12 +31,13 @@ #include "validate_visitor.hpp" #include "actions.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_end_exceptions.hpp" #include "map.hpp" #include "resources.hpp" +#include + #include #include @@ -48,13 +49,13 @@ std::ostream &operator<<(std::ostream &s, wb::side_actions const& side_actions) { s << "Content of side_actions:"; int turn = 1; - foreach(action_queue const& turn_queue, side_actions.actions()) + BOOST_FOREACH(action_queue const& turn_queue, side_actions.actions()) { s << "\n Turn " << turn; ++turn; int count = 1; - foreach(action_ptr const& action, turn_queue) + BOOST_FOREACH(action_ptr const& action, turn_queue) { s << "\n (" << count << ") " << action; ++count; @@ -114,7 +115,7 @@ void side_actions::get_numbers(const map_location& hex, numbers_t& result) main_number = index; } - foreach(weak_action_ptr action, highlighter->get_secondary_highlights()) + BOOST_FOREACH(weak_action_ptr action, highlighter->get_secondary_highlights()) { if (action.lock() == *it) { @@ -199,7 +200,7 @@ bool side_actions::execute(side_actions::iterator position) size_t side_actions::size() const { size_t result = 0; - foreach(action_queue const& queue, actions_) + BOOST_FOREACH(action_queue const& queue, actions_) result += queue.size(); return result; } @@ -234,7 +235,7 @@ void side_actions::hide() return; } - foreach(action_ptr act, *this) + BOOST_FOREACH(action_ptr act, *this) act->hide(); } void side_actions::show() @@ -244,7 +245,7 @@ void side_actions::show() hidden_ = false; - foreach(action_ptr act, *this) + BOOST_FOREACH(action_ptr act, *this) act->show(); } @@ -507,7 +508,7 @@ bool side_actions::unit_has_actions(unit const* unit) size_t side_actions::count_actions_of(unit const* unit) { size_t count = 0; - foreach(action_ptr action, *this) + BOOST_FOREACH(action_ptr action, *this) { if (action->get_unit() == unit) { @@ -783,7 +784,7 @@ void side_actions::execute_net_cmd(net_cmd const& cmd) else if(type=="refresh") { safe_clear(); - foreach(net_cmd const& sub_cmd, cmd.child_range("net_cmd")) + BOOST_FOREACH(net_cmd const& sub_cmd, cmd.child_range("net_cmd")) execute_net_cmd(sub_cmd); } else @@ -890,7 +891,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; - foreach(action_ptr const& act, iter_turn(0)) + BOOST_FOREACH(action_ptr const& act, iter_turn(0)) { unit const* u = act->get_unit(); if(u) @@ -913,7 +914,7 @@ void side_actions::raw_turn_shift() } //push any remaining first-turn plans into the second turn - foreach(action_ptr act, actions_.front()) + BOOST_FOREACH(action_ptr act, actions_.front()) actions_[1].push_front(act); actions_.front().clear(); diff --git a/src/whiteboard/suppose_dead.cpp b/src/whiteboard/suppose_dead.cpp index ebd4378037c7..27b7ad215d58 100644 --- a/src/whiteboard/suppose_dead.cpp +++ b/src/whiteboard/suppose_dead.cpp @@ -26,7 +26,6 @@ #include "arrow.hpp" #include "config.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "game_end_exceptions.hpp" #include "mouse_events.hpp" diff --git a/src/whiteboard/utility.cpp b/src/whiteboard/utility.cpp index d37975c9b111..afe3e223cf13 100644 --- a/src/whiteboard/utility.cpp +++ b/src/whiteboard/utility.cpp @@ -22,7 +22,6 @@ #include "manager.hpp" #include "actions.hpp" -#include "foreach.hpp" #include "game_display.hpp" #include "map.hpp" #include "play_controller.hpp" @@ -30,6 +29,8 @@ #include "team.hpp" #include "unit.hpp" +#include + namespace wb { size_t viewer_team() @@ -60,7 +61,7 @@ unit const* find_backup_leader(unit const& leader) { assert(leader.can_recruit()); assert(resources::game_map->is_keep(leader.get_location())); - foreach(unit const& unit, *resources::units) + BOOST_FOREACH(unit const& unit, *resources::units) { if (unit.can_recruit() && resources::game_map->is_keep(unit.get_location()) && @@ -83,7 +84,7 @@ unit* find_recruiter(size_t team_index, map_location const& hex) if(!map.is_castle(hex)) return NULL; - foreach(unit& u, *resources::units) + BOOST_FOREACH(unit& u, *resources::units) if(u.can_recruit() && u.side() == static_cast(team_index+1) && can_recruit_on(map,u.get_location(),hex)) @@ -124,7 +125,7 @@ int path_cost(std::vector const& path, unit const& u) int result = 0; gamemap const& map = *resources::game_map; - foreach(map_location const& loc, std::make_pair(path.begin()+1,path.end())) + BOOST_FOREACH(map_location const& loc, std::make_pair(path.begin()+1,path.end())) result += u.movement_cost(map[loc]); return result; } @@ -149,7 +150,7 @@ void unghost_owner_unit(unit* unit) bool has_actions() { - foreach(team& t, *resources::teams) + BOOST_FOREACH(team& t, *resources::teams) if (!t.get_side_actions()->empty()) return true; diff --git a/src/whiteboard/validate_visitor.cpp b/src/whiteboard/validate_visitor.cpp index 00bd5896e4d8..6fe299df60db 100644 --- a/src/whiteboard/validate_visitor.cpp +++ b/src/whiteboard/validate_visitor.cpp @@ -28,12 +28,13 @@ #include "utility.hpp" #include "arrow.hpp" -#include "foreach.hpp" #include "pathfind/pathfind.hpp" #include "play_controller.hpp" #include "resources.hpp" #include "team.hpp" +#include + namespace wb { @@ -60,7 +61,7 @@ bool validate_visitor::validate_actions() { int side_actions_size_before = viewer_actions_.size(); LOG_WB << "Erasing " << actions_to_erase_.size() << " invalid actions.\n"; - foreach(action_ptr action, actions_to_erase_) + BOOST_FOREACH(action_ptr action, actions_to_erase_) { viewer_actions_.remove_action(viewer_actions_.get_position_of(action), false); } diff --git a/src/whiteboard/visitor.hpp b/src/whiteboard/visitor.hpp index bed8334e7935..f340bb582d3f 100644 --- a/src/whiteboard/visitor.hpp +++ b/src/whiteboard/visitor.hpp @@ -33,11 +33,11 @@ #include "action.hpp" #include "side_actions.hpp" -#include "foreach.hpp" #include "play_controller.hpp" #include "resources.hpp" #include +#include namespace wb { @@ -81,7 +81,7 @@ class enable_visit_all //Determine how many turns' worth of plans there are size_t max_turns = 0; - foreach(team& t, *resources::teams) + BOOST_FOREACH(team& t, *resources::teams) max_turns = std::max(max_turns,t.get_side_actions()->num_turns()); size_t const current_team = resources::controller->current_side() - 1;