MDStressLab++
Loading...
Searching...
No Matches
range.h
Go to the documentation of this file.
1/*
2 * range.h
3 *
4 * Created on: Dec 1, 2019
5 * Author: Nikhil
6 */
7
8#ifndef INCLUDE_MDSTRESSLAB___RANGE_H_
9#define INCLUDE_MDSTRESSLAB___RANGE_H_
10
11template <class T> class range {
12private:
13 class iter {
14 private:
15 T at;
16 public:
17 iter(T at) : at(at) {}
18 bool operator!=(iter const& other) const { return at != other.at; }
19 T const& operator*() const { return at; }
20 iter& operator++() { ++at; return *this; }
21 };
22
23 T begin_val;
24 T end_val;
25public:
26 range(T begin_val, T end_val) :
27 begin_val(begin_val), end_val(end_val) { }
28 iter begin() { return iter(begin_val); }
29 iter end() { return iter(end_val); }
30};
31
32
33
34
35#endif /* INCLUDE_MDSTRESSLAB___RANGE_H_ */
Definition range.h:11
iter begin()
Definition range.h:28
iter end()
Definition range.h:29
range(T begin_val, T end_val)
Definition range.h:26