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
11
template
<
class
T>
class
range
{
12
private
:
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;
25
public
:
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_ */
range
Definition
range.h:11
range::begin
iter begin()
Definition
range.h:28
range::end
iter end()
Definition
range.h:29
range::range
range(T begin_val, T end_val)
Definition
range.h:26
include
MDStressLab++
range.h
Generated by
1.9.8