-
Notifications
You must be signed in to change notification settings - Fork 0
/
Iter.cpp
71 lines (54 loc) · 1020 Bytes
/
Iter.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <vector>
#include <memory>
#include "Iter.h"
// Constructor
Iter::Iter(float* p_) : p(p_) {};
// Desctructor
Iter::~Iter() {};
float& Iter::operator*() const {
return *p;
}
float& Iter::operator[](int i) const {
return p[i];
}
Iter& Iter::operator++(){
p++;
return *this;
}
Iter& Iter::operator--(){
p--;
return *this;
}
Iter Iter::operator++(int){
Iter tmp = *this;
p++;
return tmp;
}
Iter Iter::operator--(int){
Iter tmp = *this;
p--;
return tmp;
}
// ??
Iter Iter::operator+(int i) const {
return {p+i};
}
// ??
Iter Iter::operator-(int i) const {
return {p-i};
}
Iter& Iter::operator+=(int i) {
p += i;
return *this;
}
Iter& Iter::operator-=(int i) {
p -= i;
return *this;
}
bool Iter::operator==(const Iter& other) const {
return p == other.p;
}
bool Iter::operator!=(const Iter& other) const {
return p != other.p;
}