|
Packit |
1c1d7e |
#ifndef FTEXTSTREAM_H
|
|
Packit |
1c1d7e |
#define FTEXTSTREAM_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <stdio.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qiodevice.h>
|
|
Packit |
1c1d7e |
#include <qstring.h>
|
|
Packit |
1c1d7e |
#include <qgstring.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** @brief Simplified and optimized version of QTextStream */
|
|
Packit |
1c1d7e |
class FTextStream
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
FTextStream();
|
|
Packit |
1c1d7e |
FTextStream( QIODevice * );
|
|
Packit |
1c1d7e |
FTextStream( QGString * );
|
|
Packit |
1c1d7e |
FTextStream( FILE * );
|
|
Packit |
1c1d7e |
virtual ~FTextStream();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QIODevice *device() const;
|
|
Packit |
1c1d7e |
void setDevice( QIODevice * );
|
|
Packit |
1c1d7e |
void unsetDevice();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
FTextStream &operator<<( char );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( const char *);
|
|
Packit |
1c1d7e |
FTextStream &operator<<( const QString & );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( const QCString & );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( signed short );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( unsigned short );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( signed int );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( unsigned int );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( signed long );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( unsigned long );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( float );
|
|
Packit |
1c1d7e |
FTextStream &operator<<( double );
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QIODevice *m_dev;
|
|
Packit |
1c1d7e |
bool m_owndev;
|
|
Packit |
1c1d7e |
FTextStream &output_int( ulong n, bool neg );
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private: // Disabled copy constructor and operator=
|
|
Packit |
1c1d7e |
#if defined(Q_DISABLE_COPY)
|
|
Packit |
1c1d7e |
FTextStream( const FTextStream & );
|
|
Packit |
1c1d7e |
FTextStream &operator=( const FTextStream & );
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &FTextStream::operator<<( char c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (m_dev) m_dev->putch(c);
|
|
Packit |
1c1d7e |
return *this;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &FTextStream::operator<<( const char* s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
uint len = qstrlen( s );
|
|
Packit |
1c1d7e |
if (m_dev) m_dev->writeBlock( s, len );
|
|
Packit |
1c1d7e |
return *this;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &FTextStream::operator<<( const QString & s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return operator<<(s.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &FTextStream::operator<<( const QCString &s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return operator<<(s.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
typedef FTextStream & (*FTSFUNC)(FTextStream &);// manipulator function
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &operator<<( FTextStream &s, FTSFUNC f )
|
|
Packit |
1c1d7e |
{ return (*f)( s ); }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline FTextStream &endl( FTextStream & s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return s << '\n';
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif // FTEXTSTREAM_H
|