QtCore/qdatastream.h File Reference

qdatastream.h File Reference

Classes

class  QList< T >
 
class  QLinkedList< T >
 
class  QVector< T >
 
class  QSet< T >
 
class  QHash< Key, T >
 
class  QMap< Key, T >
 
class  QDataStream
 

Functions

template<typename T >
QDataStreamoperator>> (QDataStream &s, QList< T > &l)
 
template<typename T >
QDataStreamoperator<< (QDataStream &s, const QList< T > &l)
 
template<typename T >
QDataStreamoperator>> (QDataStream &s, QLinkedList< T > &l)
 
template<typename T >
QDataStreamoperator<< (QDataStream &s, const QLinkedList< T > &l)
 
template<typename T >
QDataStreamoperator>> (QDataStream &s, QVector< T > &v)
 
template<typename T >
QDataStreamoperator<< (QDataStream &s, const QVector< T > &v)
 
template<typename T >
QDataStreamoperator>> (QDataStream &in, QSet< T > &set)
 
template<typename T >
QDataStreamoperator<< (QDataStream &out, const QSet< T > &set)
 
template<class Key , class T >
Q_OUTOFLINE_TEMPLATE QDataStreamoperator>> (QDataStream &in, QHash< Key, T > &hash)
 
template<class Key , class T >
Q_OUTOFLINE_TEMPLATE QDataStreamoperator<< (QDataStream &out, const QHash< Key, T > &hash)
 
template<class aKey , class aT >
Q_OUTOFLINE_TEMPLATE QDataStreamoperator>> (QDataStream &in, QMap< aKey, aT > &map)
 
template<class Key , class T >
Q_OUTOFLINE_TEMPLATE QDataStreamoperator<< (QDataStream &out, const QMap< Key, T > &map)
 

Function Documentation

QDataStream& operator>> ( QDataStream s,
QList< T > &  l 
)

Definition at line 243 of file qdatastream.h.

244 {
245  l.clear();
246  quint32 c;
247  s >> c;
248  l.reserve(c);
249  for(quint32 i = 0; i < c; ++i)
250  {
251  T t;
252  s >> t;
253  l.append(t);
254  if (s.atEnd())
255  break;
256  }
257  return s;
258 }
void clear()
Definition: qlist.h:764
void reserve(int size)
Definition: qlist.h:496
bool atEnd() const
const GLubyte * c
Definition: GLee.h:5419
unsigned int quint32
Definition: qglobal.h:938
void append(const T &t)
Definition: qlist.h:507
GLdouble GLdouble t
Definition: GLee.h:1181
GLdouble s
Definition: GLee.h:1173
QDataStream& operator<< ( QDataStream s,
const QList< T > &  l 
)

Definition at line 261 of file qdatastream.h.

262 {
263  s << quint32(l.size());
264  for (int i = 0; i < l.size(); ++i)
265  s << l.at(i);
266  return s;
267 }
int size() const
Definition: qlist.h:137
const T & at(int i) const
Definition: qlist.h:468
unsigned int quint32
Definition: qglobal.h:938
GLdouble s
Definition: GLee.h:1173
QDataStream& operator>> ( QDataStream s,
QLinkedList< T > &  l 
)

Definition at line 270 of file qdatastream.h.

271 {
272  l.clear();
273  quint32 c;
274  s >> c;
275  for(quint32 i = 0; i < c; ++i)
276  {
277  T t;
278  s >> t;
279  l.append(t);
280  if (s.atEnd())
281  break;
282  }
283  return s;
284 }
void clear()
Definition: qlinkedlist.h:311
bool atEnd() const
const GLubyte * c
Definition: GLee.h:5419
unsigned int quint32
Definition: qglobal.h:938
GLdouble GLdouble t
Definition: GLee.h:1181
GLdouble s
Definition: GLee.h:1173
void append(const T &)
Definition: qlinkedlist.h:350
QDataStream& operator<< ( QDataStream s,
const QLinkedList< T > &  l 
)

Definition at line 287 of file qdatastream.h.

288 {
289  s << quint32(l.size());
290  typename QLinkedList<T>::ConstIterator it = l.constBegin();
291  for(; it != l.constEnd(); ++it)
292  s << *it;
293  return s;
294 }
const_iterator constBegin() const
Definition: qlinkedlist.h:184
int size() const
Definition: qlinkedlist.h:96
const_iterator constEnd() const
Definition: qlinkedlist.h:187
unsigned int quint32
Definition: qglobal.h:938
GLdouble s
Definition: GLee.h:1173
QDataStream& operator>> ( QDataStream s,
QVector< T > &  v 
)

Definition at line 297 of file qdatastream.h.

298 {
299  v.clear();
300  quint32 c;
301  s >> c;
302  v.resize(c);
303  for(quint32 i = 0; i < c; ++i) {
304  T t;
305  s >> t;
306  v[i] = t;
307  }
308  return s;
309 }
void resize(int size)
Definition: qvector.h:342
void clear()
Definition: qvector.h:347
const GLubyte * c
Definition: GLee.h:5419
unsigned int quint32
Definition: qglobal.h:938
GLdouble GLdouble t
Definition: GLee.h:1181
GLdouble s
Definition: GLee.h:1173
QDataStream& operator<< ( QDataStream s,
const QVector< T > &  v 
)

Definition at line 312 of file qdatastream.h.

313 {
314  s << quint32(v.size());
315  for (typename QVector<T>::const_iterator it = v.begin(); it != v.end(); ++it)
316  s << *it;
317  return s;
318 }
iterator end()
Definition: qvector.h:250
iterator begin()
Definition: qvector.h:247
const T * const_iterator
Definition: qvector.h:245
unsigned int quint32
Definition: qglobal.h:938
int size() const
Definition: qvector.h:137
GLdouble s
Definition: GLee.h:1173
QDataStream& operator>> ( QDataStream in,
QSet< T > &  set 
)

Definition at line 321 of file qdatastream.h.

322 {
323  set.clear();
324  quint32 c;
325  in >> c;
326  for (quint32 i = 0; i < c; ++i) {
327  T t;
328  in >> t;
329  set << t;
330  if (in.atEnd())
331  break;
332  }
333  return in;
334 }
void clear()
Definition: qset.h:87
bool atEnd() const
const GLubyte * c
Definition: GLee.h:5419
GLuint in
Definition: GLee.h:7188
unsigned int quint32
Definition: qglobal.h:938
GLdouble GLdouble t
Definition: GLee.h:1181
QDataStream& operator<< ( QDataStream out,
const QSet< T > &  set 
)

Definition at line 337 of file qdatastream.h.

338 {
339  out << quint32(set.size());
340  typename QSet<T>::const_iterator i = set.constBegin();
341  while (i != set.constEnd()) {
342  out << *i;
343  ++i;
344  }
345  return out;
346 }
int size() const
Definition: qset.h:75
const_iterator constEnd() const
Definition: qset.h:171
unsigned int quint32
Definition: qglobal.h:938
const_iterator constBegin() const
Definition: qset.h:168
Q_OUTOFLINE_TEMPLATE QDataStream& operator>> ( QDataStream in,
QHash< Key, T > &  hash 
)

Definition at line 349 of file qdatastream.h.

350 {
351  QDataStream::Status oldStatus = in.status();
352  in.resetStatus();
353  hash.clear();
354 
355  quint32 n;
356  in >> n;
357 
358  for (quint32 i = 0; i < n; ++i) {
359  if (in.status() != QDataStream::Ok)
360  break;
361 
362  Key k;
363  T t;
364  in >> k >> t;
365  hash.insertMulti(k, t);
366  }
367 
368  if (in.status() != QDataStream::Ok)
369  hash.clear();
370  if (oldStatus != QDataStream::Ok)
371  in.setStatus(oldStatus);
372  return in;
373 }
Status status() const
void clear()
Definition: qhash.h:574
GLenum GLsizei n
Definition: GLee.h:3432
void setStatus(Status status)
GLuint in
Definition: GLee.h:7188
unsigned int quint32
Definition: qglobal.h:938
void resetStatus()
iterator insertMulti(const Key &key, const T &value)
Definition: qhash.h:772
GLdouble GLdouble t
Definition: GLee.h:1181
Q_OUTOFLINE_TEMPLATE QDataStream& operator<< ( QDataStream out,
const QHash< Key, T > &  hash 
)

Definition at line 376 of file qdatastream.h.

377 {
378  out << quint32(hash.size());
379  typename QHash<Key, T>::ConstIterator it = hash.end();
380  typename QHash<Key, T>::ConstIterator begin = hash.begin();
381  while (it != begin) {
382  --it;
383  out << it.key() << it.value();
384  }
385  return out;
386 }
iterator end()
Definition: qhash.h:467
unsigned int quint32
Definition: qglobal.h:938
int size() const
Definition: qhash.h:295
iterator begin()
Definition: qhash.h:464
Q_OUTOFLINE_TEMPLATE QDataStream& operator>> ( QDataStream in,
QMap< aKey, aT > &  map 
)

Definition at line 392 of file qdatastream.h.

394 {
395  QDataStream::Status oldStatus = in.status();
396  in.resetStatus();
397  map.clear();
398 
399  quint32 n;
400  in >> n;
401 
402  map.detach();
403  map.setInsertInOrder(true);
404  for (quint32 i = 0; i < n; ++i) {
405  if (in.status() != QDataStream::Ok)
406  break;
407 
408  aKey key;
409  aT value;
410  in >> key >> value;
411  map.insertMulti(key, value);
412  }
413  map.setInsertInOrder(false);
414  if (in.status() != QDataStream::Ok)
415  map.clear();
416  if (oldStatus != QDataStream::Ok)
417  in.setStatus(oldStatus);
418  return in;
419 }
void detach()
Definition: qmap.h:205
Status status() const
iterator insertMulti(const Key &key, const T &value)
Definition: qmap.h:595
GLenum GLsizei n
Definition: GLee.h:3432
void setStatus(Status status)
GLsizei const GLfloat * value
Definition: GLee.h:1742
void setInsertInOrder(bool ordered)
Definition: qmap.h:209
GLuint in
Definition: GLee.h:7188
unsigned int quint32
Definition: qglobal.h:938
void clear()
Definition: qmap.h:444
void resetStatus()
Q_OUTOFLINE_TEMPLATE QDataStream& operator<< ( QDataStream out,
const QMap< Key, T > &  map 
)

Definition at line 422 of file qdatastream.h.

423 {
424  out << quint32(map.size());
425  typename QMap<Key, T>::ConstIterator it = map.end();
426  typename QMap<Key, T>::ConstIterator begin = map.begin();
427  while (it != begin) {
428  --it;
429  out << it.key() << it.value();
430  }
431  return out;
432 }
iterator end()
Definition: qmap.h:375
iterator begin()
Definition: qmap.h:372
unsigned int quint32
Definition: qglobal.h:938
int size() const
Definition: qmap.h:201

Go to the source code of this file.