filters
- filters
- kspread
- qpro
- libqpro
- src
1#include <qpro/common.h>
4#include "qpro/stream.h"
15QpIStream::QpIStream( unsigned char* pBuffer, unsigned int pLen)
16 : cBuffer(pBuffer), cLen(pLen)
18 cByteArray.setRawData( ( char*)cBuffer, ( int) cLen );
20 cBuf.setBuffer( cByteArray );
21 cBuf.open( IO_ReadOnly );
24 setByteOrder(TQDataStream::LittleEndian);
27QpIStream::~QpIStream()
29 cByteArray.resetRawData( ( char*)cBuffer, ( int) cLen );
39QpIStream::QpIStream( const char* pFileName)
44 filebuf* lFileBuf = new filebuf;
46 cStreamBuf = lFileBuf;
48 lFileBuf->open(pFileName, ios::in);
50 if( lFileBuf->is_open())
52 cIn = new istream(cStreamBuf);
56QpIStream::QpIStream( unsigned char* pBuffer, unsigned int pLen)
61 cStreamBuf = new std::stringbuf (( char*)(pBuffer));
63 cIn = new istream(cStreamBuf);
66QpIStream::~QpIStream()
80 if( (cIn==0) || cIn->rdstate())
85 if((lResult=cIn->get()) == EOF)
88 cIn->clear(ios::eofbit|ios::failbit);
99QpIStream::read( char* pBuf, TQP_INT16 pLen)
103 cIn->read(pBuf, pLen);
109QpIStream::operator void* ()
118QpIStream::operator !()
120 return ( cIn ? !*cIn : -1 );
125QpIStream::operator >> (TQP_INT8 &pI8)
133QpIStream::operator >> (TQP_UINT8 &pI8)
141QpIStream::operator >> (TQP_INT16 &pI16)
144 pI16 = pI16 | (get() << 8);
150QpIStream::operator >> (TQP_INT32 &pI32)
153 pI32 = pI32 | (get() << 8);
154 pI32 = pI32 | (get() << 16);
155 pI32 = pI32 | (get() << 24);
161QpIStream::operator >> (TQP_INT64 &pI64)
197QpIStream::operator >> ( char*& pStr)
202 char* lStr = new char[lMax];
204 while( cIn->get(lStr[lIdx]), lStr[lIdx] != '\0' && cIn->good() )
209 char* lNew = new char[lMax];
211 memcpy(lNew, lStr, lIdx);
|