git-svn-id: svn://db.shs.com.ru/pip@641 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -249,7 +249,7 @@ template <typename Key, typename T>
|
||||
inline PIByteArray & operator <<(PIByteArray & s, const PIMap<Key, T> & v) {
|
||||
s << int(v.pim_index.size_s());
|
||||
for (uint i = 0; i < v.size(); ++i)
|
||||
s << v.pim_index[i].index << v.pim_index[i].key;
|
||||
s << int(v.pim_index[i].index) << v.pim_index[i].key;
|
||||
s << v.pim_content;
|
||||
return s;
|
||||
}
|
||||
@@ -269,9 +269,16 @@ template <typename Key, typename T>
|
||||
inline PIByteArray & operator >>(PIByteArray & s, PIMap<Key, T> & v) {
|
||||
assert(s.size_s() >= 4);
|
||||
int sz; s >> sz; v.pim_index.resize(sz);
|
||||
for (int i = 0; i < sz; ++i)
|
||||
s >> v.pim_index[i].index >> v.pim_index[i].key;
|
||||
int ind = 0;
|
||||
for (int i = 0; i < sz; ++i) {
|
||||
s >> ind >> v.pim_index[i].key;
|
||||
v.pim_index[i].index = ind;
|
||||
}
|
||||
s >> v.pim_content;
|
||||
if (v.pim_content.size_s() != v.pim_index.size_s()) {
|
||||
piCout << "Warning: loaded invalid PIMap, clear";
|
||||
v.clear();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
template<typename T>
|
||||
|
||||
Reference in New Issue
Block a user