# qbuffer.h

This is the verbatim text of the qbuffer.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.

    /****************************************************************************
    ** $Id: qbuffer.h,v 2.6.2.3 1998/08/25 09:20:54 hanord Exp $
    **
    ** Definition of QBuffer class
    **
    ** Created : 930812
    **
    ** Copyright (C) 1992-1999 Troll Tech AS.  All rights reserved.
    **
    ** This file is part of Qt Free Edition, version 1.45.
    **
    ** See the file LICENSE included in the distribution for the usage
    ** and distribution terms, or http://www.troll.no/free-license.html.
    **
    ** IMPORTANT NOTE: You may NOT copy this file or any part of it into
    ** your own programs or libraries.
    **
    ** Please see http://www.troll.no/pricing.html for information about
    ** Qt Professional Edition, which is this same library but with a
    ** license which allows creation of commercial/proprietary software.
    **
    *****************************************************************************/

    #ifndef QBUFFER_H
    #define QBUFFER_H

    #ifndef QT_H
    #include "qiodevice.h"
    #include "qstring.h"
    #endif // QT_H

    class Q_EXPORT QBuffer : public QIODevice
    {
    public:
        QBuffer();
        QBuffer( QByteArray );
       ~QBuffer();

        QByteArray buffer() const;
        bool  setBuffer( QByteArray );

        bool  open( int );
        void  close();
        void  flush();

        uint  size() const;
        int   at()   const;
        bool  at( int );

        int   readBlock( char *p, uint );
        int   writeBlock( const char *p, uint );
        int   readLine( char *p, uint );

        int   getch();
        int   putch( int );
        int   ungetch( int );

    protected:
        QByteArray a;

    private:
        uint  a_len;
        uint  a_inc;

    private:        // Disabled copy constructor and operator=
    #if defined(Q_DISABLE_COPY)
        QBuffer( const QBuffer & );
        QBuffer &operator=( const QBuffer & );
    #endif
    };

    inline QByteArray QBuffer::buffer() const
    { return a; }

    inline uint QBuffer::size() const
    { return a.size(); }

    inline int QBuffer::at() const
    { return index; }

    #endif // QBUFFER_H