Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cStreamBase Class Reference

#include <cStream.h>

Inheritance diagram for Gray::cStreamBase:
Gray::cStreamInput Gray::cStreamOutput Gray::cStream GrayLib::cMailslotReader GrayLib::cOSPipeServer GrayLib::cWaveStreamIn Gray::cAppConsole Gray::cLogProcessor Gray::cStream GrayLib::cAVControlInp GrayLib::cLogFileDay GrayLib::cMailslotWriter GrayLib::cOSPipeClient GrayLib::cWaveStreamOut GrayLib::cXProtocolServerStream GrayX::cCmdTail

Public Member Functions

virtual ~cStreamBase ()
 
virtual STREAM_SEEKRET_t Seek (STREAM_OFFSET_t iOffset, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set)
 
void SeekToBegin ()
 
STREAM_POS_t SeekToEnd ()
 
virtual STREAM_POS_t GetPosition () const
 
virtual STREAM_POS_t GetLength () const
 

Static Public Attributes

static const BYTE k_SIZE_MASK = 0x80
 Used for WriteSize() More...
 
static const size_t k_FILE_BLOCK_SIZE = (32 * 1024)
 default arbitrary transfer block size. more than this is NOT more efficient. More...
 

Detailed Description

base class for cStreamOutput or cStreamInput.

Constructor & Destructor Documentation

◆ ~cStreamBase()

virtual Gray::cStreamBase::~cStreamBase ( )
inlinevirtual

Member Function Documentation

◆ GetLength()

STREAM_POS_t Gray::cStreamBase::GetLength ( ) const
virtual

default implementation. override this for better implementation.

Returns
total length of the stream in bytes. if available. not the same as Read Length.

Reimplemented in GraySSL::cSSLCommon, GrayLib::cFileMem, Gray::cStreamStatic, Gray::cStreamQueue, Gray::cStream, and Gray::cFile.

◆ GetPosition()

STREAM_POS_t Gray::cStreamBase::GetPosition ( ) const
virtual

Get current read position. default implementation. If Seek() is not overridden.

Reimplemented in GrayLib::cFileMem, Gray::cStream, Gray::cFileText, and Gray::cFile.

◆ Seek()

virtual STREAM_SEEKRET_t Gray::cStreamBase::Seek ( STREAM_OFFSET_t  iOffset,
SEEK_ORIGIN_TYPE  eSeekOrigin = SEEK_Set 
)
inlinevirtual

Try to change position in a stream. TODO MOVE THIS TO RX ONLY ?? Maybe try to 'unread' to a previous position in the stream. This may not be possible if the data has been lost!

  • eSeekOrigin = SEEK_ORIGIN_TYPE SEEK_Cur etc.
    Returns
    the New position, <0=FAILED = INVALID_SET_FILE_POINTER

Reimplemented in Gray::cFileText, Gray::cStreamStatic, Gray::cStreamQueue, GrayLib::cFileMem, Gray::cFile, GraySSL::cSSLCommon, Gray::cStream, Gray::cStreamTextReader, and GrayLib::cNetStream.

◆ SeekToBegin()

void Gray::cStreamBase::SeekToBegin ( )
inline

ala MFC. Seek to start of file/stream.

◆ SeekToEnd()

STREAM_POS_t Gray::cStreamBase::SeekToEnd ( )
inline

ala MFC. Seek to end of file/stream.

Member Data Documentation

◆ k_FILE_BLOCK_SIZE

const size_t Gray::cStreamBase::k_FILE_BLOCK_SIZE = (32 * 1024)
static

default arbitrary transfer block size. more than this is NOT more efficient.

◆ k_SIZE_MASK

const BYTE Gray::cStreamBase::k_SIZE_MASK = 0x80
static

Used for WriteSize()


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