-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnodedata.cpp
69 lines (50 loc) · 1.91 KB
/
nodedata.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
#include "nodedata.h"
//----------------------------------------------------------------------------
// constructors/destructor
NodeData::NodeData() { data = ""; } // default
NodeData::~NodeData() { } // needed so strings are deleted properly
NodeData::NodeData(const NodeData& nd) { data = nd.data; } // copy
NodeData::NodeData(const string& s) { data = s; } // cast string to NodeData
//----------------------------------------------------------------------------
// operator=
NodeData& NodeData::operator=(const NodeData& rhs) {
if (this != &rhs) {
data = rhs.data;
}
return *this;
}
//----------------------------------------------------------------------------
// operator==,!=
bool NodeData::operator==(const NodeData& rhs) const {
return data == rhs.data;
}
bool NodeData::operator!=(const NodeData& rhs) const {
return data != rhs.data;
}
//----------------------------------------------------------------------------
// operator<,>,<=,>=
bool NodeData::operator<(const NodeData& rhs) const {
return data < rhs.data;
}
bool NodeData::operator>(const NodeData& rhs) const {
return data > rhs.data;
}
bool NodeData::operator<=(const NodeData& rhs) const {
return data <= rhs.data;
}
bool NodeData::operator>=(const NodeData& rhs) const {
return data >= rhs.data;
}
//----------------------------------------------------------------------------
// setData
// returns true if the data is set, false when bad data, i.e., is eof
bool NodeData::setData(istream& infile) {
getline(infile, data);
return !infile.eof(); // eof function is true when eof char is read
}
//----------------------------------------------------------------------------
// operator<<
ostream& operator<<(ostream& output, const NodeData& nd) {
output << nd.data;
return output;
}