# | Line 38 | Line 38 | TExtraData &TExtraData::operator =(const TExtraData &e | |
---|---|---|
38 | ||
39 | TExtraData &TExtraData::operator =(const TExtraData &extraData) | |
40 | { | |
41 | < | if (this == &extraData) |
41 | > | if (this == &extraData) |
42 | return *this; | |
43 | < | |
43 | > | |
44 | _ident = extraData._ident; | |
45 | _type = extraData._type; | |
46 | return *this; | |
47 | } | |
48 | ||
49 | – | //member function for Energy Data |
50 | – | TEnergyData::TEnergyData() |
51 | – | { |
52 | – | _ident = "Energy"; |
53 | – | _type = TExtraDataType::ENERGY; |
54 | – | } |
55 | – | |
49 | /*********************************************************************** | |
50 | * Class TExtraDataList | |
51 | ***********************************************************************/ | |
52 | + | |
53 | void TExtraDataList::AddExtraData(TExtraData *extraData) | |
54 | { | |
55 | if (extraData != NULL) | |
56 | { | |
57 | < | _extraDataList.push_back(extraData); |
57 | > | push_back(extraData); |
58 | } | |
59 | ||
60 | } | |
# | Line 69 | Line 63 | void TExtraDataList::RemoveExtraData(TExtraData *extra | |
63 | { | |
64 | vector<TExtraData *>::iterator i; | |
65 | ||
66 | < | i = find(_extraDataList.begin(), _extraDataList.end(), extraData); |
66 | > | i = find(begin(), end(), extraData); |
67 | ||
68 | < | if (i != _extraDataList.end()) |
68 | > | if (i != end()) |
69 | { | |
70 | < | _extraDataList.erase(i); |
70 | > | erase(i); |
71 | } | |
72 | else | |
73 | {//warning | |
# | Line 82 | Line 76 | void TExtraDataList::RemoveExtraData(TExtraData *extra | |
76 | ||
77 | } | |
78 | ||
79 | < | TExtraData *TExtraDataList::GetExtraData(int extraDataType) |
79 | > | TExtraData *TExtraDataList::GetExtraData(int type) |
80 | { | |
81 | + | vector<TExtraData *>::iterator i; |
82 | ||
83 | < | } |
83 | > | //Don't know the reason can not use functor here |
84 | > | // i = find_if(begin(), end(), TMatchExtraData(type)); |
85 | ||
86 | < | TExtraData *TExtraDataList::GetExtraData(string attr) |
87 | < | { |
86 | > | for (i=begin(); i<end(); i++) |
87 | > | { |
88 | > | if ((*i)->GetType() == type) |
89 | > | return *i; |
90 | > | } |
91 | ||
92 | + | return NULL; |
93 | } | |
94 | ||
95 | < | /*********************************************************************** |
96 | < | * Class TEnergyData |
97 | < | ***********************************************************************/ |
98 | < | |
99 | < | TEnergyData::TEnergyData(const TEnergyData &energyData) : TExtraData(energyData) |
95 | > | TExtraData *TExtraDataList::GetExtraData(string ident) |
96 | { | |
97 | < | _energy = energyData._energy; |
102 | < | } |
97 | > | vector<TExtraData *>::iterator i; |
98 | ||
99 | < | TEnergyData &TEnergyData::operator =(const TEnergyData &energyData) |
100 | < | { |
106 | < | if (this == &energyData) |
107 | < | return *this; |
108 | < | TExtraData::operator =(energyData); |
109 | < | _energy = energyData._energy; |
110 | < | } |
99 | > | //Don't know the reason can not use functor here |
100 | > | // i = find_if(begin(), end(), TMatchExtraData(ident)); |
101 | ||
102 | < | TEnergyData::~TEnergyData() |
103 | < | { |
104 | < | _energy.clear(); |
105 | < | } |
102 | > | for (i=begin(); i<end(); i++) |
103 | > | { |
104 | > | if ((*i)->GetIdent() == ident) |
105 | > | return *i; |
106 | > | } |
107 | ||
108 | < | map<int, float>::iterator TEnergyData::FindEnergy(int energyType) |
118 | < | { |
119 | < | return _energy.find(energyType); |
120 | < | } |
108 | > | return NULL; |
109 | ||
122 | – | void TEnergyData::AddEnergy(int energyType, float value) |
123 | – | { |
124 | – | _energy.insert(map<int,float>::value_type(energyType, value)); |
110 | } | |
111 | ||
127 | – | void TEnergyData::ReplaceEnergy(int energyType, float value) |
128 | – | { |
129 | – | map<int, float>::iterator i; |
130 | – | i = FindEnergy(energyType); |
131 | – | |
132 | – | if (i != _energy.end()) |
133 | – | { |
134 | – | (*i).second = value; |
135 | – | } |
136 | – | } |
112 | ||
138 | – | void TEnergyData::DeleteEnergy(int energyType) |
139 | – | { |
140 | – | map<int, float>::iterator i; |
141 | – | i = FindEnergy(energyType); |
142 | – | |
143 | – | if (i != _energy.end()) |
144 | – | { |
145 | – | _energy.erase(i); |
146 | – | } |
147 | – | } |
148 | – | |
149 | – | //return the energy with specified type, return NULL if not find |
150 | – | float *TEnergyData::GetEnergy(int energyType) |
151 | – | { |
152 | – | map<int, float>::iterator i; |
153 | – | i = FindEnergy(energyType); |
154 | – | |
155 | – | if (i != _energy.end()) |
156 | – | { |
157 | – | return &((*i).second); |
158 | – | } |
159 | – | else |
160 | – | { |
161 | – | return NULL; |
162 | – | } |
163 | – | } |
164 | – | |
113 | /*********************************************************************** | |
114 | * Class TBitVector | |
115 | ***********************************************************************/ |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |