#ifndef QDATASTREAM_H
#define QDATASTREAM_H
#include <QtCore/qiodevice.h>
#include <QtCore/qglobal.h>
typedef enum QtValidLicenseForCoreModule QtCoreModule;
template < typename T > struct QLinkedList;
template < typename Key, typename T > struct QHash;
template < typename Key, typename T > struct QMap;
struct QDataStreamPrivate;
#ifndef QT_NO_DATASTREAM
class QDataStream{
public: enum Version{
Qt_1_0 = 1,
Qt_2_0 = 2,
Qt_2_1 = 3,
Qt_3_0 = 4,
Qt_3_1 = 5,
Qt_3_3 = 6,
Qt_4_0 = 7,
Qt_4_1 = 7,
Qt_4_2 = 8,
};
public: enum ByteOrder{
BigEndian = 0,
LittleEndian = 1,
};
public: enum Status{
Ok = 0,
ReadPastEnd = 1,
ReadCorruptData = 2,
};
public: QDataStream();
public: explicit QDataStream(class QIODevice*);
public: QDataStream(class QByteArray*, class QFlags < enum QIODevice::OpenModeFlag > flags);
public: QDataStream(class QByteArray const &);
public: virtual ~QDataStream();
public: void setDevice(class QIODevice*);
public: void unsetDevice();
public: bool atEnd() const
public: enum QDataStream::Status status() const
public: void setStatus(enum QDataStream::Status status);
public: void resetStatus();
public: void setByteOrder(enum QDataStream::ByteOrder);
public: class QDataStream& operator >>(qint8& i);
public: class QDataStream& operator >>(qint16& i);
public: class QDataStream& operator >>(qint32& i);
public: class QDataStream& operator >>(qint64& i);
public: class QDataStream& operator >>(bool& i);
public: class QDataStream& operator >>(float& f);
public: class QDataStream& operator >>(double& f);
public: class QDataStream& operator >>(char* & str);
public: class QDataStream& operator <<(qint8 i);
public: class QDataStream& operator <<(qint16 i);
public: class QDataStream& operator <<(qint32 i);
public: class QDataStream& operator <<(qint64 i);
public: class QDataStream& operator <<(bool i);
public: class QDataStream& operator <<(float f);
public: class QDataStream& operator <<(double f);
public: class QDataStream& operator <<(char const * str);
public: class QDataStream& readBytes(char* &, uint& len);
public: int readRawData(char*, int len);
public: class QDataStream& writeBytes(char const *, uint len);
public: int writeRawData(char const *, int len);
public: int skipRawData(int len);
private: QDataStream(class QDataStream const &);
private: class QDataStream& operator =(class QDataStream const &);
private: struct QDataStreamPrivate* d;
private: class QIODevice* dev;
private: bool owndev;
private: bool noswap;
private: enum QDataStream::ByteOrder byteorder;
private: int ver;
private: enum QDataStream::Status q_status;
public: inline class QIODevice* device() const
public: inline enum QDataStream::ByteOrder byteOrder() const
public: inline int version() const
public: inline void setVersion(int v);
public: inline class QDataStream& operator >>(quint8& i);
public: inline class QDataStream& operator >>(quint16& i);
public: inline class QDataStream& operator >>(quint32& i);
public: inline class QDataStream& operator >>(quint64& i);
public: inline class QDataStream& operator <<(quint8 i);
public: inline class QDataStream& operator <<(quint16 i);
public: inline class QDataStream& operator <<(quint32 i);
public: inline class QDataStream& operator <<(quint64 i);
};
template < typename T > class QDataStream& operator >>(class QDataStream& s, class QList < T >& l);
template < typename T > class QDataStream& operator <<(class QDataStream& s, class QList < T > const & l);
template < typename T > class QDataStream& operator >>(class QDataStream& s, class QLinkedList < T >& l);
template < typename T > class QDataStream& operator <<(class QDataStream& s, class QLinkedList < T > const & l);
template < typename T > class QDataStream& operator >>(class QDataStream& s, class QVector < T >& v);
template < typename T > class QDataStream& operator <<(class QDataStream& s, class QVector < T > const & v);
template < typename T > class QDataStream& operator >>(class QDataStream& in, class QSet < T >& set);
template < typename T > class QDataStream& operator <<(class QDataStream& out, class QSet < T > const & set);
template < typename Key, typename T > class QDataStream& operator >>(class QDataStream& in, class QHash < Key, T >& hash);
template < typename Key, typename T > class QDataStream& operator <<(class QDataStream& out, class QHash < Key, T > const & hash);
#ifdef qdoc
#else
template < typename aKey, typename aT > class QDataStream& operator >>(class QDataStream& in, class QMap < aKey, aT >& map);
#endif
template < typename Key, typename T > class QDataStream& operator <<(class QDataStream& out, class QMap < aKey, aT > const & map);
#endif // QT_NO_DATASTREAM
#endif // QDATASTREAM_H