Author: silene
Date: Sun May 17 22:31:08 2009
New Revision: 35718

URL: http://svn.gna.org/viewcvs/wesnoth?rev=35718&view=rev
Log:
Removed code duplication.

Modified:
    trunk/src/unit_map.cpp
    trunk/src/unit_map.hpp

Modified: trunk/src/unit_map.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_map.cpp?rev=35718&r1=35717&r2=35718&view=diff
==============================================================================
--- trunk/src/unit_map.cpp (original)
+++ trunk/src/unit_map.cpp Sun May 17 22:31:08 2009
@@ -68,31 +68,11 @@
        return unit_iterator(iter, this);
 }
 
-
-unit_map::const_unit_iterator unit_map::find(const map_location &loc) const {
-       lmap::const_iterator loc_iter = lmap_.find(loc);
-       if (loc_iter == lmap_.end()) {
-               return const_unit_iterator(map_.end(), this);
-       }
-
-       umap::const_iterator iter = map_.find(loc_iter->second);
-
-       assert(is_valid(iter));
-       return const_unit_iterator(iter, this);
-}
-
 unit_map::unit_iterator unit_map::find(const size_t &id) {
        umap::iterator iter = map_.find(id);
        iter = is_valid(iter) ? iter : map_.end();
 
        return unit_iterator(iter, this);
-}
-
-unit_map::const_unit_iterator unit_map::find(const size_t &id) const {
-       umap::const_iterator iter = map_.find(id);
-       iter = is_valid(iter) ? iter : map_.end();
-
-       return const_unit_iterator(iter, this);
 }
 
 unit_map::unit_iterator unit_map::begin() {
@@ -251,16 +231,6 @@
        LOG_NG << "unit_map::clean_invalid - removed " << num_cleaned << " 
invalid map entries.\n";
 }
 
-unit_map::const_unit_iterator unit_map::find_leader(int side) const
-{
-       unit_map::const_iterator i = begin(), i_end = end();
-       for (; i != i_end; ++i) {
-               if (static_cast<int>(i->second.side()) == side && 
i->second.can_recruit())
-                       return i;
-       }
-       return i_end;
-}
-
 unit_map::unit_iterator unit_map::find_leader(int side)
 {
        unit_map::iterator i = begin(), i_end = end();

Modified: trunk/src/unit_map.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_map.hpp?rev=35718&r1=35717&r2=35718&view=diff
==============================================================================
--- trunk/src/unit_map.hpp (original)
+++ trunk/src/unit_map.hpp Sun May 17 22:31:08 2009
@@ -283,11 +283,14 @@
        unit_iterator find(const map_location& loc) ;
        unit_iterator find(const unit_id_type& id);
 
-       const_unit_iterator find(const map_location& loc) const;
-       const_unit_iterator find(const unit_id_type& id) const;
-
-       const_unit_iterator find_leader(int side) const;
+       const_unit_iterator find(const map_location &loc) const
+       { return const_cast<unit_map *>(this)->find(loc); }
+       const_unit_iterator find(const unit_id_type &id) const
+       { return const_cast<unit_map *>(this)->find(id); }
+
        unit_iterator find_leader(int side);
+       const_unit_iterator find_leader(int side) const
+       { return const_cast<unit_map *>(this)->find_leader(side); }
 
        size_t count(const map_location& loc) const { return lmap_.count(loc); }
 


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to