LRAUV  revA
StrIOStream Class Reference

Wraps a Str with an IOStream class. More...

#include <StrIOStream.h>

Inheritance diagram for StrIOStream:
Collaboration diagram for StrIOStream:

Public Member Functions

 StrIOStream (Str &str)
 Constructor. More...
 
virtual ~StrIOStream ()
 
virtual InStreamread (char *buffer, size_t num)
 reads num bytes from stream to the buffer More...
 
const char * getName ()
 returns name of the stream More...
 
void clear ()
 
void rewind ()
 
virtual bool isReadable ()
 indicates whether the stream can actually be read from. More...
 
virtual bool eof ()
 Indicates if the end of file has been reached. More...
 
virtual OutStreamwrite (const char *buffer, size_t num)
 writes num bytes from buffer to the output buffer/stream More...
 
bool isWritable ()
 indicates whether the stream can actually be written to. More...
 
- Public Member Functions inherited from InStream
virtual ~InStream ()
 Destructor. More...
 
InStreamreadChar (signed char &value)
 reads a single byte to the input buffer/stream More...
 
InStreamreadCharHex (signed char &byte)
 reads a single unsigned char from the input buffer/stream as 2 hex chars More...
 
InStreamreadUCharHex (unsigned char &byte)
 reads a single unsigned char from the input buffer/stream as 2 hex chars More...
 
virtual InStreamreadLine (char *buf, unsigned int bufsize)
 
InStreamreadShort (short &value)
 reads a single short from the input buffer/stream More...
 
InStreamreadShort (unsigned short &value)
 reads a single short from the input buffer/stream More...
 
InStreamreadShortHex (short &word)
 reads a single short from the input buffer/stream as 4 hex chars More...
 
InStreamreadUShortHex (unsigned short &value)
 reads a single unsigned short from the input buffer/stream as 4 hex chars More...
 
InStreamreadUShortCompact (unsigned short &value)
 reads an unsigned short integer as 1 to 3 bytes, encoded as follows: xxxxxxx0 - 7 bit value, encoded in 1 byte xxxxxx01+1byte - 14 bit value, encoded in 2 bytes xxxxx011+2bytes - 16 bit value, encoded in 3 bytes More...
 
InStreamreadInt24 (int &medInt)
 reads a 3-byte integer to the input buffer/stream only works on little-endian machines! More...
 
InStreamreadInt (int &value)
 reads a 4-byte integer to the input buffer/stream More...
 
InStreamreadLongLong (long long &value)
 reads a 8-byte integer to the input buffer/stream More...
 
InStreamreadLongLongCompact (long long &value)
 reads a signed long long integer as 1 to 9 bytes, encoded as follows: 0xxxxxxx - 7 bit value, encoded in 1 byte 10xxxxxx+1byte - 14 bit value, encoded in 2 bytes 110xxxxx+2bytes - 21 bit value, encoded in 3 bytes 1110xxxx+3bytes - 28 bit value, encoded in 4 bytes 11110xxx+4bytes - 35 bit value, encoded in 5 bytes 111110xx+5bytes - 42 bit value, encoded in 6 bytes 1111110x+6bytes - 49 bit value, encoded in 7 bytes 11111110+7bytes - 56 bit value, encoded in 8 bytes 11111111+8bytes - 64 bit value, encoded in 9 bytes More...
 
InStreamreadFloat (float &value)
 reads a 4-byte float to the input buffer/stream More...
 
InStreamreadFloat2 (float &value)
 reads a 2-byte float to the input buffer/stream More...
 
InStreamreadFloat3 (float &value)
 reads a 3-byte float to the input buffer/stream More...
 
InStreamreadDouble (double &value)
 reads a 8-byte double to the input buffer/stream More...
 
virtual InStreamreadUntil (char *buf, unsigned int num, unsigned char match)
 
size_t bytesRead ()
 Indicates the number of bytes read in the last operation. More...
 
size_t getBytesRead ()
 Indicates the number of bytes read in the last operation. More...
 
size_t getTotalBytesRead ()
 Indicates the total number of bytes read;. More...
 
- Public Member Functions inherited from OutStream
virtual ~OutStream ()
 Destructor. More...
 
virtual OutStreamwriteHex (const char *buffer, size_t num)
 writes num bytes from buffer to the output buffer/stream as hex chars More...
 
virtual OutStreamwrite (const char *buffer)
 writes zero-terminated buffer to the output buffer/stream More...
 
virtual OutStreamwriteHex (const char *buffer)
 writes zero-terminated buffer to the output buffer/stream More...
 
OutStreamoperator<< (const Str buffer)
 write a Str, using stream operator More...
 
OutStreamoperator<< (const char buffer[])
 write a Str, using stream operator More...
 
OutStreamoperator<< (const char byte)
 write a Str, using stream operator More...
 
OutStreamoperator<< (const signed char byte)
 write a Str, using stream operator More...
 
OutStreamoperator<< (const unsigned char byte)
 write a Str, using stream operator More...
 
OutStreamoperator<< (const int number)
 write a Str, using stream operator More...
 
OutStreamwriteChar (const signed char value)
 writes a single byte to the output buffer/stream More...
 
OutStreamwriteCharHex (const signed char byte)
 writes a single signed char to the output buffer/stream as 2 hex chars More...
 
