LRAUV  revA
OutStream Class Referenceabstract

This is a very abstract class that can be implemented by classes that want to send stream output. More...

#include <OutStream.h>

Inheritance diagram for OutStream:

Public Member Functions

virtual ~OutStream ()
 Destructor. More...
 
virtual OutStreamwrite (const char *buffer, size_t num)=0
 writes num bytes from buffer to the output buffer/stream More...
 
virtual OutStreamwriteHex (const char *buffer, size_t num)
 writes num bytes from buffer to the output buffer/stream as hex chars More...
 
virtual bool isWritable ()=0
 indicates whether the stream can actually be written to. 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 Member Functions

 OutStream ()
 Protected Constructor for abstract class. More...
 

Protected Attributes

size_t lastWritten_
 

Static Protected Attributes

static const unsigned char HEX_CHARS [] = "0123456789ABCDEF"
 

Private Member Functions

 OutStream (const OutStream &old)
 

Detailed Description

This is a very abstract class that can be implemented by classes that want to send stream output.

Provides basic input functions such as write(), as well as specialized functions for reading in data formats such as writeCharHex, etc.

Part of an attempt to avoid the standard template library

Constructor & Destructor Documentation

virtual OutStream::~OutStream ( )
inlinevirtual

Destructor.

OutStream::OutStream ( )
inlineprotected

Protected Constructor for abstract class.

OutStream::OutStream ( const OutStream old)
private

Member Function Documentation

virtual bool OutStream::isWritable ( )
pure virtual
OutStream& OutStream::operator<< ( const Str  buffer)
inline

write a Str, using stream operator

References Str::cStr(), Str::length(), and write().

OutStream& OutStream::operator<< ( const char  buffer[])
inline

write a Str, using stream operator

References write().

OutStream& OutStream::operator<< ( const char  byte)
inline

write a Str, using stream operator

References writeChar().

OutStream& OutStream::operator<< ( const signed char  byte)
inline

write a Str, using stream operator

References writeChar().

OutStream& OutStream::operator<< ( const unsigned char  byte)
inline

write a Str, using stream operator

References writeChar().

OutStream& OutStream::operator<< ( const int  number)
inline

write a Str, using stream operator

References writeInteger().

virtual OutStream& OutStream::write ( const char *  buffer)
inlinevirtual

writes zero-terminated buffer to the output buffer/stream

Reimplemented in FileIOStream, MappedIOStream, and FileOutStream.

References write().

OutStream & OutStream::writeCharHex ( const signed char  byte)

writes a single signed char to the output buffer/stream as 2 hex chars

writes a single unsigned char to the output buffer/stream as 2 hex chars

References HEX_CHARS, lastWritten_, and writeChar().

Referenced by ElementURI::write(), DataAccess::write(), and writeHex().

OutStream& OutStream::writeDouble ( const double  value)
inline

writes a 8-byte double to the output buffer/stream

References write().

OutStream& OutStream::writeDouble6 ( const double  value)
inline

References write().

Referenced by Double6::toStream().

OutStream& OutStream::writeFloat ( const float  value)
inline
OutStream& OutStream::writeFloat2 ( const float  value)
inline

writes a 2-byte float to the output buffer/stream

References write().

Referenced by Float2::toStream(), and EventEntry::write().

OutStream& OutStream::writeFloat3 ( const float  value)
inline

writes a 3-byte float to the output buffer/stream

References write().

Referenced by Float3::toStream().

OutStream & OutStream::writeHex ( const char *  buffer,
size_t  num 
)
virtual

writes num bytes from buffer to the output buffer/stream as hex chars

References writeCharHex().

Referenced by DataOverHttps::dataWriting(), NAL9602::retrieveAndQueueIncoming(), and writeHex().

virtual OutStream& OutStream::writeHex ( const char *  buffer)
inlinevirtual

writes zero-terminated buffer to the output buffer/stream

References writeHex().

OutStream& OutStream::writeInt ( const int  value)
inline

writes a 4-byte integer to the output buffer/stream

References write().

Referenced by MissionStateLogger::SetActive(), MissionStateLogger::SetRepeatIndex(), MtxOutStream::write(), and MtxIOStream::write().

OutStream& OutStream::writeInt24 ( const int  medInt)
inline

writes a 3-byte integer to the output buffer/stream only works on little-endian machines!

References write().

Referenced by EventEntry::write().

OutStream & OutStream::writeInteger ( const int  number,
const unsigned int  radix = 10 
)

writes an integer as a base-radix string

References Str::IntToAscii(), and write().

Referenced by operator<<(), and writeNumber().

OutStream& OutStream::writeLongLong ( const long long  value)
inline

writes a 8-byte integer to the output buffer/stream

References write().

OutStream & OutStream::writeLongLongCompact ( 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

writes a signed long long integer as 1 to 9 bytes, encoded as follows: xxxxxxx0 - 7 bit value, encoded in 1 byte xxxxxx01+1byte - 14 bit value, encoded in 2 bytes xxxxx011+2bytes - 21 bit value, encoded in 3 bytes xxxx0111+3bytes - 28 bit value, encoded in 4 bytes xxx01111+4bytes - 35 bit value, encoded in 5 bytes xx011111+5bytes - 42 bit value, encoded in 6 bytes x0111111+6bytes - 49 bit value, encoded in 7 bytes 01111111+7bytes - 56 bit value, encoded in 8 bytes 11111111+8bytes - 64 bit value, encoded in 9 bytes

References lastWritten_, write(), and writeChar().

Referenced by StrIOStream_Test::testLongLongCompact(), and LogEntry::writeTimestamp().

OutStream & OutStream::writeNumber ( const double  number,
const unsigned int  radix = 10 
)

References writeInteger().

OutStream& OutStream::writeShort ( const short  value)
inline
OutStream & OutStream::writeShortHex ( const short  word)

writes a single short to the output buffer/stream as 4 hex chars

References HEX_CHARS, lastWritten_, and writeChar().

Referenced by CodedStr::write(), DirectoryEntry::write(), ElementURI::write(), and DataAccess::write().

OutStream & OutStream::writeUCharHex ( const unsigned char  byte)

writes a single unsigned char to the output buffer/stream as 2 hex chars

References HEX_CHARS, lastWritten_, and writeChar().

Referenced by ElementURI::write().

OutStream & OutStream::writeUShortCompact ( 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

References lastWritten_, write(), and writeChar().

Referenced by StrIOStream_Test::testWriteUShortCompact(), SyslogEntry::write(), DirectoryEntry::write(), DataEntry::write(), and EventEntry::write().

OutStream & OutStream::writeUShortHex ( const unsigned short  word)

writes a single unsigned short to the output buffer/stream as 4 hex chars

writes a single short to the output buffer/stream as 4 hex chars

References HEX_CHARS, lastWritten_, and writeChar().

Referenced by ElementURI::write(), and DataAccess::write().

Member Data Documentation

const unsigned char OutStream::HEX_CHARS = "0123456789ABCDEF"
staticprotected

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