#ifndef QTEXTSTREAM_H_
#define QTEXTSTREAM_H_
#include "KWQIODevice.h"
#include "KWQString.h"
class QTextStream;
typedef QTextStream &(*QTextStreamManipulator)(QTextStream &);
QTextStream &endl(QTextStream& stream);
class QTextStream {
public:
QTextStream(const QByteArray &);
QTextStream(QString *, int mode = IO_WriteOnly);
QTextStream &operator<<(char);
QTextStream &operator<<(const QChar &);
QTextStream &operator<<(short);
QTextStream &operator<<(unsigned short);
QTextStream &operator<<(int);
QTextStream &operator<<(unsigned);
QTextStream &operator<<(long);
QTextStream &operator<<(unsigned long);
QTextStream &operator<<(float);
QTextStream &operator<<(double);
QTextStream &operator<<(const char *);
QTextStream &operator<<(const QString &);
QTextStream &operator<<(const QCString &);
QTextStream &operator<<(void *);
QTextStream &operator<<(const QTextStreamManipulator &);
private:
QTextStream(const QTextStream &);
QTextStream &operator=(const QTextStream &);
bool _hasByteArray;
QByteArray _byteArray;
QString *_string;
};
class QTextOStream : public QTextStream {
public:
QTextOStream(QString *s) : QTextStream(s) { }
QTextOStream(const QByteArray &ba) : QTextStream(ba) { }
};
class QTextIStream {
public:
QTextIStream(QString *s) : _string(s), _position(0) { }
QString readLine();
private:
QTextIStream(const QTextIStream &);
QTextIStream &operator=(const QTextIStream &);
QString *_string;
int _position;
};
#endif