summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-02 13:40:26 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-03 10:15:44 +0100
commit24cffd138886ef99a186281e0bf6cc4f8c21d670 (patch)
treedfe1a0f1bb9e2530ed81803f8fde50745625979d
parentd955c2c1d4c5aef619c769d6e6497adc7359a57d (diff)
downloadcrawl-ref-24cffd138886ef99a186281e0bf6cc4f8c21d670.tar.gz
crawl-ref-24cffd138886ef99a186281e0bf6cc4f8c21d670.zip
Remove bidirectionality from radius_iterator.
This wasn't used anywhere and could easily be restored if required.
-rw-r--r--crawl-ref/source/coordit.cc33
-rw-r--r--crawl-ref/source/coordit.h6
2 files changed, 1 insertions, 38 deletions
diff --git a/crawl-ref/source/coordit.cc b/crawl-ref/source/coordit.cc
index cfe817a192..b93b4aad98 100644
--- a/crawl-ref/source/coordit.cc
+++ b/crawl-ref/source/coordit.cc
@@ -120,22 +120,6 @@ void radius_iterator::step()
}
}
-void radius_iterator::step_back()
-{
- const int minx = std::max(X_BOUND_1+1, center.x - radius);
- const int maxx = std::min(X_BOUND_2-1, center.x + radius);
- const int miny = std::max(Y_BOUND_1+1, center.y - radius);
-
- location.x--;
- if (location.x < minx)
- {
- location.x = maxx;
- location.y--;
- if (location.y < miny)
- iter_done = true;
- }
-}
-
bool radius_iterator::on_valid_square() const
{
if (!in_bounds(location))
@@ -164,26 +148,9 @@ const radius_iterator& radius_iterator::operator++()
return (*this);
}
-const radius_iterator& radius_iterator::operator--()
-{
- do
- this->step_back();
- while (!this->done() && !this->on_valid_square());
-
- return (*this);
-}
-
radius_iterator radius_iterator::operator++(int dummy)
{
const radius_iterator copy = *this;
++(*this);
return (copy);
}
-
-radius_iterator radius_iterator::operator--(int dummy)
-{
- const radius_iterator copy = *this;
- --(*this);
- return (copy);
-}
-
diff --git a/crawl-ref/source/coordit.h b/crawl-ref/source/coordit.h
index b7323bbef8..ecf57fad53 100644
--- a/crawl-ref/source/coordit.h
+++ b/crawl-ref/source/coordit.h
@@ -19,7 +19,7 @@ private:
coord_def current, topleft, bottomright;
};
-class radius_iterator : public std::iterator<std::bidirectional_iterator_tag,
+class radius_iterator : public std::iterator<std::forward_iterator_tag,
coord_def>
{
public:
@@ -35,12 +35,9 @@ public:
const coord_def* operator->() const;
const radius_iterator& operator ++ ();
- const radius_iterator& operator -- ();
radius_iterator operator ++ (int);
- radius_iterator operator -- (int);
private:
void step();
- void step_back();
bool on_valid_square() const;
coord_def location, center;
@@ -59,4 +56,3 @@ public:
};
#endif
-