OutStreamwriteUCharHex (const unsigned char byte)
 writes a single unsigned char to the output buffer/stream as 2 hex chars More...
 
OutStreamwriteInteger (const int number, const unsigned int radix=10)
 writes an integer as a base-radix string More...
 
OutStreamwriteNumber (const double number, const unsigned int radix=10)
 
OutStreamwriteShort (const short value)
 writes a single short to the output buffer/stream More...
 
OutStreamwriteShortHex (const short word)
 writes a single short to the output buffer/stream as 4 hex chars More...
 
OutStreamwriteUShortHex (const unsigned short word)
 writes a single unsigned short to the output buffer/stream as 4 hex chars More...
 
OutStreamwriteUShortCompact (const unsigned short &value)
 writes an unsigned short integer as 1 to 3 bytes, encoded as follows: xxxxxxx0 - 7 bit value, encoded in 1 byte xxxxxx01+1byte - 14 bit value, encoded in 2 bytes xxxxx011+2bytes - 16 bit value, encoded in 3 bytes More...
 
OutStreamwriteInt24 (const int medInt)
 writes a 3-byte integer to the output buffer/stream only works on little-endian machines! More...
 
OutStreamwriteInt (const int value)
 writes a 4-byte integer to the output buffer/stream More...
 
OutStreamwriteLongLong (const long long value)
 writes a 8-byte integer to the output buffer/stream More...
 
OutStreamwriteLongLongCompact (const long long &value)
 writes a signed long long integer as 1 to 9 bytes, encoded as follows: 0xxxxxxx - 7 bit value, encoded in 1 byte 10xxxxxx+1byte - 14 bit value, encoded in 2 bytes 110xxxxx+2bytes - 21 bit value, encoded in 3 bytes 1110xxxx+3bytes - 28 bit value, encoded in 4 bytes 11110xxx+4bytes - 35 bit value, encoded in 5 bytes 111110xx+5bytes - 42 bit value, encoded in 6 bytes 1111110x+6bytes - 49 bit value, encoded in 7 bytes 11111110+7bytes - 56 bit value, encoded in 8 bytes 11111111+8bytes - 64 bit value, encoded in 9 bytes More...
 
OutStreamwriteFloat (const float value)
 writes a 4-byte float to the output buffer/stream More...
 
OutStreamwriteFloat2 (const float value)
 writes a 2-byte float to the output buffer/stream More...
 
OutStreamwriteFloat3 (const float value)
 writes a 3-byte float to the output buffer/stream More...
 
OutStreamwriteDouble (const double value)
 writes a 8-byte double to the output buffer/stream More...
 
OutStreamwriteDouble6 (const double value)
 
size_t bytesWritten ()
 

Protected Attributes

Strstr_
 
size_t readPos_
 
- Protected Attributes inherited from OutStream
size_t lastWritten_
 

Private Member Functions

 StrIOStream (const StrIOStream &old)
 

Additional Inherited Members

- Protected Member Functions inherited from InStream
 InStream ()
 Protected Constructor for abstract class. More...
 
void zeroBytesRead ()
 
void incBytesRead ()
 
void incBytesRead (size_t incRead)
 
void setBytesRead (size_t lastRead)
 
void zeroTotalBytesRead ()
 
- Protected Member Functions inherited from OutStream
 OutStream ()
 Protected Constructor for abstract class. More...
 
- Static Protected Attributes inherited from OutStream
static const unsigned char HEX_CHARS [] = "0123456789ABCDEF"
 

Detailed Description

Wraps a Str with an IOStream class.

Part of an attempt to avoid the standard template library

Constructor & Destructor Documentation

StrIOStream::StrIOStream ( Str str)
inline

Constructor.

virtual StrIOStream::~StrIOStream ( )
inlinevirtual
StrIOStream::StrIOStream ( const StrIOStream old)
private

Member Function Documentation

void StrIOStream::clear ( )
inline
virtual bool StrIOStream::eof ( )
inlinevirtual

Indicates if the end of file has been reached.

Implements InStream.

References Str::length(), readPos_, and str_.

Referenced by isReadable().

const char* StrIOStream::getName ( )
inlinevirtual

returns name of the stream

Implements InStream.

virtual bool StrIOStream::isReadable ( )
inlinevirtual

indicates whether the stream can actually be read from.

Implements InStream.

References eof().

bool StrIOStream::isWritable ( )
inlinevirtual

indicates whether the stream can actually be written to.

Implements OutStream.

virtual InStream& StrIOStream::read ( char *  buffer,
size_t  num 
)
inlinevirtual

reads num bytes from stream to the buffer

Implements InStream.

References Str::cStr(), Str::length(), readPos_, InStream::setBytesRead(), and str_.

Referenced by StrIOStream_Test::testRead().

void StrIOStream::rewind ( )
inline

References readPos_.

Referenced by clear(), and ElementURI_Test::testRead().

virtual OutStream& StrIOStream::write ( const char *  buffer,
size_t  num 
)
inlinevirtual

writes num bytes from buffer to the output buffer/stream

Implements OutStream.

References OutStream::lastWritten_, Str::length(), Str::size(), and str_.

Referenced by StrIOStream_Test::testWrite().

Member Data Documentation

size_t StrIOStream::readPos_
protected

Referenced by eof(), read(), and rewind().

Str& StrIOStream::str_
protected

Referenced by clear(), eof(), read(), and write().


The documentation for this class was generated from the following file: