summaryrefslogtreecommitdiff
path: root/community-testing/wesnoth/boost_foreach.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing/wesnoth/boost_foreach.patch')
-rw-r--r--community-testing/wesnoth/boost_foreach.patch11890
1 files changed, 0 insertions, 11890 deletions
diff --git a/community-testing/wesnoth/boost_foreach.patch b/community-testing/wesnoth/boost_foreach.patch
deleted file mode 100644
index 95b98828e..000000000
--- a/community-testing/wesnoth/boost_foreach.patch
+++ /dev/null
@@ -1,11890 +0,0 @@
-------------------------------------------------------------------------
-r54625 | loonycyborg | 2012-07-08 16:26:21 +0200 (So, 08 Jul 2012) | 5 lines
-
-Backport r54604: Use BOOST_FOREACH directly instead of #define foreach BOOST_FOREACH
-
-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
-
-Index: src/foreach.hpp (deleted)
-===================================================================
-Index: src/scripting/lua.cpp
-===================================================================
---- src/scripting/lua.cpp (revision 54624)
-+++ src/scripting/lua.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- {
- 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 @@
- 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 @@
- const std::vector<std::string>& 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 @@
- 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 @@
- std::set<std::string> 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 @@
-
- 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 @@
- 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<team**>(lua_newuserdata(L, sizeof(team*)));
- *t = &((*resources::teams)[side - 1]);
-@@ -3247,7 +3248,7 @@
- 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 @@
- , static_cast<void *>(const_cast<char *>(&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 @@
- 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 @@
-
- // 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 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 @@
-
- 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::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);
- }
-
-Index: src/dialogs.cpp
-===================================================================
---- src/dialogs.cpp (revision 54624)
-+++ src/dialogs.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- //#ifdef _WIN32
- //#include "locale.h"
-@@ -95,7 +95,7 @@
- }
-
- 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 @@
- }
-
- //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 @@
- // 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()
-Index: src/menu_events.cpp
-===================================================================
---- src/menu_events.cpp (revision 54624)
-+++ src/menu_events.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define ERR_NG LOG_STREAM(err, log_engine)
-@@ -863,7 +863,7 @@
-
-
- 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 @@
- 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 @@
- 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 @@
- _("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 @@
- std::vector<std::string> get_commands_list() const
- {
- std::vector<std::string> 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 @@
-
- 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 @@
- 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_choose_level() {
- std::vector<std::string> 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 @@
- // 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_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());
- }
- }
-Index: src/multiplayer_wait.cpp
-===================================================================
---- src/multiplayer_wait.cpp (revision 54624)
-+++ src/multiplayer_wait.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- //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 @@
- color = game_config::color_info(color_str).index() - 1;
-
- std::vector<const config *> leader_sides;
-- foreach (const config &side, possible_sides) {
-+ BOOST_FOREACH(const config &side, possible_sides) {
- leader_sides.push_back(&side);
- }
-
-@@ -287,7 +288,7 @@
- }
-
- std::vector<std::string> 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 @@
- std::vector<std::string> details;
- std::vector<std::string> 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 @@
- // 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();
-Index: src/serialization/schema_validator.cpp
-===================================================================
---- src/serialization/schema_validator.cpp (revision 54624)
-+++ src/serialization/schema_validator.cpp (revision 54625)
-@@ -17,12 +17,13 @@
-
-
- #include "filesystem.hpp"
--#include "foreach.hpp"
- #include "gettext.hpp"
- #include "log.hpp"
- #include "serialization/preprocessor.hpp"
- #include "wml_exception.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace schema_validation{
-
- static lg::log_domain log_validation("validation");
-@@ -143,14 +144,14 @@
- } 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());
- }
-Index: src/serialization/preprocessor.cpp
-===================================================================
---- src/serialization/preprocessor.cpp (revision 54624)
-+++ src/serialization/preprocessor.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <stdexcept>
-
- static lg::log_domain log_config("config");
-@@ -64,7 +65,7 @@
- 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 @@
- writer.write_key_val("linenum", lexical_cast<std::string>(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 @@
- 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 @@
- 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: "<<dir<<'\n';
- preprocess_resource(dir,defines_map,write_cfg,write_plain_cfg,target_directory);
- }
-
- // files in current directory
-- foreach(const std::string& file, files)
-+ BOOST_FOREACH(const std::string& file, files)
- {
- preprocess_resource(file,defines_map,write_cfg,write_plain_cfg,target_directory);
- }
-Index: src/serialization/parser.cpp
-===================================================================
---- src/serialization/parser.cpp (revision 54624)
-+++ src/serialization/parser.cpp (revision 54625)
-@@ -32,7 +32,6 @@
- #include "serialization/tokenizer.hpp"
- #include "serialization/string_utils.hpp"
- #include "serialization/validator.hpp"
--#include "foreach.hpp"
-
- #include <stack>
-
-@@ -40,6 +39,7 @@
- #include <boost/iostreams/filter/gzip.hpp>
- #include <boost/algorithm/string/replace.hpp>
- #include <boost/variant.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_config("config");
- #define ERR_CF LOG_STREAM(err, log_config)
-@@ -343,7 +343,7 @@
- {
- 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 @@
- 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);
-Index: src/game_controller_abstract.cpp
-===================================================================
---- src/game_controller_abstract.cpp (revision 54624)
-+++ src/game_controller_abstract.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iostream>
-
- game_controller_abstract::game_controller_abstract(const commandline_options &cmdline_opts) :
-@@ -80,7 +81,7 @@
- language_def locale;
- if(cmdline_opts_.language) {
- std::vector<language_def> 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;
-Index: src/terrain.cpp
-===================================================================
---- src/terrain.cpp (revision 54624)
-+++ src/terrain.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <set>
-
- static lg::log_domain log_config("config");
-@@ -284,7 +285,7 @@
- t_translation::t_list& terrain_list,
- std::map<t_translation::t_terrain, terrain_type>& 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 @@
- std::vector<std::string> eg2 = utils::split(terrain.editor_group());
- std::set<std::string> 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);
-Index: src/config.cpp
-===================================================================
---- src/config.cpp (revision 54624)
-+++ src/config.cpp (revision 54625)
-@@ -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 <cstring>
- #include <deque>
- #include <boost/variant.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_config("config");
- #define ERR_CF LOG_STREAM(err, log_config)
-@@ -255,7 +255,7 @@
- {
- 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(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 @@
- 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 @@
-
- typedef std::map<std::string, config> 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 @@
- }
-
- 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 @@
- 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 @@
-
- values.erase(key);
-
-- foreach (const any_child &value, all_children_range()) {
-+ BOOST_FOREACH(const any_child &value, all_children_range()) {
- const_cast<config *>(&value.cfg)->recursive_clear_value(key);
- }
- }
-@@ -506,7 +506,7 @@
- /* 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 @@
- 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 @@
- 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<size_t>(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 @@
- }
- }
-
-- 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<size_t>(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<size_t>(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::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<size_t>(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<size_t>(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 @@
- 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<config *>(&value.cfg)->remove_attribute(diff_track_attribute);
- }
- }
-@@ -984,20 +984,20 @@
- {
- 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 @@
- {
- 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 @@
- 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 @@
- }
- }
-
-- 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) {
-Index: src/soundsource.cpp
-===================================================================
---- src/soundsource.cpp (revision 54624)
-+++ src/soundsource.cpp (revision 54625)
-@@ -17,7 +17,6 @@
-
-
- #include "display.hpp"
--#include "foreach.hpp"
- #include "log.hpp"
- #include "serialization/string_utils.hpp"
- #include "sound.hpp"
-Index: src/sound.cpp
-===================================================================
---- src/sound.cpp (revision 54624)
-+++ src/sound.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <list>
-
- static lg::log_domain log_audio("audio");
-@@ -596,7 +597,7 @@
- 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 @@
- {
- // 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;
- }
-Index: src/game_preferences.cpp
-===================================================================
---- src/game_preferences.cpp (revision 54624)
-+++ src/game_preferences.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_config("config");
- #define ERR_CFG LOG_STREAM(err , log_config)
-
-@@ -112,9 +113,9 @@
- 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 @@
- */
- config history;
- typedef std::pair<std::string, std::vector<std::string> > 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 @@
- std::vector<game_config::server_info> &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_recallable_units(std::vector<team>& 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());
- }
- }
-Index: src/map_label.cpp
-===================================================================
---- src/map_label.cpp (revision 54624)
-+++ src/map_label.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- //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 @@
- {
- 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_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::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 @@
-
- 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();
- }
-Index: src/actions.cpp
-===================================================================
---- src/actions.cpp (revision 54624)
-+++ src/actions.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define DBG_NG LOG_STREAM(debug, log_engine)
-@@ -206,7 +206,7 @@
- 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 @@
- 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 @@
- }
-
- 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 @@
-
- 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 @@
- // 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 @@
- std::list<unit_healing_struct> 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 @@
- }
-
- 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 @@
-
- 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 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 @@
-
- std::set<map_location> 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 @@
- */
-
- std::set<map_location> 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());
- }
-Index: src/font.cpp
-===================================================================
---- src/font.cpp (revision 54624)
-+++ src/font.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <list>
- #include <set>
- #include <stack>
-@@ -355,10 +356,10 @@
- #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<std::string> 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 @@
- #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<std::string> 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 @@
- 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 @@
- 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 @@
- 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 @@
- return false;
-
- std::set<std::string> 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"]);
- }
-
-Index: src/unit_animation.cpp
-===================================================================
---- src/unit_animation.cpp (revision 54624)
-+++ src/unit_animation.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <algorithm>
-
- struct tag_name_manager {
-@@ -78,7 +79,7 @@
- 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 @@
- 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 @@
- 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 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 @@
- 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 @@
- 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 @@
- 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 @@
- 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 @@
-
- void unit_animation::add_anims( std::vector<unit_animation> & 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 @@
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- 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 @@
-
- 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 @@
-
- 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 @@
- else
- {
- std::vector<std::string> 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 @@
- 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 @@
- 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 @@
-
- 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 @@
- 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 @@
- 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());
-Index: src/storyscreen/render.cpp
-===================================================================
---- src/storyscreen/render.cpp (revision 54624)
-+++ src/storyscreen/render.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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_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 @@
- 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()) {
-Index: src/storyscreen/interface.cpp
-===================================================================
---- src/storyscreen/interface.cpp (revision 54624)
-+++ src/storyscreen/interface.cpp (revision 54625)
-@@ -19,7 +19,6 @@
- */
-
- #include "global.hpp"
--#include "foreach.hpp"
- #include "variable.hpp"
-
- #include "storyscreen/interface.hpp"
-Index: src/storyscreen/controller.cpp
-===================================================================
---- src/storyscreen/controller.cpp (revision 54624)
-+++ src/storyscreen/controller.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- // 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);
-Index: src/storyscreen/part.cpp
-===================================================================
---- src/storyscreen/part.cpp (revision 54624)
-+++ src/storyscreen/part.cpp (revision 54625)
-@@ -20,7 +20,6 @@
-
- #include "global.hpp"
- #include "asserts.hpp"
--#include "foreach.hpp"
- #include "log.hpp"
- #include "resources.hpp"
- #include "storyscreen/part.hpp"
-Index: src/game.cpp
-===================================================================
---- src/game.cpp (revision 54624)
-+++ src/game.cpp (revision 54625)
-@@ -40,6 +40,7 @@
- #include <fstream>
- #include <libintl.h>
-
-+#include <boost/foreach.hpp>
- #include <boost/iostreams/copy.hpp>
- #include <boost/iostreams/filter/gzip.hpp>
-
-@@ -218,7 +219,7 @@
- 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 @@
- 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 @@
- 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();
-Index: src/playsingle_controller.cpp
-===================================================================
---- src/playsingle_controller.cpp (revision 54624)
-+++ src/playsingle_controller.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
-
- // 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 @@
- 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 @@
- }
-
- int persistent_teams = 0;
-- foreach (const team &t, teams_) {
-+ BOOST_FOREACH(const team &t, teams_) {
- if (t.persistent()) ++persistent_teams;
- }
-
-@@ -953,7 +954,7 @@
- int turns_left = std::max<int>(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);
-Index: src/controller_base.cpp
-===================================================================
---- src/controller_base.cpp (revision 54624)
-+++ src/controller_base.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_display("display");
- #define ERR_DP LOG_STREAM(err, log_display)
-
-@@ -144,7 +145,7 @@
- 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;
- }
-Index: src/gamestatus.cpp
-===================================================================
---- src/gamestatus.cpp (revision 54624)
-+++ src/gamestatus.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #ifndef _MSC_VER
- #include <sys/time.h>
-@@ -178,9 +178,9 @@
- 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 @@
- (*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 @@
- //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 @@
- 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 @@
- //{
- 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 @@
- 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 @@
- // 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 @@
- 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 @@
- //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 @@
- "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 @@
- .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::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];
-Index: src/log.cpp
-===================================================================
---- src/log.cpp (revision 54624)
-+++ src/log.cpp (revision 54625)
-@@ -25,8 +25,9 @@
- #include "SDL.h"
-
- #include "log.hpp"
--#include "foreach.hpp"
-
-+#include <boost/foreach.hpp>
-+
- #include <map>
- #include <sstream>
- #include <ctime>
-@@ -88,11 +89,11 @@
- {
- 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 @@
- 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";
- }
-Index: src/replay_controller.cpp
-===================================================================
---- src/replay_controller.cpp (revision 54624)
-+++ src/replay_controller.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define DBG_NG LOG_STREAM(debug, log_engine)
-
-@@ -417,7 +418,7 @@
- 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();
- }
-Index: src/multiplayer_ui.cpp
-===================================================================
---- src/multiplayer_ui.cpp (revision 54624)
-+++ src/multiplayer_ui.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- {
- std::list<user_info> 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 res = -1, index = 0, best_score = 0;
-- foreach (const config *faction, fl)
-+ BOOST_FOREACH(const config *faction, fl)
- {
- int faction_score = 0;
- std::vector<std::string> 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;
-Index: src/display.cpp
-===================================================================
---- src/display.cpp (revision 54624)
-+++ src/display.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #ifdef __SUNPRO_CC
- // GCC doesn't have hypot in cmath so include it for Sun Studio
- #include <math.h>
-@@ -629,7 +630,7 @@
- // now get the surfaces
- std::vector<surface> 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 @@
- * 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 @@
- int ticks3 = SDL_GetTicks();
- LOG_DP << "invalidate and draw: " << (ticks3 - ticks2) << " and " << (ticks2 - ticks1) << "\n";
-
-- foreach (boost::function<void(display&)> f, redraw_observers_) {
-+ BOOST_FOREACH(boost::function<void(display&)> f, redraw_observers_) {
- f(*this);
- }
-
-@@ -1992,7 +1993,7 @@
- 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 @@
- // 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 @@
- 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 @@
- 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 @@
- 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::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::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::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);
- }
-Index: src/about.cpp
-===================================================================
---- src/about.cpp (revision 54624)
-+++ src/about.cpp (revision 54625)
-@@ -22,10 +22,11 @@
-
- #include "construct_dialog.hpp"
- #include "display.hpp"
--#include "foreach.hpp"
- #include "gettext.hpp"
- #include "marked-up_text.hpp"
-
-+#include <boost/foreach.hpp>
-+
- /**
- * @namespace about
- * Display credits %about all contributors.
-@@ -52,7 +53,7 @@
- }
-
- std::vector<std::string> 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 @@
- }
- }
-
-- 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 @@
- 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 @@
- }
- }
-
-- foreach (const config &about, about_entries) {
-+ BOOST_FOREACH(const config &about, about_entries) {
- add_lines(res, about);
- }
-
-@@ -101,7 +102,7 @@
- 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 @@
- }
- }
-
-- 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 @@
- 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 @@
- 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';
- }
-Index: src/arrow.cpp
-===================================================================
---- src/arrow.cpp (revision 54624)
-+++ src/arrow.cpp (revision 54625)
-@@ -20,11 +20,12 @@
-
- #include "arrow.hpp"
-
--#include "foreach.hpp"
- #include "game_display.hpp"
- #include "log.hpp"
- #include "resources.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- {
- if(!SCREEN) return;
-
-- foreach(map_location const& loc, path)
-+ BOOST_FOREACH(map_location const& loc, path)
- {
- SCREEN->invalidate(loc);
- }
-Index: src/game_display.cpp
-===================================================================
---- src/game_display.cpp (revision 54624)
-+++ src/game_display.cpp (revision 54625)
-@@ -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 @@
- #include "sound.hpp"
- #include "whiteboard/manager.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
- 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 @@
-
- // 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_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()
- {
- 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*> 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 @@
- {
- 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 @@
- }
- }
-
-- 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);
- }
-Index: src/formula_function.cpp
-===================================================================
---- src/formula_function.cpp (revision 54624)
-+++ src/formula_function.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #ifdef HAVE_VISUAL_LEAK_DETECTOR
- #include "vld.h"
- #endif
-@@ -46,7 +46,7 @@
- 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 @@
-
- std::string result;
-
-- foreach(expression_ptr arg, args()) {
-+ BOOST_FOREACH(expression_ptr arg, args()) {
- result += arg->evaluate(variables, fdb).string_cast();
- }
-
-Index: src/unit_map.cpp
-===================================================================
---- src/unit_map.cpp (revision 54624)
-+++ src/unit_map.cpp (revision 54625)
-@@ -17,13 +17,14 @@
- /** @file */
-
- #include "unit_id.hpp"
--#include "foreach.hpp"
- #include "log.hpp"
- #include "unit.hpp"
-
- #include <functional>
- #include "unit_map.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- {
- assert(u);
-
-- foreach(const unit_pod& item, ilist_) {
-+ BOOST_FOREACH(const unit_pod& item, ilist_) {
- if(item.unit == u) {
- return true;
- }
-Index: src/pathfind/teleport.cpp
-===================================================================
---- src/pathfind/teleport.cpp (revision 54624)
-+++ src/pathfind/teleport.cpp (revision 54625)
-@@ -19,7 +19,7 @@
- #include "log.hpp"
- #include "resources.hpp"
-
--#include "foreach.hpp"
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define ERR_PF LOG_STREAM(err, log_engine)
-@@ -108,16 +108,16 @@
- , 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);
-Index: src/pathfind/astarsearch.cpp
-===================================================================
---- src/pathfind/astarsearch.cpp (revision 54624)
-+++ src/pathfind/astarsearch.cpp (revision 54625)
-@@ -20,7 +20,6 @@
- #include "map.hpp"
- #include "pathfind/pathfind.hpp"
- #include "pathfind/teleport.hpp"
--#include "foreach.hpp"
-
- #include <queue>
- #include <map>
-Index: src/pathfind/pathfind.cpp
-===================================================================
---- src/pathfind/pathfind.cpp (revision 54624)
-+++ src/pathfind/pathfind.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iostream>
- #include <vector>
- #include <algorithm>
-@@ -59,7 +60,7 @@
- std::set<map_location> 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 @@
- 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
-Index: src/time_of_day.cpp
-===================================================================
---- src/time_of_day.cpp (revision 54624)
-+++ src/time_of_day.cpp (revision 54625)
-@@ -16,9 +16,9 @@
- /** @file */
-
- #include "config.hpp"
--#include "foreach.hpp"
- #include "time_of_day.hpp"
-
-+#include <boost/foreach.hpp>
-
- 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::parse_times(const config& cfg, std::vector<time_of_day>& 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));
- }
-
-Index: src/persist_manager.cpp
-===================================================================
---- src/persist_manager.cpp (revision 54624)
-+++ src/persist_manager.cpp (revision 54625)
-@@ -16,7 +16,7 @@
- #include "persist_context.hpp"
- #include "persist_manager.hpp"
-
--#include "foreach.hpp"
-+#include <boost/foreach.hpp>
-
- persist_context &persist_manager::get_context(const std::string &ns)
- {
-@@ -36,7 +36,7 @@
- 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::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::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;
-Index: src/side_filter.cpp
-===================================================================
---- src/side_filter.cpp (revision 54624)
-+++ src/side_filter.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine_sf("engine/side_filter");
- #define ERR_NG LOG_STREAM(err, log_engine_sf)
-
-@@ -61,7 +62,7 @@
- {
- //@todo: replace with better implementation
- std::vector<int> 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 @@
- else {
- const std::vector<std::string>& 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 @@
- 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 @@
- }
- if(!found && unit_filter["search_recall_list"].to_bool(false)) {
- const std::vector<unit>& 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 @@
- side_filter s_filter(enemy_of);
- const std::vector<int>& 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 @@
- side_filter s_filter(allied_with);
- const std::vector<int>& 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;
- }
-Index: src/theme.cpp
-===================================================================
---- src/theme.cpp (revision 54624)
-+++ src/theme.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- static lg::log_domain log_display("display");
- #define DBG_DP LOG_STREAM(debug, log_display)
-@@ -162,7 +162,7 @@
- {
- std::vector<config> 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<const config*> parent_stack(1, &part);
-@@ -182,11 +182,11 @@
- 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 @@
- // 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 @@
- }
- }
- // 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 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 @@
-
- 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 @@
-
- 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<std::string, status_item>(i.key, status_item(i.cfg)));
- }
- if (const config &unit_image_cfg = status_cfg.child("unit_image")) {
-@@ -621,19 +621,19 @@
- }
- }
-
-- 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 @@
- }
-
- // 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 @@
- }
-
- // 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 @@
- 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 @@
-
- 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;
-Index: src/addon/manager.cpp
-===================================================================
---- src/addon/manager.cpp (revision 54624)
-+++ src/addon/manager.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
-
- 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 @@
- 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 @@
- std::vector< std::string > unsafe_matches;
- std::ostringstream unsafe_list;
- std::map<std::string, version_info> 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 @@
- 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 @@
- std::vector<version_info> safe_local_versions;
- std::vector<version_info> unsafe_local_versions;
- std::map<std::string, version_info> 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 @@
- 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 @@
- const std::string& addon,
- const std::vector<std::string>& 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 @@
-
- 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 @@
- 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 @@
-
- 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 @@
-
- std::vector<std::string> 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 @@
- }
- static const std::string parentd = get_addon_campaigns_dir();
- std::vector<std::string> 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];
-Index: src/addon/validation.cpp
-===================================================================
---- src/addon/validation.cpp (revision 54624)
-+++ src/addon/validation.cpp (revision 54625)
-@@ -17,8 +17,9 @@
- #include "global.hpp"
- #include "addon/validation.hpp"
- #include "config.hpp"
--#include "foreach.hpp"
-
-+#include <boost/foreach.hpp>
-+
- #include <cstring>
-
- const unsigned short default_campaignd_port = 15002;
-@@ -44,10 +45,10 @@
-
- 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;
- }
-Index: src/mapgen.cpp
-===================================================================
---- src/mapgen.cpp (revision 54624)
-+++ src/mapgen.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define ERR_NG LOG_STREAM(err, log_engine)
-@@ -777,7 +777,7 @@
-
- std::vector<terrain_height_mapper> 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 @@
- LOG_NG << (SDL_GetTicks() - ticks) << "\n"; ticks = SDL_GetTicks();
-
- std::vector<terrain_converter> converters;
-- foreach (const config &cv, cfg.child_range("convert")) {
-+ BOOST_FOREACH(const config &cv, cfg.child_range("convert")) {
- converters.push_back(terrain_converter(cv));
- }
-
-Index: src/cavegen.cpp
-===================================================================
---- src/cavegen.cpp (revision 54624)
-+++ src/cavegen.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define LOG_NG LOG_STREAM(info, log_engine)
-
-@@ -147,7 +148,7 @@
-
- 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 @@
-
- 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 @@
- 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");
-Index: src/ai/lua/core.cpp
-===================================================================
---- src/ai/lua/core.cpp (revision 54624)
-+++ src/ai/lua/core.cpp (revision 54625)
-@@ -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"
-Index: src/ai/default/attack.cpp
-===================================================================
---- src/ai/default/attack.cpp (revision 54624)
-+++ src/ai/default/attack.cpp (revision 54625)
-@@ -25,7 +25,6 @@
- #include "../manager.hpp"
-
- #include "../../attack_prediction.hpp"
--#include "foreach.hpp"
- #include "../../game_config.hpp"
- #include "../../log.hpp"
- #include "../../map.hpp"
-Index: src/ai/default/contexts.cpp
-===================================================================
---- src/ai/default/contexts.cpp (revision 54624)
-+++ src/ai/default/contexts.cpp (revision 54625)
-@@ -22,7 +22,6 @@
- #include "contexts.hpp"
-
- #include "../../actions.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
- #include "../../map.hpp"
- #include "../../resources.hpp"
-Index: src/ai/default/ai.cpp
-===================================================================
---- src/ai/default/ai.cpp (revision 54624)
-+++ src/ai/default/ai.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iterator>
- #include <algorithm>
- #include <fstream>
-@@ -144,7 +145,7 @@
-
- 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<int>(c["max"],0)));
- }
-@@ -193,7 +194,7 @@
- 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 @@
-
- team &enemy_team = (*resources::teams)[j->side() - 1];
- const std::set<std::string> &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 @@
- 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;
-Index: src/ai/configuration.cpp
-===================================================================
---- src/ai/configuration.cpp (revision 54624)
-+++ src/ai/configuration.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <vector>
-
- namespace ai {
-@@ -93,7 +94,7 @@
- }
-
-
-- 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::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 @@
- 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 @@
- 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 @@
-
- //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 @@
-
- //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<v) {
-@@ -290,7 +291,7 @@
- config parsed_cfg = config();
-
- LOG_AI_CONFIGURATION << "side "<< side <<": merging AI configurations"<< std::endl;
-- foreach (const config &aiparam, cfg.child_range("ai")) {
-+ BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) {
- parsed_cfg.append(aiparam);
- }
-
-@@ -302,7 +303,7 @@
- parsed_cfg.merge_children_by_attribute("aspect","id");
-
- LOG_AI_CONFIGURATION << "side "<< side <<": removing duplicate [default] tags from aspects"<< std::endl;
-- foreach (config &aspect_cfg, parsed_cfg.child_range("aspect")) {
-+ BOOST_FOREACH(config &aspect_cfg, parsed_cfg.child_range("aspect")) {
- if (!aspect_cfg.child("default")) {
- WRN_AI_CONFIGURATION << "side "<< side <<": aspect with id=["<<aspect_cfg["id"]<<"] lacks default config facet!" <<std::endl;
- continue;
-@@ -341,7 +342,7 @@
- if (cfg["ai_algorithm"]=="idle_ai") {
- is_idle_ai = true;
- } else {
-- foreach (config &aiparam, cfg.child_range("ai")) {
-+ BOOST_FOREACH(config &aiparam, cfg.child_range("ai")) {
- if (aiparam["ai_algorithm"]=="idle_ai") {
- is_idle_ai = true;
- break;
-@@ -360,8 +361,8 @@
-
- config fallback_stage_cfg_ai;
-
-- foreach (config &aiparam, cfg.child_range("ai")) {
-- foreach (const well_known_aspect &wka, well_known_aspects) {
-+ BOOST_FOREACH(config &aiparam, cfg.child_range("ai")) {
-+ BOOST_FOREACH(const well_known_aspect &wka, well_known_aspects) {
- if (wka.was_an_attribute_) {
- aiparam.remove_attribute(wka.name_);
- } else {
-@@ -370,7 +371,7 @@
- }
-
-
-- foreach (const config &aitarget, aiparam.child_range("target")) {
-+ BOOST_FOREACH(const config &aitarget, aiparam.child_range("target")) {
- config aigoal;
- transfer_turns_and_time_of_day_data(aiparam,aigoal);
-
-@@ -388,14 +389,14 @@
- aiparam.clear_children("target");
-
-
-- foreach (config &ai_protect_unit, aiparam.child_range("protect_unit")) {
-+ BOOST_FOREACH(config &ai_protect_unit, aiparam.child_range("protect_unit")) {
- transfer_turns_and_time_of_day_data(aiparam,ai_protect_unit);
- upgrade_protect_goal_config_from_1_07_02_to_1_07_03(side,ai_protect_unit,parsed_cfg,true);
- }
- aiparam.clear_children("protect_unit");
-
-
-- foreach (config &ai_protect_location, aiparam.child_range("protect_location")) {
-+ BOOST_FOREACH(config &ai_protect_location, aiparam.child_range("protect_location")) {
- transfer_turns_and_time_of_day_data(aiparam,ai_protect_location);
- upgrade_protect_goal_config_from_1_07_02_to_1_07_03(side,ai_protect_location,parsed_cfg,false);
- }
-@@ -423,19 +424,19 @@
- fallback_stage_cfg_ai.clear_children("aspect");
-
- //move [stage]s to root of the config
-- foreach (const config &aistage, fallback_stage_cfg_ai.child_range("stage")) {
-+ BOOST_FOREACH(const config &aistage, fallback_stage_cfg_ai.child_range("stage")) {
- parsed_cfg.add_child("stage",aistage);
- }
- fallback_stage_cfg_ai.clear_children("stage");
-
- //move [goal]s to root of the config
-- foreach (const config &aigoal, fallback_stage_cfg_ai.child_range("goal")) {
-+ BOOST_FOREACH(const config &aigoal, fallback_stage_cfg_ai.child_range("goal")) {
- parsed_cfg.add_child("goal",aigoal);
- }
- fallback_stage_cfg_ai.clear_children("goal");
-
- //move [modify_ai]'s to root of the config
-- foreach (const config &aimodifyai, fallback_stage_cfg_ai.child_range("modify_ai")) {
-+ BOOST_FOREACH(const config &aimodifyai, fallback_stage_cfg_ai.child_range("modify_ai")) {
- parsed_cfg.add_child("modify_ai",aimodifyai);
- }
- fallback_stage_cfg_ai.clear_children("modify_ai");
-@@ -452,12 +453,12 @@
- {
- config cfg;
-
-- foreach (const config &aiparam, ai_parameters) {
-+ BOOST_FOREACH(const config &aiparam, ai_parameters) {
- cfg.add_child("ai",aiparam);
- }
-
- DBG_AI_CONFIGURATION << "side "<< side <<": upgrading aspects from syntax of 1.7.2 to 1.7.3, old-style config is:" << std::endl << cfg << std::endl;
-- foreach (const well_known_aspect &wka, well_known_aspects) {
-+ BOOST_FOREACH(const well_known_aspect &wka, well_known_aspects) {
- upgrade_aspect_config_from_1_07_02_to_1_07_03(side, cfg,parsed_cfg,wka.name_,wka.was_an_attribute_);
- }
- }
-Index: src/ai/contexts.cpp
-===================================================================
---- src/ai/contexts.cpp (revision 54624)
-+++ src/ai/contexts.cpp (revision 54625)
-@@ -47,6 +47,8 @@
- #include "../tod_manager.hpp"
- #include "../unit_display.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
-
- 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<aspect_ptr> 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 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 @@
- }
-
- for(std::map<map_location,pathfind::paths>::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::add_aspects(std::vector< aspect_ptr > &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 @@
- // 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 @@
- 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()){
-Index: src/ai/manager.cpp
-===================================================================
---- src/ai/manager.cpp (revision 54624)
-+++ src/ai/manager.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <map>
- #include <stack>
- #include <vector>
-@@ -89,7 +90,7 @@
-
- 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 @@
- 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);
- }
- }
-Index: src/ai/composite/component.cpp
-===================================================================
---- src/ai/composite/component.cpp (revision 54624)
-+++ src/ai/composite/component.cpp (revision 54625)
-@@ -23,12 +23,12 @@
- #include "property_handler.hpp"
- #include "../../config.hpp"
- #include "../../log.hpp"
--#include "../../foreach.hpp"
-
- #include "../formula/ai.hpp"
-
- #include <boost/lexical_cast.hpp>
- #include <boost/regex.hpp>
-+#include <boost/foreach.hpp>
-
- namespace pathfind {
-
-@@ -125,7 +125,7 @@
- std::vector<std::string> component::get_children_types()
- {
- std::vector<std::string> 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 @@
-
- s << offset_str << type<<"["<<root->get_id() <<"] "<<root->get_engine()<<" "<<root->get_name()<< std::endl;
-
-- foreach (std::string t, t_list) {
-+ BOOST_FOREACH(std::string t, t_list) {
- std::vector<component*> c_list = root->get_children(t);
-- foreach (component *c, c_list) {
-+ BOOST_FOREACH(component *c, c_list) {
- print_component(c,t,s,offset+1);
- }
- }
-Index: src/ai/composite/stage.cpp
-===================================================================
---- src/ai/composite/stage.cpp (revision 54624)
-+++ src/ai/composite/stage.cpp (revision 54625)
-@@ -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"
-Index: src/ai/composite/engine.cpp
-===================================================================
---- src/ai/composite/engine.cpp (revision 54624)
-+++ src/ai/composite/engine.cpp (revision 54625)
-@@ -21,7 +21,6 @@
- #include "engine.hpp"
- #include "contexts.hpp"
-
--#include "../../foreach.hpp"
- #include "../../log.hpp"
-
- namespace ai {
-Index: src/ai/composite/engine_default.cpp
-===================================================================
---- src/ai/composite/engine_default.cpp (revision 54624)
-+++ src/ai/composite/engine_default.cpp (revision 54625)
-@@ -24,7 +24,6 @@
- #include "engine_default.hpp"
- #include "rca.hpp"
- #include "stage.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
-
- namespace ai {
-Index: src/ai/composite/goal.cpp
-===================================================================
---- src/ai/composite/goal.cpp (revision 54624)
-+++ src/ai/composite/goal.cpp (revision 54625)
-@@ -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 <boost/lexical_cast.hpp>
-+#include <boost/foreach.hpp>
-
- namespace ai {
-
-@@ -128,7 +128,7 @@
- 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 @@
-
- std::set<map_location> 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 @@
-
- std::set<map_location> 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 @@
- }
- 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 @@
- 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;
- }
-Index: src/ai/composite/engine_fai.cpp
-===================================================================
---- src/ai/composite/engine_fai.cpp (revision 54624)
-+++ src/ai/composite/engine_fai.cpp (revision 54625)
-@@ -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 {
-Index: src/ai/composite/aspect.hpp
-===================================================================
---- src/ai/composite/aspect.hpp (revision 54624)
-+++ src/ai/composite/aspect.hpp (revision 54625)
-@@ -265,7 +265,7 @@
- , 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 @@
- {
- std::vector<aspect_ptr> 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<T>::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect<T> > (a);
- facets.push_back(b);
- }
-@@ -301,7 +301,7 @@
- virtual void recalculate() const
- {
- ///@todo 1.9 optimize in case of an aspect which returns variant
-- foreach (const typename aspect_type<T>::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) {
-+ BOOST_FOREACH(const typename aspect_type<T>::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) {
- if (f->active()) {
- this->value_ = boost::shared_ptr<T>(f->get_ptr());
- this->valid_ = true;
-@@ -316,7 +316,7 @@
- virtual config to_config() const
- {
- config cfg = aspect::to_config();
-- foreach (const typename aspect_type<T>::typesafe_ptr f, facets_) {
-+ BOOST_FOREACH(const typename aspect_type<T>::typesafe_ptr f, facets_) {
- cfg.add_child("facet",f->to_config());
- }
- if (default_) {
-@@ -334,7 +334,7 @@
- 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<T>::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect<T> > (a);
- facets_.insert(facets_.begin()+pos+j,b);
- j++;
-Index: src/ai/composite/property_handler.hpp
-===================================================================
---- src/ai/composite/property_handler.hpp (revision 54624)
-+++ src/ai/composite/property_handler.hpp (revision 54625)
-@@ -23,9 +23,9 @@
- #define AI_COMPOSITE_PROPERTY_HANDLER_HPP_INCLUDED
-
- #include <boost/function.hpp>
-+#include <boost/foreach.hpp>
-
- #include "config.hpp"
--#include "foreach.hpp"
- #include "ai/composite/component.hpp"
-
- namespace ai{
-@@ -134,7 +134,7 @@
- std::vector<component*> handle_get_children()
- {
- std::vector<component*> children;
-- foreach (t_ptr v, values_) {
-+ BOOST_FOREACH(t_ptr v, values_) {
- children.push_back(&*v);
- }
- return children;
-@@ -149,7 +149,7 @@
- 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 @@
- //* 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 @@
- std::vector<component*> handle_get_children()
- {
- std::vector<component*> 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;
-Index: src/ai/composite/ai.cpp
-===================================================================
---- src/ai/composite/ai.cpp (revision 54624)
-+++ src/ai/composite/ai.cpp (revision 54625)
-@@ -27,11 +27,11 @@
- #include "stage.hpp"
- #include "../manager.hpp"
- #include "../../actions.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
-
- #include <boost/bind.hpp>
- #include <boost/function.hpp>
-+#include <boost/foreach.hpp>
-
- namespace ai {
-
-@@ -60,7 +60,7 @@
- cfg_["id"]<<"]"<<std::endl;
-
- // init the composite ai stages
-- foreach(const config &cfg_element, cfg_.child_range("stage")){
-+ BOOST_FOREACH(const config &cfg_element, cfg_.child_range("stage")){
- add_stage(cfg_element);
- }
-
-@@ -115,7 +115,7 @@
- std::vector< stage_ptr > 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 @@
- 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 @@
-
-
- void ai_composite::play_turn(){
-- foreach(stage_ptr &s, stages_){
-+ BOOST_FOREACH(stage_ptr &s, stages_){
- s->play_stage();
- }
- }
-@@ -206,7 +206,7 @@
- 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());
- }
-
-Index: src/ai/formula/candidates.cpp
-===================================================================
---- src/ai/formula/candidates.cpp (revision 54624)
-+++ src/ai/formula/candidates.cpp (revision 54625)
-@@ -19,10 +19,11 @@
-
- #include "ai.hpp"
- #include "candidates.hpp"
--#include "foreach.hpp"
- #include "../../log.hpp"
- #include "../../resources.hpp"
-
-+#include <boost/foreach.hpp>
-+
- static lg::log_domain log_formula_ai("ai/engine/fai");
- #define ERR_AI LOG_STREAM(err, log_formula_ai)
-
-@@ -32,7 +33,7 @@
- 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 @@
- {
- 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 @@
- 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));
-Index: src/ai/formula/stage_side_formulas.cpp
-===================================================================
---- src/ai/formula/stage_side_formulas.cpp (revision 54624)
-+++ src/ai/formula/stage_side_formulas.cpp (revision 54625)
-@@ -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"
-Index: src/ai/formula/ai.cpp
-===================================================================
---- src/ai/formula/ai.cpp (revision 54624)
-+++ src/ai/formula/ai.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- variant villages_from_set(const Container& villages,
- const std::set<map_location>* exclude=NULL) {
- std::vector<variant> vars;
-- foreach(const map_location& loc, villages) {
-+ BOOST_FOREACH(const map_location& loc, villages) {
- if(exclude && exclude->count(loc)) {
- continue;
- }
-@@ -617,7 +618,7 @@
- {
- const std::vector<std::string> &rp = get_recruitment_pattern();
- std::vector<variant> 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 @@
- std::vector<variant> 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<tmp.size(); ++i)
-@@ -924,7 +925,7 @@
- //make sure we don't run out of refcount
- vars_.add_ref();
-
-- foreach (const config &func, cfg_.child_range("function"))
-+ BOOST_FOREACH(const config &func, cfg_.child_range("function"))
- {
- const t_string &name = func["name"];
- const t_string &inputs = func["inputs"];
-@@ -947,7 +948,7 @@
- if (const config &ai_vars = cfg_.child("vars"))
- {
- 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);
- vars_.add(i.first, var);
- }
-Index: src/ai/formula/function_table.cpp
-===================================================================
---- src/ai/formula/function_table.cpp (revision 54624)
-+++ src/ai/formula/function_table.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- static lg::log_domain log_formula_ai("ai/engine/fai");
- #define LOG_AI LOG_STREAM(info, log_formula_ai)
-@@ -355,7 +355,7 @@
- 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 @@
- }
-
- 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 @@
- visited_locs.erase(starting_loc);
-
- std::vector<variant> 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 @@
- ai::attack_analysis* analysis = convert_variant<ai::attack_analysis>(attack);
- //unit_map units_with_moves(*resources::units);
- //typedef std::pair<map_location, map_location> 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 @@
-
- std::vector<attack_type> 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);
-Index: src/ai/testing/ca_testing_move_to_targets.cpp
-===================================================================
---- src/ai/testing/ca_testing_move_to_targets.cpp (revision 54624)
-+++ src/ai/testing/ca_testing_move_to_targets.cpp (revision 54625)
-@@ -22,7 +22,6 @@
-
- #include "../composite/ai.hpp"
- #include "../actions.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
- #include "../../map.hpp"
- #include "../../resources.hpp"
-Index: src/ai/testing/ca_testing_recruitment.cpp
-===================================================================
---- src/ai/testing/ca_testing_recruitment.cpp (revision 54624)
-+++ src/ai/testing/ca_testing_recruitment.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- #include <numeric>
- #include <string>
-@@ -206,7 +206,7 @@
- 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 @@
- 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 @@
-
- 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 void update_recruit_qualities(fake_team &t, std::vector<fake_team> &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 @@
- }
-
- std::map<std::string, int> 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 @@
- double max_quality = recruit_list[0].quality();
- int max_cost = recruit_list[0].cost();
- std::vector<const potential_recruit*> sorted = std::vector<const potential_recruit*>();
-- foreach(const potential_recruit &i, recruit_list)
-+ BOOST_FOREACH(const potential_recruit &i, recruit_list)
- {
- if(i.cost() > max_cost)
- {
-@@ -457,7 +457,7 @@
- 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 void ai_choose_recruits(fake_team &t, int max_units_to_recruit, double quality_factor, bool counter_recruit)
- {
- std::vector<potential_recruit> 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 @@
- //DBG_AI << "start of get_recruit_qualities" << std::endl;
- typedef std::map<const unit_type*, std::vector<double> > 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<double>(un.hitpoints())
-@@ -562,10 +562,10 @@
- }
- }
- 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 @@
- }
- 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 @@
- {
- std::vector<defender_pair_type*> defenders;
- std::vector<enemy_pair_type*> 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 @@
- //}
- }
- }
-- 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 @@
- //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 @@
- 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 @@
- 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 @@
- //}
- }
- //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 @@
- //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 @@
- 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 @@
- }
- 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 @@
- }
- 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 @@
- typedef std::map<const unit_type*, std::vector<double> > 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 @@
- }
- }
- 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 @@
-
- }
- double hitpoints_sum = 0;
-- foreach(double i, defender.second)
-+ BOOST_FOREACH(double i, defender.second)
- {
- hitpoints_sum += i;
- }
-@@ -842,7 +842,7 @@
- return result;
- // vector<defender_pair> defenders;
- // vector<enemy_pair> enemies;
--// //foreach(unit &un, *resources::units)
-+// //BOOST_FOREACH(unit &un, *resources::units)
- // //{
- // // if(t.is_enemy(un.side()))
- // // {
-@@ -851,14 +851,14 @@
- // // 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 @@
- // 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 @@
- // 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 @@
- //
- // }
- // //std::vector<unit> no_defense_enemies;
--// foreach(enemy_pair &pair, enemies)
-+// BOOST_FOREACH(enemy_pair &pair, enemies)
- // {
- // if(pair.defenders.size() == 0)
- // {
-@@ -906,11 +906,11 @@
- //
- // 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 @@
- // }
- // //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 @@
- // //unit &worst_def_unit;
- // vector<defender_pair> defenders;
- // vector<enemy_pair> enemies;
--// /*foreach(unit &un, *resources::units)
-+// /*BOOST_FOREACH(unit &un, *resources::units)
- // {
- // if(t.is_enemy(un.side()))
- // {
-@@ -945,14 +945,14 @@
- // 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 @@
- // 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 @@
- // }
- // }
- // //std::vector<unit> no_defense_enemies;
--// foreach(enemy_pair &pair, enemies)
-+// BOOST_FOREACH(enemy_pair &pair, enemies)
- // {
- // if(pair.defenders.size() == 0)
- // {
-@@ -988,10 +988,10 @@
- // 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 @@
- // }
- // }
- // 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 @@
- 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<potential_recruit> 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 @@
- }
- 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())
- {
-Index: src/ai/testing/ca_global_fallback.cpp
-===================================================================
---- src/ai/testing/ca_global_fallback.cpp (revision 54624)
-+++ src/ai/testing/ca_global_fallback.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- namespace ai {
-
-@@ -89,7 +89,7 @@
- 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())
- {
-Index: src/ai/testing/stage_fallback.cpp
-===================================================================
---- src/ai/testing/stage_fallback.cpp (revision 54624)
-+++ src/ai/testing/stage_fallback.cpp (revision 54625)
-@@ -23,7 +23,6 @@
- #include "../configuration.hpp"
- #include "../manager.hpp"
- #include "../composite/ai.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
-
- namespace ai {
-Index: src/ai/testing/ca.cpp
-===================================================================
---- src/ai/testing/ca.cpp (revision 54624)
-+++ src/ai/testing/ca.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- #include <numeric>
-
-@@ -306,7 +306,7 @@
- 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 @@
- possible_moves.insert(std::pair<map_location,pathfind::paths>(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 @@
- // 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 @@
- }*/
- //int leader_adj_count = 0;
- std::vector<map_location> 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 @@
- }
- std::vector<unit_map::unit_iterator> 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<unit_map::unit_iterator> allied_leaders = resources::units->find_leaders(get_side());
- if (!allied_leaders.empty()){
-@@ -2001,7 +2001,7 @@
- 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 @@
- }
- 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;
-Index: src/ai/testing/stage_rca.cpp
-===================================================================
---- src/ai/testing/stage_rca.cpp (revision 54624)
-+++ src/ai/testing/stage_rca.cpp (revision 54625)
-@@ -25,10 +25,10 @@
- #include "../composite/engine.hpp"
- #include "../composite/property_handler.hpp"
- #include "../gamestate_observer.hpp"
--#include "../../foreach.hpp"
- #include "../../log.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace ai {
-
-@@ -49,7 +49,7 @@
- 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 @@
- config candidate_action_evaluation_loop::to_config() const
- {
- config cfg = stage::to_config();
-- foreach(candidate_action_ptr ca, candidate_actions_){
-+ BOOST_FOREACH(candidate_action_ptr ca, candidate_actions_){
- cfg.add_child("candidate_action",ca->to_config());
- }
- return cfg;
-@@ -88,7 +88,7 @@
- {
- 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 @@
- 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;
-Index: src/ai/testing/aspect_attacks.cpp
-===================================================================
---- src/ai/testing/aspect_attacks.cpp (revision 54624)
-+++ src/ai/testing/aspect_attacks.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace ai {
-
- namespace testing_ai_default {
-@@ -468,7 +469,7 @@
- // 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 @@
- // 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) {
-Index: src/play_controller.cpp
-===================================================================
---- src/play_controller.cpp (revision 54624)
-+++ src/play_controller.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
- std::vector<team_builder_ptr> 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 @@
- 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 @@
- 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 @@
- }
-
- // 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 @@
- 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 @@
- }
- 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 @@
-
- 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 << ") ";
-Index: src/unit_abilities.cpp
-===================================================================
---- src/unit_abilities.cpp (revision 54624)
-+++ src/unit_abilities.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define ERR_NG LOG_STREAM(err, log_engine)
-
-@@ -124,7 +125,7 @@
- {
- 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 @@
- 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 @@
-
- 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<const config *, map_location>(&i, loc));
-@@ -175,7 +176,7 @@
- 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 @@
-
- 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 @@
- 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 @@
- 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 @@
- }
- }
-
-- 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 @@
-
- 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<std::string> dirs = utils::split(i["adjacent"]);
- if(std::find(dirs.begin(),dirs.end(),adjacent_names[dir]) != dirs.end()) {
-@@ -366,7 +367,7 @@
- int flat = 0;
- int stack = 0;
- typedef std::pair<const config *, map_location> 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 @@
- int flat = 0;
- int stack = 0;
- typedef std::pair<const config *, map_location> 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 @@
- namespace {
- bool get_special_children(std::vector<const config*>& 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 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<const config *, map_location>
- (&i, attacker_ ? aloc_ : dloc_));
-@@ -504,7 +505,7 @@
- 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<const config *, map_location>
- (&i, attacker_ ? dloc_ : aloc_));
-@@ -519,7 +520,7 @@
- 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 @@
- 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 @@
- 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 @@
- }
- }
-
-- 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);
-Index: src/video.cpp
-===================================================================
---- src/video.cpp (revision 54624)
-+++ src/video.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <vector>
- #include <map>
- #include <algorithm>
-@@ -105,7 +106,7 @@
- {
- 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 @@
- 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;
- }
-Index: src/tools/schema/tag.cpp
-===================================================================
---- src/tools/schema/tag.cpp (revision 54624)
-+++ src/tools/schema/tag.cpp (revision 54625)
-@@ -21,7 +21,9 @@
- #include "tools/schema/tag.hpp"
-
- #include "config.hpp"
--#include "foreach.hpp"
-+
-+#include <boost/foreach.hpp>
-+
- namespace schema_validation{
-
- /*WIKI
-@@ -81,15 +83,15 @@
- 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);
- }
-Index: src/tools/exploder_cutter.cpp
-===================================================================
---- src/tools/exploder_cutter.cpp (revision 54624)
-+++ src/tools/exploder_cutter.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iostream>
-
- cutter::cutter()
-@@ -48,7 +49,7 @@
-
- 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 @@
- {
- 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);
- }
-
-Index: src/builder.cpp
-===================================================================
---- src/builder.cpp (revision 54624)
-+++ src/builder.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
-
- tile& btile = tile_map_[loc];
-
-- foreach(animated<image::locator>& a, btile.images_background) {
-+ BOOST_FOREACH(animated<image::locator>& a, btile.images_background) {
- if(a.need_update())
- changed = true;
- a.update_last_draw_time();
- }
-- foreach(animated<image::locator>& a, btile.images_foreground) {
-+ BOOST_FOREACH(animated<image::locator>& a, btile.images_foreground) {
- if(a.need_update())
- changed = true;
- a.update_last_draw_time();
-@@ -326,7 +327,7 @@
- }
- std::vector<std::string> 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 @@
-
- // 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<std::string> 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<std::string> frames = utils::parenthetical_split(var,',');
- animated<image::locator> res;
-
-- foreach(const std::string& frame, frames)
-+ BOOST_FOREACH(const std::string& frame, frames)
- {
- const std::vector<std::string> items = utils::split(frame, ':');
- const std::string& str = items.front();
-@@ -499,7 +500,7 @@
- void terrain_builder::replace_rotate_tokens(rule_image &image, int angle,
- const std::vector<std::string> &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_imagelist &list, int angle,
- const std::vector<std::string> &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(building_rule &rule, int angle,
- const std::vector<std::string> &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 @@
- return;
- }
-
-- foreach (terrain_constraint &cons, ret.constraints) {
-+ BOOST_FOREACH(terrain_constraint &cons, ret.constraints) {
- rotate(cons, angle);
- }
-
-@@ -549,7 +550,7 @@
- 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<int>(cons.loc.x, minx);
- miny = std::min<int>(2 * cons.loc.y + (cons.loc.x & 1), miny);
- }
-@@ -559,7 +560,7 @@
- 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 @@
-
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- const std::vector<std::string> global_has_flag = utils::split(br["has_flag"]);
- const std::vector<std::string> 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 @@
- }
- }
-
-- 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 @@
-
- const std::set<std::string> &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 @@
- {
- 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 @@
-
- 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 @@
- 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 @@
- }
- }
-
-- 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 @@
- 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;
-Index: src/game_config.cpp
-===================================================================
---- src/game_config.cpp (revision 54624)
-+++ src/game_config.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- }
-
- 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 @@
-
- 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 @@
- 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<Uint32> temp;
- if(!string2rgb(rgb.second, temp)) {
-Index: src/whiteboard/recall.cpp
-===================================================================
---- src/whiteboard/recall.cpp (revision 54624)
-+++ src/whiteboard/recall.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb
- {
-
-@@ -71,7 +72,7 @@
- {
- // 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)
- {
-Index: src/whiteboard/utility.cpp
-===================================================================
---- src/whiteboard/utility.cpp (revision 54624)
-+++ src/whiteboard/utility.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb {
-
- size_t viewer_team()
-@@ -60,7 +61,7 @@
- {
- 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 @@
- 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<int>(team_index+1)
- && can_recruit_on(map,u.get_location(),hex))
-@@ -124,7 +125,7 @@
-
- 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 @@
-
- bool has_actions()
- {
-- foreach(team& t, *resources::teams)
-+ BOOST_FOREACH(team& t, *resources::teams)
- if (!t.get_side_actions()->empty())
- return true;
-
-Index: src/whiteboard/visitor.hpp
-===================================================================
---- src/whiteboard/visitor.hpp (revision 54624)
-+++ src/whiteboard/visitor.hpp (revision 54625)
-@@ -33,11 +33,11 @@
- #include "action.hpp"
- #include "side_actions.hpp"
-
--#include "foreach.hpp"
- #include "play_controller.hpp"
- #include "resources.hpp"
-
- #include <boost/noncopyable.hpp>
-+#include <boost/foreach.hpp>
-
- namespace wb
- {
-@@ -81,7 +81,7 @@
-
- //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;
-Index: src/whiteboard/side_actions.cpp
-===================================================================
---- src/whiteboard/side_actions.cpp (revision 54624)
-+++ src/whiteboard/side_actions.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <set>
- #include <sstream>
-
-@@ -48,13 +49,13 @@
- {
- 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 @@
- 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 @@
- 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 @@
- return;
- }
-
-- foreach(action_ptr act, *this)
-+ BOOST_FOREACH(action_ptr act, *this)
- act->hide();
- }
- void side_actions::show()
-@@ -244,7 +245,7 @@
-
- hidden_ = false;
-
-- foreach(action_ptr act, *this)
-+ BOOST_FOREACH(action_ptr act, *this)
- act->show();
- }
-
-@@ -507,7 +508,7 @@
- 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 @@
- 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 @@
-
- //find units who still have plans for turn 0 (i.e. were too lazy to finish their jobs)
- std::set<unit const*> 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 @@
- }
-
- //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();
-
-Index: src/whiteboard/move.cpp
-===================================================================
---- src/whiteboard/move.cpp (revision 54624)
-+++ src/whiteboard/move.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb {
-
- std::ostream& operator<<(std::ostream &s, move_ptr move)
-@@ -108,10 +109,10 @@
- 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 @@
- //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 @@
- route_cfg.add_child("step",loc_cfg);
- }
- typedef std::pair<map_location,pathfind::marked_route::mark> 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;
-Index: src/whiteboard/validate_visitor.cpp
-===================================================================
---- src/whiteboard/validate_visitor.cpp (revision 54624)
-+++ src/whiteboard/validate_visitor.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb
- {
-
-@@ -60,7 +61,7 @@
- {
- 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);
- }
-Index: src/whiteboard/manager.cpp
-===================================================================
---- src/whiteboard/manager.cpp (revision 54624)
-+++ src/whiteboard/manager.cpp (revision 54625)
-@@ -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 <boost/lexical_cast.hpp>
-+#include <boost/foreach.hpp>
-+
- #include <sstream>
-
- namespace wb {
-@@ -268,7 +269,7 @@
- }
-
- //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<class recruit const>(action);
- recall_const_ptr recall = boost::dynamic_pointer_cast<class recall const>(action);
-@@ -332,7 +333,7 @@
-
- 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 @@
- 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 @@
- 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::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 @@
-
- //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::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 @@
- 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 @@
- 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 @@
- 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:
-Index: src/whiteboard/suppose_dead.cpp
-===================================================================
---- src/whiteboard/suppose_dead.cpp (revision 54624)
-+++ src/whiteboard/suppose_dead.cpp (revision 54625)
-@@ -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"
-Index: src/whiteboard/mapbuilder.cpp
-===================================================================
---- src/whiteboard/mapbuilder.cpp (revision 54624)
-+++ src/whiteboard/mapbuilder.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb
- {
-
-@@ -51,14 +52,14 @@
-
- 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);
-
-Index: src/whiteboard/highlight_visitor.cpp
-===================================================================
---- src/whiteboard/highlight_visitor.cpp (revision 54624)
-+++ src/whiteboard/highlight_visitor.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace wb
- {
-
-@@ -147,7 +148,7 @@
- {
- //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 @@
-
- //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 @@
- }
-
- //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);
- }
-Index: src/language.cpp
-===================================================================
---- src/language.cpp (revision 54624)
-+++ src/language.cpp (revision 54625)
-@@ -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 <stdexcept>
- #include <clocale>
- #include <boost/scoped_array.hpp>
-+#include <boost/foreach.hpp>
-
- #ifdef _WIN32
- #include <windows.h>
-@@ -101,7 +101,7 @@
- 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 @@
- 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 @@
-
- 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 @@
- 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);
-Index: src/multiplayer_lobby.cpp
-===================================================================
---- src/multiplayer_lobby.cpp (revision 54624)
-+++ src/multiplayer_lobby.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_config("config");
- #define ERR_CF LOG_STREAM(err, log_config)
-
-@@ -424,7 +425,7 @@
-
- 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 @@
- 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 @@
-
- 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 @@
-
- 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;
-Index: src/reports.cpp
-===================================================================
---- src/reports.cpp (revision 54624)
-+++ src/reports.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- #include <cassert>
- #include <ctime>
-@@ -260,7 +260,7 @@
- if (!u) return report();
- config res;
- typedef std::pair<std::string, std::string> 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 @@
-
- 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 @@
- 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 @@
- if (!u) return report();
- config res;
- typedef std::pair<std::string, std::string> 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 @@
- 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 @@
- std::set<std::string> 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 @@
- damage_multiplier += tod_bonus;
-
- typedef std::pair<int, std::set<std::string> > 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 << "<b>" << damage << "</b> "
- << "<i>(" << utils::signed_percent(resist.first-100) << ")</i> : "
-@@ -755,7 +755,7 @@
- }
- }
-
-- 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 @@
- 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 @@
- 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 @@
-
- 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 @@
-
- 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 @@
- const std::set<std::string> &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;
-Index: src/playmp_controller.cpp
-===================================================================
---- src/playmp_controller.cpp (revision 54624)
-+++ src/playmp_controller.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define LOG_NG LOG_STREAM(info, log_engine)
-
-@@ -326,7 +328,7 @@
- // 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);
-Index: src/tests/gui/test_gui2.cpp
-===================================================================
---- src/tests/gui/test_gui2.cpp (revision 54624)
-+++ src/tests/gui/test_gui2.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #include <memory>
-
-@@ -139,7 +139,7 @@
- template<class T>
- 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<gui2::tdialog> dlg(twrapper<T>::create());
-@@ -178,7 +178,7 @@
- {
- 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<gui2::tpopup> dlg(twrapper<T>::create());
-@@ -225,7 +225,7 @@
- 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<std::string>& list =
-@@ -416,7 +416,7 @@
-
- // 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 @@
- BOOST_REQUIRE_MESSAGE(result, "Failed to create a dialog.");
-
- std::vector<map_generator*> 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 @@
- BOOST_REQUIRE_MESSAGE(cfg, "No editor time-of-day defined");
-
- std::vector<time_of_day> 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);
-Index: src/filesystem.cpp
-===================================================================
---- src/filesystem.cpp (revision 54624)
-+++ src/filesystem.cpp (revision 54625)
-@@ -56,7 +56,6 @@
-
- #include "config.hpp"
- #include "filesystem.hpp"
--#include "foreach.hpp"
- #include "game_config.hpp"
- #include "game_preferences.hpp"
- #include "log.hpp"
-@@ -65,6 +64,8 @@
- #include "serialization/string_utils.hpp"
- #include "version.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
-
- 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 @@
- 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 @@
- 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 @@
- p4 << drive;
- #endif
-
-- foreach (const std::string &s, components)
-+ BOOST_FOREACH(const std::string &s, components)
- {
- p4 << '/' << s;
- }
-Index: src/help.cpp
-===================================================================
---- src/help.cpp (revision 54624)
-+++ src/help.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <queue>
-
- static lg::log_domain log_display("display");
-@@ -793,7 +794,7 @@
- // opening the help browser in the default manner.
- config hidden_toplevel;
- std::stringstream ss;
-- foreach (const config &section, help_config->child_range("section"))
-+ BOOST_FOREACH(const config &section, help_config->child_range("section"))
- {
- const std::string id = section["id"];
- if (find_section(toplevel, id) == NULL) {
-@@ -810,7 +811,7 @@
- }
- 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 @@
- }
- }
-
-- foreach (const config &section, cfg.child_range("section"))
-+ BOOST_FOREACH(const config &section, cfg.child_range("section"))
- {
- const std::vector<std::string> sections_refd
- = utils::quoted_split(section["sections"]);
-@@ -885,7 +886,7 @@
- }
- }
-
-- foreach (const config &section, cfg.child_range("section"))
-+ BOOST_FOREACH(const config &section, cfg.child_range("section"))
- {
- const std::vector<std::string> topics_refd
- = utils::quoted_split(section["topics"]);
-@@ -1103,7 +1104,7 @@
- std::map<t_string, std::string> special_description;
- std::map<t_string, std::set<std::string, string_less> > 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 @@
- // 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 @@
- const config& era = game_cfg->child("era");
- if (era) {
- std::vector<std::string> 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 @@
- text << "<header>text='" << _("Leaders:") << "'</header>" << "\n";
- const std::vector<std::string> 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 @@
- text << "<header>text='" << _("Recruits:") << "'</header>" << "\n";
- const std::vector<std::string> 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 @@
- text << "<header>text='" << _("Factions:") << "'</header>" << "\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 @@
- 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::vector<std::string> make_unit_links_list(const std::vector<std::string>& type_id_list, bool ordered)
- {
- std::vector<std::string> 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 @@
- std::set<std::string, string_less> races;
- std::set<std::string, string_less> 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::set<std::string, string_less> race_units;
- std::set<std::string, string_less> 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 @@
- 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"];
-Index: src/savegame.cpp
-===================================================================
---- src/savegame.cpp (revision 54624)
-+++ src/savegame.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- 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 @@
- 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 @@
- // 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);
- }
-Index: src/replay.cpp
-===================================================================
---- src/replay.cpp (revision 54624)
-+++ src/replay.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_replay("replay");
- #define DBG_REPLAY LOG_STREAM(debug, log_replay)
-@@ -67,7 +67,7 @@
- << nunits << " according to data source. " << units.size() << " locally\n";
-
- std::set<map_location> 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 @@
- 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 @@
- 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 @@
- // 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 @@
-
- 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 @@
- 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 @@
- }
- 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"];
-Index: src/game_preferences_display.cpp
-===================================================================
---- src/game_preferences_display.cpp (revision 54624)
-+++ src/game_preferences_display.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- namespace preferences {
-
-@@ -1071,7 +1071,7 @@
- void preferences_dialog::set_advanced_menu()
- {
- std::vector<std::string> 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 @@
- {
- 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);
- }
-
-Index: src/image.cpp
-===================================================================
---- src/image.cpp (revision 54624)
-+++ src/image.cpp (revision 54625)
-@@ -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 <boost/functional/hash.hpp>
-+#include <boost/foreach.hpp>
-
- #include <list>
- #include <set>
-@@ -376,7 +376,7 @@
- std::string trackpath = get_binary_file_location("", "l10n-track");
- std::string contents = read_file(trackpath);
- std::vector<std::string> 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 @@
- // 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;
-Index: src/team.cpp
-===================================================================
---- src/team.cpp (revision 54624)
-+++ src/team.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 @@
- // 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 @@
- 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 @@
- return true;
- }
-
-- foreach (const team &t, *teams) {
-+ BOOST_FOREACH(const team &t, *teams) {
- if (t.is_human())
- return false;
- }
-Index: src/config_cache.cpp
-===================================================================
---- src/config_cache.cpp (revision 54624)
-+++ src/config_cache.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
- #include <boost/algorithm/string/replace.hpp>
-
- static lg::log_domain log_cache("cache");
-@@ -113,7 +113,7 @@
- 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 @@
-
- // 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 @@
- 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 @@
- std::insert_iterator<preproc_map>(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);
- }
-
-Index: src/game_events.cpp
-===================================================================
---- src/game_events.cpp (revision 54624)
-+++ src/game_events.cpp (revision 54625)
-@@ -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 <iomanip>
- #include <iostream>
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- std::vector<std::pair<int,int> > 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 @@
- 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 @@
- const std::vector<game_events::event_handler>& 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 @@
- 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 @@
- 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 @@
- 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 @@
- std::vector<int> 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 @@
- 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 @@
- const bool remove = utils::string_bool(cfg["remove"], false);
- if (remove) {
- const std::vector<std::string> 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(modify_ai, /*event_info*/, cfg)
- {
- std::vector<int> 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 @@
- std::vector<int> 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 @@
-
- size_t longest_path = 0;
-
-- foreach(const vconfig& config, unit_cfgs) {
-+ BOOST_FOREACH(const vconfig& config, unit_cfgs) {
- const std::vector<std::string> xvals = utils::split(config["x"]);
- const std::vector<std::string> yvals = utils::split(config["y"]);
- int skip_steps = config["skip_steps"];
-@@ -1461,7 +1462,7 @@
-
- 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 @@
- 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 @@
- 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 @@
- std::set<std::string> player_ids;
- std::vector<std::string> 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<size_t>(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 @@
- 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 @@
- 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 @@
-
- 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 @@
- }
- }
-
-- 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 @@
- std::vector<unit *> 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 @@
-
- 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 @@
- const vconfig healers_filter = cfg.child("filter_second");
- std::vector<unit*> 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 @@
- 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 @@
- if(remove) {
- const std::vector<std::string> 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 @@
- 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 @@
- 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 @@
- }
- }
-
-- 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 @@
-
- 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 @@
- 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 @@
-
- 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 @@
- : 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 @@
- }
- int wmi_count = 0;
- typedef std::pair<std::string, wml_menu_item *> 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 @@
- 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 @@
- 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 @@
-
- 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 @@
-
- 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
-Index: src/formula_tokenizer.cpp
-===================================================================
---- src/formula_tokenizer.cpp (revision 54624)
-+++ src/formula_tokenizer.cpp (revision 54625)
-@@ -13,7 +13,6 @@
-
- #include <sstream>
-
--#include "foreach.hpp"
- #include "formula_tokenizer.hpp"
-
- namespace formula_tokenizer
-Index: src/playcampaign.cpp
-===================================================================
---- src/playcampaign.cpp (revision 54624)
-+++ src/playcampaign.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #define LOG_G LOG_STREAM(info, lg::general)
-
- static lg::log_domain log_engine("engine");
-@@ -260,7 +261,7 @@
- controller_map controllers;
-
- if(io_type == IO_SERVER) {
-- foreach (config &side, const_cast<config *>(scenario)->child_range("side"))
-+ BOOST_FOREACH(config &side, const_cast<config *>(scenario)->child_range("side"))
- {
- if (side["current_player"] == preferences::login()) {
- side["controller"] = preferences::client_type();
-@@ -280,7 +281,7 @@
- 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 @@
-
- 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 @@
- 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);
-Index: src/multiplayer.cpp
-===================================================================
---- src/multiplayer.cpp (revision 54624)
-+++ src/multiplayer.cpp (revision 54625)
-@@ -40,6 +40,7 @@
- #include "unit_id.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_network("network");
- #define LOG_NW LOG_STREAM(info, log_network)
-@@ -573,7 +574,7 @@
- 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();
-Index: src/terrain_filter.cpp
-===================================================================
---- src/terrain_filter.cpp (revision 54624)
-+++ src/terrain_filter.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define ERR_NG LOG_STREAM(err, log_engine)
-
-@@ -129,7 +130,7 @@
- }
- } 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 @@
- }
- } else {
- std::set<map_location> 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);
-Index: src/playturn.cpp
-===================================================================
---- src/playturn.cpp (revision 54624)
-+++ src/playturn.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <ctime>
-
- static lg::log_domain log_network("network");
-@@ -124,11 +125,11 @@
- 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 @@
- 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 @@
- 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 @@
- }
-
- //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())
-Index: src/tod_manager.cpp
-===================================================================
---- src/tod_manager.cpp (revision 54624)
-+++ src/tod_manager.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define LOG_NG LOG_STREAM(info, log_engine)
-
-@@ -279,7 +280,7 @@
- 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,
-Index: src/multiplayer_create.cpp
-===================================================================
---- src/multiplayer_create.cpp (revision 54624)
-+++ src/multiplayer_create.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_config("config");
- #define ERR_CF LOG_STREAM(err, log_config)
-
-@@ -127,7 +128,7 @@
-
- // 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 @@
-
- // The possible eras to play
- std::vector<std::string> 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 @@
- }
-
- 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;
- }
-
-Index: src/commandline_options.cpp
-===================================================================
---- src/commandline_options.cpp (revision 54624)
-+++ src/commandline_options.cpp (revision 54625)
-@@ -14,12 +14,12 @@
- */
-
- #include "commandline_options.hpp"
--#include "foreach.hpp"
- #include "serialization/string_utils.hpp"
- #include "util.hpp"
- #include "lua/llimits.h"
-
- #include <boost/version.hpp>
-+#include <boost/foreach.hpp>
-
- namespace po = boost::program_options;
-
-@@ -374,7 +374,7 @@
- void commandline_options::parse_log_domains_(const std::string &domains_string, const int severity)
- {
- const std::vector<std::string> domains = utils::split(domains_string, ',');
-- foreach (const std::string& domain, domains)
-+ BOOST_FOREACH(const std::string& domain, domains)
- {
- if (!log)
- log = std::vector<boost::tuple<int, std::string> >();
-@@ -396,7 +396,7 @@
- {
- std::vector<boost::tuple<unsigned int,std::string> > vec;
- boost::tuple<unsigned int,std::string> elem;
-- foreach(const std::string &s, strings)
-+ BOOST_FOREACH(const std::string &s, strings)
- {
- const std::vector<std::string> tokens = utils::split(s, separator);
- if (tokens.size()!=2)
-@@ -415,7 +415,7 @@
- {
- std::vector<boost::tuple<unsigned int,std::string,std::string> > vec;
- boost::tuple<unsigned int,std::string,std::string> elem;
-- foreach(const std::string &s, strings)
-+ BOOST_FOREACH(const std::string &s, strings)
- {
- const std::vector<std::string> tokens = utils::split(s, separator);
- if (tokens.size()!=3)
-Index: src/gui/dialogs/editor_set_starting_position.cpp
-===================================================================
---- src/gui/dialogs/editor_set_starting_position.cpp (revision 54624)
-+++ src/gui/dialogs/editor_set_starting_position.cpp (revision 54625)
-@@ -17,7 +17,7 @@
-
- #include "gui/dialogs/editor_set_starting_position.hpp"
-
--#include "foreach.hpp"
-+#include <boost/foreach.hpp>
- #include "formatter.hpp"
- #include "formula_string_utils.hpp"
- #include "gettext.hpp"
-Index: src/gui/dialogs/gamestate_inspector.cpp
-===================================================================
---- src/gui/dialogs/gamestate_inspector.cpp (revision 54624)
-+++ src/gui/dialogs/gamestate_inspector.cpp (revision 54625)
-@@ -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 <vector>
- #include <boost/bind.hpp>
- #include <boost/shared_ptr.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -189,11 +189,11 @@
- ? 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 @@
- ? 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 @@
- 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 @@
- << '/' << 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 @@
- : std::vector<unit>();
-
- std::stringstream s;
-- foreach (const unit &u, recall_list) {
-+ BOOST_FOREACH(const unit &u, recall_list) {
- s << "id=["<<u.id() << "] "<<u.type_id() << "; L"<<u.level()<<"; " << u.experience() <<"/" << u.max_experience()<< " xp "<< std::endl;
-- foreach (const std::string &str, u.get_traits_list() ) {
-+ BOOST_FOREACH(const std::string &str, u.get_traits_list() ) {
- s << "\t" << str<< std::endl;
- }
- s << std::endl << std::endl;
-@@ -388,7 +388,7 @@
- : std::vector<unit>();
-
- 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 @@
- << 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 @@
- boost::shared_ptr<single_mode_controller>(new variable_mode_controller("variables",model_)));
- sm_controllers_.push_back(
- boost::shared_ptr<single_mode_controller>(new unit_mode_controller("units",model_)));
-- //foreach team
-+ //BOOST_FOREACHteam
- int sides = resources::teams
- ? static_cast<int>((*resources::teams).size())
- : 0;
-@@ -481,7 +481,7 @@
- void show_stuff_types_list()
- {
- model_.clear_stuff_types_list();
-- foreach (boost::shared_ptr<single_mode_controller> sm_controller, sm_controllers_ ) {
-+ BOOST_FOREACH(boost::shared_ptr<single_mode_controller> sm_controller, sm_controllers_ ) {
- model_.add_row_to_stuff_types_list(sm_controller->name(),sm_controller->name());
- }
- }
-Index: src/gui/dialogs/unit_attack.cpp
-===================================================================
---- src/gui/dialogs/unit_attack.cpp (revision 54624)
-+++ src/gui/dialogs/unit_attack.cpp (revision 54625)
-@@ -27,6 +27,8 @@
- #include "gui/widgets/window.hpp"
- #include "unit.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /*WIKI
-@@ -106,7 +108,7 @@
- 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();
-
-Index: src/gui/dialogs/data_manage.cpp
-===================================================================
---- src/gui/dialogs/data_manage.cpp (revision 54624)
-+++ src/gui/dialogs/data_manage.cpp (revision 54625)
-@@ -17,7 +17,6 @@
-
- #include "gui/dialogs/data_manage.hpp"
-
--#include "foreach.hpp"
- #include "formula_string_utils.hpp"
- #include "game_config.hpp"
- #include "game_preferences.hpp"
-@@ -43,6 +42,7 @@
-
- #include <cctype>
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -101,7 +101,7 @@
- tlistbox& list = find_widget<tlistbox>(&window, "persist_list", false);
- list.clear();
-
-- foreach(const savegame::save_info game, games) {
-+ BOOST_FOREACH(const savegame::save_info game, games) {
- std::map<std::string, string_map> data;
- string_map item;
-
-@@ -142,7 +142,7 @@
- find_widget<tlabel>(*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()
-Index: src/gui/dialogs/dialog.cpp
-===================================================================
---- src/gui/dialogs/dialog.cpp (revision 54624)
-+++ src/gui/dialogs/dialog.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- tdialog::~tdialog()
- {
-- foreach(tfield_* field, fields_) {
-+ BOOST_FOREACH(tfield_* field, fields_) {
- delete field;
- }
- }
-@@ -193,7 +194,7 @@
-
- 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::finalize_fields(twindow& window, const bool save_fields)
- {
-- foreach(tfield_* field, fields_) {
-+ BOOST_FOREACH(tfield_* field, fields_) {
- if(save_fields) {
- field->widget_finalize(window);
- }
-Index: src/gui/dialogs/debug_clock.cpp
-===================================================================
---- src/gui/dialogs/debug_clock.cpp (revision 54624)
-+++ src/gui/dialogs/debug_clock.cpp (revision 54625)
-@@ -24,6 +24,7 @@
- #include "gui/widgets/progress_bar.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #include <ctime>
-
-@@ -153,7 +154,7 @@
- }
-
- 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));
-Index: src/gui/dialogs/wml_message.cpp
-===================================================================
---- src/gui/dialogs/wml_message.cpp (revision 54624)
-+++ src/gui/dialogs/wml_message.cpp (revision 54625)
-@@ -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"
-Index: src/gui/dialogs/simple_item_selector.cpp
-===================================================================
---- src/gui/dialogs/simple_item_selector.cpp (revision 54624)
-+++ src/gui/dialogs/simple_item_selector.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /*WIKI
-@@ -79,7 +80,7 @@
- tlistbox& list = find_widget<tlistbox>(&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<std::string, string_map> data;
- string_map column;
-
-Index: src/gui/dialogs/game_load.cpp
-===================================================================
---- src/gui/dialogs/game_load.cpp (revision 54624)
-+++ src/gui/dialogs/game_load.cpp (revision 54625)
-@@ -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 <cctype>
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -151,7 +151,7 @@
- tlistbox& list = find_widget<tlistbox>(&window, "savegame_list", false);
- list.clear();
-
-- foreach(const savegame::save_info game, games) {
-+ BOOST_FOREACH(const savegame::save_info game, games) {
- std::map<std::string, string_map> data;
- string_map item;
-
-@@ -193,7 +193,7 @@
- find_widget<tlabel>(*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()
-Index: src/gui/dialogs/lobby_main.cpp
-===================================================================
---- src/gui/dialogs/lobby_main.cpp (revision 54624)
-+++ src/gui/dialogs/lobby_main.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_network("network");
- #define DBG_NW LOG_STREAM(debug, log_network)
-@@ -499,14 +499,14 @@
- void modify_grid_with_data(tgrid* grid, const std::map<std::string, string_map>& map)
- {
- typedef std::map<std::string, string_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<tcontrol*>(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 @@
- 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::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 @@
- //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 @@
- const std::vector<user_info>& match_infos = lobby_info_.users();
- std::vector<std::string> 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 @@
- {
- 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
-Index: src/gui/dialogs/campaign_difficulty.cpp
-===================================================================
---- src/gui/dialogs/campaign_difficulty.cpp (revision 54624)
-+++ src/gui/dialogs/campaign_difficulty.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /*WIKI
-@@ -65,7 +66,7 @@
- tcampaign_difficulty::tcampaign_difficulty(const std::vector<std::string>& 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 @@
-
- std::map<std::string, string_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();
- }
-Index: src/gui/dialogs/unit_create.cpp
-===================================================================
---- src/gui/dialogs/unit_create.cpp (revision 54624)
-+++ src/gui/dialogs/unit_create.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace {
- static std::string last_chosen_type_id = "";
- static unit_race::GENDER last_gender = unit_race::MALE;
-@@ -109,7 +110,7 @@
-
- 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);
-
-Index: src/gui/dialogs/formula_debugger.cpp
-===================================================================
---- src/gui/dialogs/formula_debugger.cpp (revision 54624)
-+++ src/gui/dialogs/formula_debugger.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -73,7 +73,7 @@
- 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 @@
- &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;
- }
-Index: src/gui/dialogs/title_screen.cpp
-===================================================================
---- src/gui/dialogs/title_screen.cpp (revision 54624)
-+++ src/gui/dialogs/title_screen.cpp (revision 54625)
-@@ -35,6 +35,7 @@
- #include "preferences_display.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #include <algorithm>
-
-@@ -306,7 +307,7 @@
- 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<std::string, string_map> page;
-Index: src/gui/dialogs/addon_list.cpp
-===================================================================
---- src/gui/dialogs/addon_list.cpp (revision 54624)
-+++ src/gui/dialogs/addon_list.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /*WIKI
-@@ -70,7 +71,7 @@
- * @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<std::string, string_map> data;
- string_map item;
-
-Index: src/gui/dialogs/campaign_selection.cpp
-===================================================================
---- src/gui/dialogs/campaign_selection.cpp (revision 54624)
-+++ src/gui/dialogs/campaign_selection.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -140,7 +140,7 @@
- &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 @@
- tmulti_page& multi_page = find_widget<tmulti_page>(
- &window, "campaign_details", false);
-
-- foreach (const config &c, campaigns_) {
-+ BOOST_FOREACH(const config &c, campaigns_) {
-
- /*** Add list item ***/
- string_map list_item;
-Index: src/gui/dialogs/mp_connect.cpp
-===================================================================
---- src/gui/dialogs/mp_connect.cpp (revision 54624)
-+++ src/gui/dialogs/mp_connect.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -90,7 +90,7 @@
- const std::vector<game_config::server_info>&
- 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<std::string, string_map> data;
- string_map item;
-Index: src/gui/dialogs/language_selection.cpp
-===================================================================
---- src/gui/dialogs/language_selection.cpp (revision 54624)
-+++ src/gui/dialogs/language_selection.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /*WIKI
-@@ -65,7 +66,7 @@
-
- const std::vector<language_def>& 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));
-
-Index: src/gui/dialogs/mp_create_game.cpp
-===================================================================
---- src/gui/dialogs/mp_create_game.cpp (revision 54624)
-+++ src/gui/dialogs/mp_create_game.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
- #endif
-+#include <boost/foreach.hpp>
- namespace gui2 {
-
- REGISTER_DIALOG(mp_create_game)
-@@ -101,7 +101,7 @@
- std::vector<std::string> 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<std::string, t_string> item;
- item.insert(std::make_pair("label", map));
- list->add_row(item);
-@@ -110,7 +110,7 @@
-
- // 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;
-Index: src/gui/dialogs/network_transmission.cpp
-===================================================================
---- src/gui/dialogs/network_transmission.cpp (revision 54624)
-+++ src/gui/dialogs/network_transmission.cpp (revision 54625)
-@@ -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"
-Index: src/gui/dialogs/addon/description.cpp
-===================================================================
---- src/gui/dialogs/addon/description.cpp (revision 54624)
-+++ src/gui/dialogs/addon/description.cpp (revision 54625)
-@@ -17,14 +17,15 @@
-
- #include "gui/dialogs/addon/description.hpp"
-
--#include "foreach.hpp"
- #include "gui/widgets/settings.hpp"
- #include "language.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
-
- 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()) {
-Index: src/gui/dialogs/addon/uninstall_list.cpp
-===================================================================
---- src/gui/dialogs/addon/uninstall_list.cpp (revision 54624)
-+++ src/gui/dialogs/addon/uninstall_list.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <algorithm>
-
- namespace {
-@@ -50,7 +51,7 @@
- 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<std::string> retv;
-
- typedef std::map<std::string, bool> 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);
- }
-Index: src/gui/dialogs/chat_log.cpp
-===================================================================
---- src/gui/dialogs/chat_log.cpp (revision 54624)
-+++ src/gui/dialogs/chat_log.cpp (revision 54625)
-@@ -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 <vector>
- #include <boost/bind.hpp>
- #include <boost/shared_ptr.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_chat_log("chat_log");
- #define DBG_CHAT_LOG LOG_STREAM(debug, log_chat_log)
-@@ -113,7 +113,7 @@
- std::stringstream str;
- LOG_CHAT_LOG << "entering tchat_log::model::add_row_to_chat_message_list\n";
- if (first<last) {
-- foreach (const chat_msg &t, make_pair(chat_log_history.begin()+first,chat_log_history.begin()+last))
-+ BOOST_FOREACH(const chat_msg &t, make_pair(chat_log_history.begin()+first,chat_log_history.begin()+last))
- {
- std::string prefix("/me");
- bool me = false;
-Index: src/gui/dialogs/mp_change_control.cpp
-===================================================================
---- src/gui/dialogs/mp_change_control.cpp (revision 54624)
-+++ src/gui/dialogs/mp_change_control.cpp (revision 54625)
-@@ -36,7 +36,7 @@
- #include <vector>
- #include <boost/bind.hpp>
- #include <boost/shared_ptr.hpp>
--#include <gui/widgets/button.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_gui("gui/dialogs/mp_change_control");
- #define ERR_GUI LOG_STREAM(err, log_gui)
-@@ -184,7 +184,7 @@
-
- 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<int>(resources::teams->size()) &&
- resources::teams->at(side_number_-1).current_player() == nick)
-Index: src/gui/dialogs/message.cpp
-===================================================================
---- src/gui/dialogs/message.cpp (revision 54624)
-+++ src/gui/dialogs/message.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- REGISTER_DIALOG(message)
-@@ -97,7 +98,7 @@
-
- void tmessage::post_show(twindow& /*window*/)
- {
-- foreach(tbutton_status& button_status, buttons_) {
-+ BOOST_FOREACH(tbutton_status& button_status, buttons_) {
- button_status.button = NULL;
- }
- }
-Index: src/gui/dialogs/lobby/lobby_data.cpp
-===================================================================
---- src/gui/dialogs/lobby/lobby_data.cpp (revision 54624)
-+++ src/gui/dialogs/lobby/lobby_data.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iterator>
-
- static lg::log_domain log_config("config");
-@@ -89,7 +90,7 @@
- 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 @@
- 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()
- {
-- foreach (game_filter_base* f, filters_) {
-+ BOOST_FOREACH(game_filter_base* f, filters_) {
- delete f;
- }
- }
-@@ -369,7 +370,7 @@
-
- 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 @@
-
- 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;
-Index: src/gui/dialogs/lobby/lobby_info.cpp
-===================================================================
---- src/gui/dialogs/lobby/lobby_info.cpp (revision 54624)
-+++ src/gui/dialogs/lobby/lobby_info.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <iterator>
-
- static lg::log_domain log_config("config");
-@@ -66,7 +67,7 @@
-
- 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 @@
- 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_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 @@
- 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 @@
- {
- 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 @@
-
- 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 @@
-
- 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 @@
- 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 @@
- {
- 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::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 @@
- 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) {
-Index: src/gui/dialogs/game_save.cpp
-===================================================================
---- src/gui/dialogs/game_save.cpp (revision 54624)
-+++ src/gui/dialogs/game_save.cpp (revision 54625)
-@@ -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"
-Index: src/gui/widgets/settings.cpp
-===================================================================
---- src/gui/widgets/settings.cpp (revision 54624)
-+++ src/gui/widgets/settings.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- bool new_widgets = false;
-@@ -283,12 +284,12 @@
- , 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<std::string, twindow_builder> child;
- child.first = child.second.read(w);
- window_types.insert(child);
-@@ -423,7 +424,7 @@
- const std::string& definition_type
- , const std::vector<tcontrol_definition_ptr>& 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 @@
- 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<std::string, tgui_definition> child;
- child.first = child.second.read(g);
- guis.insert(child);
-Index: src/gui/widgets/window.cpp
-===================================================================
---- src/gui/widgets/window.cpp (revision 54624)
-+++ src/gui/widgets/window.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -716,7 +716,7 @@
- return;
- }
-
-- foreach(std::vector<twidget*>& item, dirty_list_) {
-+ BOOST_FOREACH(std::vector<twidget*>& item, dirty_list_) {
-
- assert(!item.empty());
-
-@@ -1047,12 +1047,12 @@
- {
- // evaluate the group sizes
- typedef std::pair<const std::string, tlinked_size> 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 @@
- }
-
- // 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();
-
-Index: src/gui/widgets/stacked_widget.cpp
-===================================================================
---- src/gui/widgets/stacked_widget.cpp (revision 54624)
-+++ src/gui/widgets/stacked_widget.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -83,7 +83,7 @@
- {
- 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");
-Index: src/gui/widgets/text_box.cpp
-===================================================================
---- src/gui/widgets/text_box.cpp (revision 54624)
-+++ src/gui/widgets/text_box.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -162,7 +162,7 @@
- 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 @@
-
- // 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_));
- }
-
-Index: src/gui/widgets/toggle_panel.cpp
-===================================================================
---- src/gui/widgets/toggle_panel.cpp (revision 54624)
-+++ src/gui/widgets/toggle_panel.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -72,7 +72,7 @@
- {
- // typedef boost problem work around.
- typedef std::pair<std::string, string_map> hack ;
-- foreach(const hack& item, data) {
-+ BOOST_FOREACH(const hack& item, data) {
- tcontrol* control = dynamic_cast<tcontrol*>(find(item.first, false));
- if(control) {
- control->set_members(item.second);
-Index: src/gui/widgets/tree_view_node.cpp
-===================================================================
---- src/gui/widgets/tree_view_node.cpp (revision 54624)
-+++ src/gui/widgets/tree_view_node.cpp (revision 54625)
-@@ -24,6 +24,7 @@
- #include "gui/widgets/tree_view.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER \
- get_control_type() + " [" + tree_view().id() + "] " + __func__
-@@ -48,7 +49,7 @@
- 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 @@
- 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 @@
- return;
- }
-
-- foreach(ttree_view_node& node, children_) {
-+ BOOST_FOREACH(ttree_view_node& node, children_) {
- std::vector<twidget*> child_call_stack = call_stack;
- node.impl_populate_dirty_list(caller, child_call_stack);
- }
-@@ -455,7 +456,7 @@
- }
-
- 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 @@
- return;
- }
-
-- foreach(ttree_view_node& node, children_) {
-+ BOOST_FOREACH(ttree_view_node& node, children_) {
- node.set_visible_area(area);
- }
- }
-@@ -490,7 +491,7 @@
- return;
- }
-
-- foreach(ttree_view_node& node, children_) {
-+ BOOST_FOREACH(ttree_view_node& node, children_) {
- node.impl_draw_children(frame_buffer);
- }
- }
-Index: src/gui/widgets/settings.hpp
-===================================================================
---- src/gui/widgets/settings.hpp (revision 54624)
-+++ src/gui/widgets/settings.hpp (revision 54625)
-@@ -24,6 +24,7 @@
- #include "gui/auxiliary/widget_definition/window.hpp"
-
- #include <boost/function.hpp>
-+#include <boost/foreach.hpp>
-
- #include <string>
- #include <vector>
-@@ -124,7 +125,7 @@
- {
- std::vector<tcontrol_definition_ptr> definitions;
-
-- foreach(const config& definition
-+ BOOST_FOREACH(const config& definition
- , cfg.child_range(key ? key : definition_type + "_definition")) {
-
- definitions.push_back(new T(definition));
-Index: src/gui/widgets/slider.cpp
-===================================================================
---- src/gui/widgets/slider.cpp (revision 54624)
-+++ src/gui/widgets/slider.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -232,7 +232,7 @@
- // Inherited.
- tscrollbar_::update_canvas();
-
-- foreach(tcanvas& tmp, canvas()) {
-+ BOOST_FOREACH(tcanvas& tmp, canvas()) {
- tmp.set_variable("text", variant(get_value_label()));
- }
- }
-Index: src/gui/widgets/scrollbar.cpp
-===================================================================
---- src/gui/widgets/scrollbar.cpp (revision 54624)
-+++ src/gui/widgets/scrollbar.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -132,7 +132,7 @@
-
- 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_::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()));
- }
-Index: src/gui/widgets/grid_private.hpp
-===================================================================
---- src/gui/widgets/grid_private.hpp (revision 54624)
-+++ src/gui/widgets/grid_private.hpp (revision 54625)
-@@ -33,7 +33,7 @@
-
- #include "gui/widgets/grid.hpp"
-
--#include "foreach.hpp"
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -56,7 +56,7 @@
- const tpoint& coordinate, const bool must_be_active)
- {
- typedef typename tconst_duplicator<W, tgrid::tchild>::type hack;
-- foreach(hack& child, grid.children_) {
-+ BOOST_FOREACH(hack& child, grid.children_) {
-
- W* widget = child.widget();
- if(!widget) {
-@@ -91,7 +91,7 @@
- }
-
- typedef typename tconst_duplicator<W, tgrid::tchild>::type hack;
-- foreach(hack& child, grid.children_) {
-+ BOOST_FOREACH(hack& child, grid.children_) {
-
- widget = child.widget();
- if(!widget) {
-Index: src/gui/widgets/grid.cpp
-===================================================================
---- src/gui/widgets/grid.cpp (revision 54624)
-+++ src/gui/widgets/grid.cpp (revision 54625)
-@@ -21,6 +21,8 @@
- #include "gui/auxiliary/log.hpp"
- #include "gui/auxiliary/layout_exception.hpp"
-
-+#include <boost/foreach.hpp>
-+
- #include <numeric>
-
- #define LOG_SCOPE_HEADER "tgrid [" + id() + "] " + __func__
-@@ -48,7 +50,7 @@
- {
- // 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 @@
- {
- 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 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::set_active(const bool active)
- {
-- foreach(tchild& child, children_) {
-+ BOOST_FOREACH(tchild& child, children_) {
-
- twidget* widget = child.widget();
- if(!widget) {
-@@ -186,7 +188,7 @@
- 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 @@
-
- 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 @@
-
- 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 @@
-
- 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 @@
- // Inherited.
- twidget::set_origin(origin);
-
-- foreach(tchild& child, children_) {
-+ BOOST_FOREACH(tchild& child, children_) {
-
- twidget* widget = child.widget();
- assert(widget);
-@@ -567,7 +569,7 @@
- // 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::layout_children()
- {
-- foreach(tchild& child, children_) {
-+ BOOST_FOREACH(tchild& child, children_) {
- assert(child.widget());
- child.widget()->layout_children();
- }
-@@ -589,7 +591,7 @@
- {
- assert(!call_stack.empty() && call_stack.back() == this);
-
-- foreach(tchild& child, children_) {
-+ BOOST_FOREACH(tchild& child, children_) {
-
- assert(child.widget());
-
-@@ -627,7 +629,7 @@
-
- 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 @@
- return false;
- }
-
-- foreach(const tchild& child, children_) {
-+ BOOST_FOREACH(const tchild& child, children_) {
- const twidget* widget = child.widget();
- assert(widget);
-
-@@ -936,7 +938,7 @@
- assert(get_visible() == twidget::VISIBLE);
- set_dirty(false);
-
-- foreach(tchild& child, children_) {
-+ BOOST_FOREACH(tchild& child, children_) {
-
- twidget* widget = child.widget();
- assert(widget);
-Index: src/gui/widgets/toggle_button.cpp
-===================================================================
---- src/gui/widgets/toggle_button.cpp (revision 54624)
-+++ src/gui/widgets/toggle_button.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -89,7 +89,7 @@
-
- // set icon in canvases
- std::vector<tcanvas>& canvases = tcontrol::canvas();
-- foreach(tcanvas& canvas, canvases) {
-+ BOOST_FOREACH(tcanvas& canvas, canvases) {
- canvas.set_variable("icon", variant(icon_name_));
- }
-
-Index: src/gui/widgets/control.cpp
-===================================================================
---- src/gui/widgets/control.cpp (revision 54624)
-+++ src/gui/widgets/control.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #include <iomanip>
-
-@@ -211,7 +211,7 @@
- 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 @@
- 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"
-Index: src/gui/widgets/scrollbar_container.cpp
-===================================================================
---- src/gui/widgets/scrollbar_container.cpp (revision 54624)
-+++ src/gui/widgets/scrollbar_container.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -692,7 +692,7 @@
-
- /***** Setup the scrollbar buttons *****/
- typedef std::pair<std::string, tscrollbar_::tscroll> hack;
-- foreach(const hack& item, scroll_lookup()) {
-+ BOOST_FOREACH(const hack& item, scroll_lookup()) {
-
- // Vertical.
- tclickable_* button = find_widget<tclickable_>(
-@@ -838,7 +838,7 @@
- {
- 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<tcontrol>(
- vertical_scrollbar_grid_, name, false, false);
-
-@@ -848,7 +848,7 @@
- }
-
- /***** 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<tcontrol>(
- vertical_scrollbar_grid_, name, false, false);
-
-@@ -864,7 +864,7 @@
-
- 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<tcontrol>(
- horizontal_scrollbar_grid_, name, false, false);
-
-@@ -874,7 +874,7 @@
- }
-
- /***** 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<tcontrol>(
- horizontal_scrollbar_grid_, name, false, false);
-
-Index: src/gui/widgets/generator_private.hpp
-===================================================================
---- src/gui/widgets/generator_private.hpp (revision 54624)
-+++ src/gui/widgets/generator_private.hpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /**
-@@ -584,7 +585,7 @@
- /** Inherited from tgenerator_. */
- void clear()
- {
-- foreach(titem* item, items_) {
-+ BOOST_FOREACH(titem* item, items_) {
- delete item;
- }
- selected_item_count_ = 0;
-@@ -750,7 +751,7 @@
- /** 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 @@
- {
- 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 @@
- void child_populate_dirty_list(twindow& caller,
- const std::vector<twidget*>& call_stack)
- {
-- foreach(titem* item, items_) {
-+ BOOST_FOREACH(titem* item, items_) {
- std::vector<twidget*> child_call_stack = call_stack;
- item->grid.populate_dirty_list(caller, child_call_stack);
- }
-@@ -838,7 +839,7 @@
- /** 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 @@
- 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;
-Index: src/gui/widgets/generator.cpp
-===================================================================
---- src/gui/widgets/generator.cpp (revision 54624)
-+++ src/gui/widgets/generator.cpp (revision 54625)
-@@ -19,6 +19,8 @@
-
- #include "gui/widgets/window.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace policy {
-@@ -678,7 +680,7 @@
- assert(!callback);
-
- typedef std::pair<std::string, string_map> 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) {
-Index: src/gui/widgets/progress_bar.cpp
-===================================================================
---- src/gui/widgets/progress_bar.cpp (revision 54624)
-+++ src/gui/widgets/progress_bar.cpp (revision 54625)
-@@ -23,6 +23,7 @@
- #include "gui/widgets/settings.hpp"
-
- #include <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__
- #define LOG_HEADER LOG_SCOPE_HEADER + ':'
-@@ -38,7 +39,7 @@
- if(percentage_ != percentage) {
- percentage_ = percentage;
-
-- foreach(tcanvas& c, canvas()) {
-+ BOOST_FOREACH(tcanvas& c, canvas()) {
- c.set_variable("percentage", variant(percentage));
- }
-
-Index: src/gui/auxiliary/widget_definition.hpp
-===================================================================
---- src/gui/auxiliary/widget_definition.hpp (revision 54624)
-+++ src/gui/auxiliary/widget_definition.hpp (revision 54625)
-@@ -17,9 +17,10 @@
- #define GUI_AUXILIARY_WIDGET_DEFINITION_HPP_INCLUDED
-
- #include "config.hpp"
--#include "foreach.hpp"
- #include "gui/auxiliary/canvas.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace gui2 {
-
- /**
-@@ -98,7 +99,7 @@
- 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));
- }
- }
-Index: src/gui/auxiliary/event/dispatcher.cpp
-===================================================================
---- src/gui/auxiliary/event/dispatcher.cpp (revision 54624)
-+++ src/gui/auxiliary/event/dispatcher.cpp (revision 54625)
-@@ -17,7 +17,6 @@
-
- #include "gui/auxiliary/event/dispatcher_private.hpp"
-
--#include "foreach.hpp"
- #include "gui/auxiliary/log.hpp"
-
- namespace gui2 {
-Index: src/gui/auxiliary/event/handler.cpp
-===================================================================
---- src/gui/auxiliary/event/handler.cpp (revision 54624)
-+++ src/gui/auxiliary/event/handler.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <cassert>
-
- /**
-@@ -429,7 +430,7 @@
- }
-
- /***** Set proper state for the other dispatchers. *****/
-- foreach(tdispatcher* dispatcher, dispatchers_) {
-+ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) {
- dynamic_cast<twidget&>(*dispatcher).set_dirty();
- }
-
-@@ -448,7 +449,7 @@
-
- void thandler::activate()
- {
-- foreach(tdispatcher* dispatcher, dispatchers_) {
-+ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) {
- dispatcher->fire(SDL_ACTIVATE
- , dynamic_cast<twidget&>(*dispatcher)
- , NULL);
-@@ -472,7 +473,7 @@
- *
- * 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 @@
- {
- DBG_GUI_E << "Firing: " << SDL_VIDEO_RESIZE << ".\n";
-
-- foreach(tdispatcher* dispatcher, dispatchers_) {
-+ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) {
- dispatcher->fire(SDL_VIDEO_RESIZE
- , dynamic_cast<twidget&>(*dispatcher)
- , new_size);
-Index: src/gui/auxiliary/canvas.cpp
-===================================================================
---- src/gui/auxiliary/canvas.cpp (revision 54624)
-+++ src/gui/auxiliary/canvas.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace {
-@@ -1455,7 +1456,7 @@
- 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 @@
- } 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") {
-Index: src/gui/auxiliary/window_builder.cpp
-===================================================================
---- src/gui/auxiliary/window_builder.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace gui2 {
-
-@@ -67,7 +67,7 @@
- std::string
- , boost::function<tbuilder_widget_ptr(config)> >
- 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 @@
- , 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 @@
-
- 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 @@
- 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 @@
- */
- 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"]);
-Index: src/gui/auxiliary/tips.cpp
-===================================================================
---- src/gui/auxiliary/tips.cpp (revision 54624)
-+++ src/gui/auxiliary/tips.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- ttip::ttip(const t_string& text
-@@ -39,7 +40,7 @@
- {
- std::vector<ttip> 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 @@
-
- const std::set<std::string>& 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;
-Index: src/gui/auxiliary/notifier.hpp
-===================================================================
---- src/gui/auxiliary/notifier.hpp (revision 54624)
-+++ src/gui/auxiliary/notifier.hpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <cassert>
- #include <map>
-
-@@ -47,7 +47,7 @@
- ~tnotifier()
- {
- typedef std::pair<tnotifiee<tfunctor>* const, tfunctor> thack;
-- foreach(thack& item, notifiees_) {
-+ BOOST_FOREACH(thack& item, notifiees_) {
- assert(item.first);
- assert((*item.first).notifier_ == this);
-
-Index: src/gui/auxiliary/window_builder/helper.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/helper.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/helper.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -60,7 +61,7 @@
- unsigned get_border(const std::vector<std::string>& 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") {
-Index: src/gui/auxiliary/window_builder/stacked_widget.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/stacked_widget.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/stacked_widget.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -35,7 +36,7 @@
- {
- 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));
- }
- }
-Index: src/gui/auxiliary/window_builder/slider.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/slider.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/slider.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -44,7 +45,7 @@
- return;
- }
-
-- foreach(const config& label, labels.child_range("value")) {
-+ BOOST_FOREACH(const config& label, labels.child_range("value")) {
- value_labels_.push_back(label["label"]);
- }
- }
-Index: src/gui/auxiliary/window_builder/horizontal_listbox.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/horizontal_listbox.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/horizontal_listbox.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -53,12 +54,12 @@
- 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;
-Index: src/gui/auxiliary/window_builder/listbox.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/listbox.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/listbox.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -66,12 +67,12 @@
- 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;
-Index: src/gui/auxiliary/window_builder/multi_page.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/multi_page.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/multi_page.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -46,12 +47,12 @@
- 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;
-Index: src/gui/auxiliary/window_builder/tree_view.cpp
-===================================================================
---- src/gui/auxiliary/window_builder/tree_view.cpp (revision 54624)
-+++ src/gui/auxiliary/window_builder/tree_view.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace gui2 {
-
- namespace implementation {
-@@ -39,7 +40,7 @@
- , nodes()
- {
-
-- foreach(const config &node, cfg.child_range("node")) {
-+ BOOST_FOREACH(const config &node, cfg.child_range("node")) {
- nodes.push_back(tnode(node));
- }
-
-Index: src/unit_types.cpp
-===================================================================
---- src/unit_types.cpp (revision 54624)
-+++ src/unit_types.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- static lg::log_domain log_config("config");
- #define ERR_CF LOG_STREAM(err, log_config)
-@@ -156,7 +156,7 @@
- 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<std::string>::const_iterator found_id =
- std::find(dsl.begin(), dsl.end(), vp.cfg["id"]);
- if (found_id == dsl.end()) {
-@@ -174,7 +174,7 @@
- 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 @@
-
- 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 @@
- 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 @@
- 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 @@
- }
-
- // 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 @@
- 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 @@
-
- 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 @@
- }
- }
-
-- 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 @@
- std::vector<attack_type> unit_type::attacks() const
- {
- std::vector<attack_type> 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 @@
- {
- 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 @@
- 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 @@
- if (!ut)
- return;
-
-- foreach(const std::string& adv, ut->advances_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 @@
- unit_types.build_all(unit_type::HELP_INDEX);
-
- std::vector<std::string> 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 @@
- 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 @@
- 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<std::string,unit_race>(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 @@
-
- void unit_type_data::check_types(const std::vector<std::string>& 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 @@
-
- std::vector<std::string> 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<std::string> adv_tree = ut->second.advancement_tree();
-@@ -1310,7 +1310,7 @@
- {
- 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 @@
- // 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
-Index: src/game_controller.cpp
-===================================================================
---- src/game_controller.cpp (revision 54624)
-+++ src/game_controller.cpp (revision 54625)
-@@ -50,6 +50,8 @@
- #include "statistics.hpp"
- #include "wml_exception.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- }
-
- int side_num = 1;
-- foreach (config &s, level.child_range("side"))
-+ BOOST_FOREACH(config &s, level.child_range("side"))
- {
- std::map<int,std::string>::const_iterator type = side_types.find(side_num),
- controller = side_controllers.find(side_num),
-@@ -507,7 +509,7 @@
- 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 @@
- }
-
- 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 @@
- }
-
- 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::mark_completed_campaigns(std::vector<config> &campaigns)
- {
-- foreach (config &campaign, campaigns) {
-+ BOOST_FOREACH(config &campaign, campaigns) {
- campaign["completed"] = preferences::is_campaign_completed(campaign["id"]);
- }
- }
-@@ -1218,7 +1220,7 @@
- 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();
- }
-
-Index: src/unit.cpp
-===================================================================
---- src/unit.cpp (revision 54624)
-+++ src/unit.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
- 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 @@
- 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 @@
- {
- 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 @@
- 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 @@
-
- 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 @@
- }
-
- // 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 @@
- "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 @@
- 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 @@
- config::const_child_itors current_traits = modifications_.child_range("trait");
- std::vector<config> 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<std::string> 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 @@
- 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 @@
- 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 @@
- const std::vector<std::string> unit::advances_to_translated() const
- {
- std::vector<std::string> 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 @@
- const std::map<std::string,std::string> unit::get_states() const
- {
- std::map<std::string, std::string> all_states;
-- foreach (std::string const &s, states_) {
-+ BOOST_FOREACH(std::string const &s, states_) {
- all_states[s] = "yes";
- }
- for (std::map<std::string, state_t>::const_iterator i = known_boolean_state_names_.begin(),
-@@ -1195,7 +1195,7 @@
- {
- 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 @@
- 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::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 @@
- 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<std::pair<std::string,std::string> > temp;
- std::pair<std::string,std::string> icon; //<image,tooltip>
-
-- 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<config> unit::get_modification_advances() const
- {
- std::vector<config> 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::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 @@
- 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 @@
- /** 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 @@
- }
- config last_effect;
- std::vector<t_string> 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 @@
- 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 @@
- 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 @@
- }
- } 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 @@
-
- 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 is_inv = !get_state(STATE_UNCOVERED) && get_ability_bool(hides,loc);
- if(is_inv){
- const std::vector<team>& 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 @@
- 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_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_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 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 @@
- "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 @@
- 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 @@
-
- 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);
- }
- }
-Index: src/campaign_server/campaign_server.cpp
-===================================================================
---- src/campaign_server/campaign_server.cpp (revision 54624)
-+++ src/campaign_server/campaign_server.cpp (revision 54625)
-@@ -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 <csignal>
-
-+#include <boost/foreach.hpp>
- #include <boost/iostreams/filter/gzip.hpp>
-
- // the fork execute is unix specific only tested on Linux quite sure it won't
-@@ -202,7 +202,7 @@
-
- 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 @@
- 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 @@
- } 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 @@
- if (after_flag && (tm.empty() || lexical_cast_default<time_t>(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 @@
- 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 @@
- 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;
-Index: src/image_modifications.cpp
-===================================================================
---- src/image_modifications.cpp (revision 54624)
-+++ src/image_modifications.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- #include <map>
-
- #define GETTEXT_DOMAIN "wesnoth-lib"
-@@ -99,7 +100,7 @@
- {
- 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);
-
-Index: src/statistics.cpp
-===================================================================
---- src/statistics.cpp (revision 54624)
-+++ src/statistics.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- static lg::log_domain log_engine("engine");
- #define DBG_NG LOG_STREAM(debug, log_engine)
-
-@@ -57,7 +58,7 @@
- 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 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 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 @@
- 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));
- }
- }
-Index: src/tooltips.cpp
-===================================================================
---- src/tooltips.cpp (revision 54624)
-+++ src/tooltips.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace {
-
- CVideo* video_ = NULL;
-@@ -172,7 +173,7 @@
-
- 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);
-Index: src/server/ban.cpp
-===================================================================
---- src/server/ban.cpp (revision 54624)
-+++ src/server/ban.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
- #include <boost/bind.hpp>
-
- namespace wesnothd {
-@@ -260,7 +259,7 @@
- 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 @@
- // 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 @@
- 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));
-Index: src/server/server.cpp
-===================================================================
---- src/server/server.cpp (revision 54624)
-+++ src/server/server.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
- #include <boost/scoped_ptr.hpp>
- #include <boost/scoped_array.hpp>
-+#include <boost/foreach.hpp>
- #include <boost/utility.hpp>
- #include <algorithm>
- #include <cassert>
-@@ -556,15 +556,15 @@
- }
-
- 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 @@
- 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 @@
- // 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;
-Index: src/server/room_manager.cpp
-===================================================================
---- src/server/room_manager.cpp (revision 54624)
-+++ src/server/room_manager.cpp (revision 54625)
-@@ -21,9 +21,10 @@
- #include "../serialization/string_utils.hpp"
- #include "../util.hpp"
- #include "../filesystem.hpp"
--#include "../foreach.hpp"
- #include "../log.hpp"
-
-+#include <boost/foreach.hpp>
-+
- 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 @@
- // 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 @@
- 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 @@
- 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(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 @@
- 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 @@
- 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 @@
- t_player_stored_rooms_::iterator it =
- player_stored_rooms_.insert(std::make_pair(player, std::set<std::string>())).first;
- std::set<std::string>& store = it->second;
-- foreach (room* r, i->second) {
-+ BOOST_FOREACH(room* r, i->second) {
- store.insert(r->name());
- }
- }
-@@ -337,7 +338,7 @@
- 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::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_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()) {
-Index: src/variable.cpp
-===================================================================
---- src/variable.cpp (revision 54624)
-+++ src/variable.cpp (revision 54625)
-@@ -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 <boost/variant.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define LOG_NG LOG_STREAM(info, log_engine)
-@@ -233,11 +233,11 @@
- {
- 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 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 @@
- 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 @@
- 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 @@
-
- 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 @@
- {
- 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";
-Index: src/preferences_display.cpp
-===================================================================
---- src/preferences_display.cpp (revision 54624)
-+++ src/preferences_display.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace preferences {
-
- display* disp = NULL;
-@@ -82,7 +83,7 @@
- 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'
-Index: src/hotkeys.cpp
-===================================================================
---- src/hotkeys.cpp (revision 54624)
-+++ src/hotkeys.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- 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 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) {
-Index: src/unit_display.cpp
-===================================================================
---- src/unit_display.cpp (revision 54624)
-+++ src/unit_display.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- #define LOG_DP LOG_STREAM(info, display)
-
-@@ -472,7 +472,7 @@
- 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);
-Index: src/editor/map_fragment.cpp
-===================================================================
---- src/editor/map_fragment.cpp (revision 54624)
-+++ src/editor/map_fragment.cpp (revision 54625)
-@@ -16,9 +16,10 @@
-
- #include "map_fragment.hpp"
-
--#include "../foreach.hpp"
- #include "util.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace editor {
-
- map_fragment::map_fragment()
-@@ -44,7 +45,7 @@
-
- void map_fragment::add_tiles(const gamemap& map, const std::set<map_location>& 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_location> map_fragment::get_offset_area(const map_location& loc) const
- {
- std::set<map_location> 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 @@
-
- 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 @@
- 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<int>(items_.size());
-@@ -92,7 +93,7 @@
- {
- 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::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_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::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_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::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();
-Index: src/editor/action.cpp
-===================================================================
---- src/editor/action.cpp (revision 54624)
-+++ src/editor/action.cpp (revision 54625)
-@@ -21,10 +21,10 @@
-
- #include "editor/action.hpp"
- #include "editor/map_context.hpp"
--#include "foreach.hpp"
- #include "gettext.hpp"
- #include "util.hpp"
-
-+#include <boost/foreach.hpp>
- namespace editor {
-
- int editor_action::next_id_ = 1;
-@@ -75,25 +75,25 @@
- 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 @@
- }
- 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_chain* editor_action_chain::perform(map_context& mc) const {
- util::unique_ptr<editor_action_chain> 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 @@
- }
- 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 @@
- }
- void editor_action_select::extend(const editor_map& map, const std::set<map_location>& 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 @@
- editor_action* editor_action_select::perform(map_context& mc) const
- {
- std::set<map_location> 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 @@
- }
- 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 @@
- }
- void editor_action_deselect::extend(const editor_map& map, const std::set<map_location>& 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 @@
- editor_action* editor_action_deselect::perform(map_context& mc) const
- {
- std::set<map_location> 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 @@
- }
- 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);
- }
-Index: src/editor/map_context.cpp
-===================================================================
---- src/editor/map_context.cpp (revision 54624)
-+++ src/editor/map_context.cpp (revision 54625)
-@@ -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 <boost/regex.hpp>
-+#include <boost/foreach.hpp>
-
-
- namespace editor {
-@@ -146,7 +146,7 @@
- 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::clear_stack(action_stack& stack)
- {
-- foreach (editor_action* a, stack) {
-+ BOOST_FOREACH(editor_action* a, stack) {
- delete a;
- }
- stack.clear();
-Index: src/editor/brush.cpp
-===================================================================
---- src/editor/brush.cpp (revision 54624)
-+++ src/editor/brush.cpp (revision 54625)
-@@ -17,9 +17,10 @@
- #include "brush.hpp"
- #include "editor_common.hpp"
-
--#include "../foreach.hpp"
- #include "../pathutils.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace editor {
-
- /*WIKI
-@@ -74,11 +75,11 @@
- if (radius > 0) {
- std::vector<map_location> 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 @@
- std::set<map_location> brush::project(const map_location& hotspot) const
- {
- std::set<map_location> result;
-- foreach (const map_location& relative, relative_tiles_) {
-+ BOOST_FOREACH(const map_location& relative, relative_tiles_) {
- result.insert(relative.vector_sum(hotspot));
- }
- return result;
-Index: src/editor/editor_map.cpp
-===================================================================
---- src/editor/editor_map.cpp (revision 54624)
-+++ src/editor/editor_map.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-
- namespace editor {
-
-@@ -111,7 +111,7 @@
- ++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";
- }
-Index: src/editor/editor_palettes.cpp
-===================================================================
---- src/editor/editor_palettes.cpp (revision 54624)
-+++ src/editor/editor_palettes.cpp (revision 54625)
-@@ -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 <boost/foreach.hpp>
-+
- namespace {
- static std::string selected_terrain;
- }
-@@ -84,7 +85,7 @@
-
- // Get the available groups and add them to the structure
- std::set<std::string> 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 @@
- }
- }
- std::map<std::string, terrain_group*> 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 @@
- // add the terrain to the requested groups
- const std::vector<std::string>& 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<std::string, terrain_group*>::iterator i = id_to_group.find(k);
-@@ -380,7 +381,7 @@
- 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 @@
- }
- }
-
-- 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 {
-Index: src/editor/editor_controller.cpp
-===================================================================
---- src/editor/editor_controller.cpp (revision 54624)
-+++ src/editor/editor_controller.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- namespace {
- static std::vector<std::string> saved_windows_;
-@@ -135,7 +135,7 @@
- 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_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 @@
- 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 @@
- }
- }
- }
-- 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_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 @@
- 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 @@
- 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 @@
-
- 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::quit_confirm(EXIT_STATUS mode)
- {
- std::vector<std::string> 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 @@
- 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 @@
- 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 @@
- 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::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);
-Index: src/formula.cpp
-===================================================================
---- src/formula.cpp (revision 54624)
-+++ src/formula.cpp (revision 54625)
-@@ -17,11 +17,12 @@
- #include <set>
- #include <sstream>
-
--#include "foreach.hpp"
- #include "formula_callable.hpp"
- #include "formula_function.hpp"
- #include "map_utils.hpp"
-
-+#include <boost/foreach.hpp>
-+
- namespace game_logic
- {
-
-@@ -117,7 +118,7 @@
- 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 @@
- 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 << ")}";
-Index: src/mouse_events.cpp
-===================================================================
---- src/mouse_events.cpp (revision 54624)
-+++ src/mouse_events.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_engine("engine");
- #define ERR_NG LOG_STREAM(err, log_engine)
-@@ -1048,7 +1048,7 @@
-
- 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 @@
-
- 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);
-Index: src/multiplayer_connect.cpp
-===================================================================
---- src/multiplayer_connect.cpp (revision 54624)
-+++ src/multiplayer_connect.cpp (revision 54625)
-@@ -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 <boost/bind.hpp>
-+#include <boost/foreach.hpp>
-
- static lg::log_domain log_network("network");
- #define LOG_NW LOG_STREAM(info, log_network)
-@@ -189,7 +189,7 @@
- // 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 @@
- std::vector<ai::description*> &ais_list = parent_->ai_algorithms_;
- std::vector<std::string> 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::update_faction_combo()
- {
- std::vector<std::string> 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 @@
- 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<std::string, config> 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<std::string, config>(children_to_swap, child));
-
- return children;
-@@ -836,12 +836,12 @@
-
- void connect::side::set_side_children(std::map<std::string, config> 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<std::string, config> child_map;
-
-- foreach(child_map, children)
-+ BOOST_FOREACH(child_map, children)
- cfg_.add_child(child_map.first, child_map.second);
- }
-
-@@ -920,7 +920,7 @@
- // Builds the list of sides eligible for choice (nonrandom factions)
- std::vector<int> 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 @@
- 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 @@
- // 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 @@
- } else {
- std::vector<std::string> map_team_names;
- int _side_num = 1;
-- foreach (config &side, sides)
-+ BOOST_FOREACH(config &side, sides)
- {
- const std::string side_num = lexical_cast<std::string>(_side_num);
- config::attribute_value &team_name = side["team_name"];
-@@ -1599,7 +1599,7 @@
-
- // 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 @@
- 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 @@
- * 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;
-
-------------------------------------------------------------------------