123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
/**************************************************************************** ** $Id: qdatastream.h,v 1.12 2006/08/21 20:06:40 falbujer Exp $ ** ** Definition of QDataStream class ** ** Created : 930831 ** ** Copyright (C) 1992-2005 Trolltech AS. All rights reserved. ** ** This file is part of the tools module of the Qt GUI Toolkit. ** ** This file may be distributed under the terms of the Q Public License ** as defined by Trolltech AS of Norway and appearing in the file ** LICENSE.QPL included in the packaging of this file. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition ** licenses may use this file in accordance with the Qt Commercial License ** Agreement provided with the Software. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about Qt Commercial License Agreements. ** See http://www.trolltech.com/qpl/ for QPL licensing information. ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef QDATASTREAM_H #define QDATASTREAM_H #ifndef QT_H #include "qiodevice.h" #include "qstring.h" #endif // QT_H #ifndef QT_NO_DATASTREAM 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 atEnd() const; bool eof() const; enum ByteOrder { BigEndian, LittleEndian }; int byteOrder() const; void setByteOrder( int ); bool isPrintableData() const; void setPrintableData( bool ); int version() const; void setVersion( int ); 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>>( Q_INT64 &i ); QDataStream &operator>>( Q_UINT64 &i ); #if !defined(Q_OS_WIN64) QDataStream &operator>>( Q_LONG &i ); QDataStream &operator>>( Q_ULONG &i ); #endif 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<<( Q_INT64 i ); QDataStream &operator<<( Q_UINT64 i ); #if !defined(Q_OS_WIN64) QDataStream &operator<<( Q_LONG i ); QDataStream &operator<<( Q_ULONG i ); #endif 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; int ver; 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::atEnd() const { return dev ? dev->atEnd() : TRUE; } inline bool QDataStream::eof() const { return atEnd(); } inline int QDataStream::byteOrder() const { return byteorder; } inline bool QDataStream::isPrintableData() const { return printable; } inline void QDataStream::setPrintableData( bool p ) { printable = p; } inline int QDataStream::version() const { return ver; } inline void QDataStream::setVersion( int v ) { ver = v; } 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_UINT64 &i ) { return *this >> (Q_INT64&)i; } #if !defined(Q_OS_WIN64) inline QDataStream &QDataStream::operator>>( Q_ULONG &i ) { return *this >> (Q_LONG&)i; } #endif 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_UINT64 i ) { return *this << (Q_INT64)i; } #if !defined(Q_OS_WIN64) inline QDataStream &QDataStream::operator<<( Q_ULONG i ) { return *this << (Q_LONG)i; } #endif #endif // QT_NO_DATASTREAM #endif // QDATASTREAM_H
About Koders | Resources | Downloads | Support | Black Duck | Submit Project | Terms of Service | DMCA | Privacy Policy | Site Map| Contact Us
©2009 Koders is a trademark of Black Duck Software, Inc. Black Duck, Know Your Code and the Black Duck logo are registered trademarks of Black Duck Software, Inc. in the United States and other jurisdictions. All other trademarks are the property of their respective holders.