Solve warnings with a magic range class.

This commit is contained in:
2018-01-22 15:06:02 +01:00
parent 1c0235db4d
commit ef70f913bf
5 changed files with 43 additions and 6 deletions

37
src/Range.hpp Normal file
View File

@@ -0,0 +1,37 @@
#pragma once
namespace fmri
{
template<class T>
class Range
{
private:
T start_;
T end_;
public:
explicit Range(const T &num) : start_(0), end_(num) {};
Range(const T &start, const T &end) : start_(start), end_(end) {};
class Iter
{
private:
T cur_;
public:
explicit Iter(const T &cur) : cur_(cur)
{};
bool operator!=(const Iter& o) { return o.cur_ != cur_; }
Iter&operator++() { ++cur_; return *this; }
T &operator*() { return cur_; }
};
typedef Iter const_iterator;
const_iterator begin() const { return Iter(start_); }
const_iterator end() const { return Iter(end_); }
};
}