/****************************************************************************
** $Id: qdatastream.h,v 2.7.2.2 1998/08/21 19:13:24 hanord Exp $
**
** Definition of QDataStream class
**
** Created : 930831
**
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
**
** This file is part of Troll Tech's internal development tree for Qt.
**
** This header text will be replaced by an appropriate text by the
** mkdist script which generates external distributions.
**
** If you are using the Qt Professional Edition or the Qt Free Edition,
** please notify Troll Tech at <info@troll.no> if you see this text.
**
** To Troll Tech developers: This header was generated by the script
** fixcopyright-int. It has the same number of text lines as the free
** and professional editions to avoid line number inconsistency.
**
*****************************************************************************/
#ifndef QDATASTREAM_H
#define QDATASTREAM_H
#ifndef QT_H
#include "qiodevice.h"
#include "qstring.h"
#endif // QT_H
class Q_EXPORT QDataStream // data stream class
{
public:
QDataStream();
QDataStream( QIODevice * );
QDataStream( QByteArray, int mode );
virtual ~QDataStream();
QIODevice *device() const;
void setDevice( QIODevice * );
void unsetDevice();
bool eof() const;
enum ByteOrder { BigEndian, LittleEndian };
int byteOrder() const;
void setByteOrder( int );
bool isPrintableData() const;
void setPrintableData( bool );
QDataStream &operator>>( Q_INT8 &i );
QDataStream &operator>>( Q_UINT8 &i );
QDataStream &operator>>( Q_INT16 &i );
QDataStream &operator>>( Q_UINT16 &i );
QDataStream &operator>>( Q_INT32 &i );
QDataStream &operator>>( Q_UINT32 &i );
QDataStream &operator>>( float &f );
QDataStream &operator>>( double &f );
QDataStream &operator>>( char *&str );
QDataStream &operator<<( Q_INT8 i );
QDataStream &operator<<( Q_UINT8 i );
QDataStream &operator<<( Q_INT16 i );
QDataStream &operator<<( Q_UINT16 i );
QDataStream &operator<<( Q_INT32 i );
QDataStream &operator<<( Q_UINT32 i );
QDataStream &operator<<( float f );
QDataStream &operator<<( double f );
QDataStream &operator<<( const char *str );
QDataStream &readBytes( char *&, uint &len );
QDataStream &readRawBytes( char *, uint len );
QDataStream &writeBytes( const char *, uint len );
QDataStream &writeRawBytes( const char *, uint len );
private:
QIODevice *dev;
bool owndev;
int byteorder;
bool printable;
bool noswap;
private: // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
QDataStream( const QDataStream & );
QDataStream &operator=( const QDataStream & );
#endif
};
/*****************************************************************************
QDataStream inline functions
*****************************************************************************/
inline QIODevice *QDataStream::device() const
{ return dev; }
inline bool QDataStream::eof() const
{ return dev ? dev->atEnd() : TRUE; }
inline int QDataStream::byteOrder() const
{ return byteorder; }
inline bool QDataStream::isPrintableData() const
{ return printable; }
inline void QDataStream::setPrintableData( bool p )
{ printable = p; }
inline QDataStream &QDataStream::operator>>( Q_UINT8 &i )
{ return *this >> (Q_INT8&)i; }
inline QDataStream &QDataStream::operator>>( Q_UINT16 &i )
{ return *this >> (Q_INT16&)i; }
inline QDataStream &QDataStream::operator>>( Q_UINT32 &i )
{ return *this >> (Q_INT32&)i; }
inline QDataStream &QDataStream::operator<<( Q_UINT8 i )
{ return *this << (Q_INT8)i; }
inline QDataStream &QDataStream::operator<<( Q_UINT16 i )
{ return *this << (Q_INT16)i; }
inline QDataStream &QDataStream::operator<<( Q_UINT32 i )
{ return *this << (Q_INT32)i; }
#endif // QDATASTREAM_H
| Copyright © 1998 Troll Tech | Trademarks | Qt version 1.41
|