summaryrefslogtreecommitdiff
path: root/src/common/iter.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-03-15 19:34:59 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-03-16 18:58:48 -0700
commitc812c92d1a1835f0bda783e709481188c8d92225 (patch)
treeb401ede48a088ad1aaed88fe3b997cd26ff7ae08 /src/common/iter.hpp
parentde9ee1b9754af9d954487121947352f32d7ebb7e (diff)
downloadtmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.gz
tmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.bz2
tmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.xz
tmwa-c812c92d1a1835f0bda783e709481188c8d92225.zip
Clean up header organization
Diffstat (limited to 'src/common/iter.hpp')
-rw-r--r--src/common/iter.hpp97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/common/iter.hpp b/src/common/iter.hpp
deleted file mode 100644
index 5b39588..0000000
--- a/src/common/iter.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef TMWA_COMMON_ITER_HPP
-#define TMWA_COMMON_ITER_HPP
-// iter.hpp - tools for dealing with iterators
-//
-// Copyright © 2012-2014 Ben Longbons <b.r.longbons@gmail.com>
-//
-// This file is part of The Mana World (Athena server)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# include "../sanity.hpp"
-
-# include <iterator>
-
-
-/// Simple class to use a pair of iterators with foreach
-template<class It>
-class IteratorPair
-{
- It _b, _e;
-public:
- IteratorPair(It b, It e)
- : _b(b), _e(e)
- {}
-
- It begin() { return _b; }
- It end() { return _e; }
-};
-
-template<class It>
-IteratorPair<It> iterator_pair(It b, It e)
-{
- return {b, e};
-}
-
-template<class T>
-class PassthroughMath
-{
-public:
- static
- T inced(T v) { return ++v; }
-};
-
-// An iterator that just directly contains an integer-like value
-// TODO port this once the new integer API happens
-template<class T, class Math=PassthroughMath<T>>
-class ValueIterator
-{
- T value;
-public:
- typedef std::forward_iterator_tag iterator_category;
- typedef void difference_type;
- typedef T value_type;
- typedef void reference;
- typedef void pointer;
-public:
- ValueIterator(T v)
- : value(v)
- {}
-
- T operator *()
- {
- return value;
- }
- ValueIterator& operator++ ()
- {
- value = Math::inced(value);
- return *this;
- }
- friend bool operator == (ValueIterator l, ValueIterator r)
- {
- return l.value == r.value;
- }
- friend bool operator != (ValueIterator l, ValueIterator r)
- {
- return !(l == r);
- }
-};
-
-template<class T>
-IteratorPair<ValueIterator<T>> value_range(T b, T e)
-{
- return {b, e};
-}
-
-#endif // TMWA_COMMON_ITER_HPP