ICF 3.0.5.47
Technical documentation of ICF Libraries
iser::CBitMemoryReadArchive Class Reference

This class provides bitwise access to the byte data. More...

#include <CBitMemoryReadArchive.h>

Inheritance diagram for iser::CBitMemoryReadArchive:
Collaboration diagram for iser::CBitMemoryReadArchive:

Public Types

typedef CMemoryReadArchive BaseClass
 
- Public Types inherited from iser::CMemoryReadArchive
typedef CBinaryReadArchiveBase BaseClass
 
- Public Types inherited from iser::CBinaryReadArchiveBase
enum  MessageId { MI_STRING_TOO_LONG = 0x3f320b0 }
 
typedef CReadArchiveBase BaseClass
 
- Public Types inherited from iser::IArchive
enum  MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED }
 

Public Member Functions

 CBitMemoryReadArchive (const QVector< quint8 > &data, bool serializeHeader=true)
 Constructs a bit stream from a vector of bytes.
 
 CBitMemoryReadArchive (const void *bufferPtr, int bufferSize, bool serializeHeader=true)
 
 CBitMemoryReadArchive (const CMemoryWriteArchive &writeArchive, bool serializeHeader=true)
 
virtual quint32 ReadValue (int bits)
 Gets the value of the next bits in the stream.
 
virtual bool ProcessData (void *data, int size)
 Process binary data block.
 
virtual bool ProcessBits (void *dataPtr, int bitsCount, int bytesCount)
 Process binary data block.
 
virtual void ResetPosition ()
 Seeks internal cursor to the begin of data.
 
virtual bool IsValid () const
 Returns true if the archive is in valid state and internal position cursor has not reached end of archive data.
 
- Public Member Functions inherited from iser::CMemoryReadArchive
 CMemoryReadArchive (const void *bufferPtr, int bufferSize, bool serializeHeader=true)
 
 CMemoryReadArchive (const CMemoryWriteArchive &writeArchive, bool serializeHeader=true)
 
- Public Member Functions inherited from iser::CBinaryReadArchiveBase
virtual bool BeginTag (const CArchiveTag &tag)
 Begin of archive tag.
 
virtual bool EndTag (const CArchiveTag &tag)
 End of archive tag.
 
virtual bool Process (bool &value)
 Process primitive type.
 
virtual bool Process (char &value)
 Process primitive type.
 
virtual bool Process (quint8 &value)
 Process primitive type.
 
virtual bool Process (qint8 &value)
 Process primitive type.
 
virtual bool Process (quint16 &value)
 Process primitive type.
 
virtual bool Process (qint16 &value)
 Process primitive type.
 
virtual bool Process (quint32 &value)
 Process primitive type.
 
virtual bool Process (qint32 &value)
 Process primitive type.
 
virtual bool Process (quint64 &value)
 Process primitive type.
 
virtual bool Process (qint64 &value)
 Process primitive type.
 
virtual bool Process (float &value)
 Process primitive type.
 
virtual bool Process (double &value)
 Process primitive type.
 
virtual bool Process (QByteArray &value)
 Process primitive type.
 
virtual bool Process (QString &value)
 Process primitive type.
 
- Public Member Functions inherited from iser::CReadArchiveBase
bool IsChanging () const override
 Check if this archive processing change the object state.
 
const IVersionInfoGetVersionInfo () const override
 Get version of archived stream for specific versioning type.
 
bool ProcessBits (void *dataPtr, int bitsCount, int bytesCount) override
 Process binary data block.
 
- Public Member Functions inherited from iser::CArchiveBase
virtual bool IsTagSkippingSupported () const
 Check if skiping to the end of tag on EndTag is supported.
 
virtual bool BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count)
 Begin of archive tag containing set of subelements of the same type.
 
- Public Member Functions inherited from iser::IArchive

Protected Attributes

int m_bitPosition
 
- Protected Attributes inherited from iser::CMemoryReadArchive
const quint8 * m_bufferPtr
 
int m_bufferSize
 
int m_readPosition
 
bool m_isValid
 

Additional Inherited Members

- Static Public Member Functions inherited from iser::CMemoryReadArchive
static bool CloneByArchive (const ISerializable &object, ISerializable &result)
 Clone serializable objects using iser::CMemoryWriteArchive and iser::CMemoryReadArchive archives.
 
static bool CloneByArchive (const istd::IChangeable &object, istd::IChangeable &result)
 Try copy of two objects using of serialization.
 
static bool CompareByArchive (const istd::IChangeable &object1, const istd::IChangeable &object2)
 Compare two objects using coparision of serialized streams.
 
- Static Public Member Functions inherited from iser::CArchiveBase
static const CArchiveTagGetAcfRootTag ()
 
- Protected Member Functions inherited from iser::CMemoryReadArchive
virtual int GetMaxStringLength () const
 Get maximal allowed string size.
 
- Protected Member Functions inherited from iser::CBinaryReadArchiveBase
- Protected Member Functions inherited from iser::CReadArchiveBase
bool SerializeIcfHeader ()
 Serialize standard header.
 
- Protected Member Functions inherited from iser::CArchiveBase
 CArchiveBase ()
 
- Protected Member Functions inherited from istd::ILogger
virtual void DecorateMessage (IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const
 Decorate message parts before outputting.
 
virtual bool IsLogConsumed (const IInformationProvider::InformationCategory *categoryPtr=nullptr, const int *flagsPtr=nullptr) const
 Check if any log message is consumed.
 
virtual bool SendLogMessage (IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const
 Send any message to log.
 
- Static Protected Attributes inherited from iser::CArchiveBase
static CArchiveTag s_acfRootTag
 

Detailed Description

This class provides bitwise access to the byte data.

Definition at line 23 of file CBitMemoryReadArchive.h.

Member Typedef Documentation

◆ BaseClass

Constructor & Destructor Documentation

◆ CBitMemoryReadArchive() [1/3]

iser::CBitMemoryReadArchive::CBitMemoryReadArchive ( const QVector< quint8 > & data,
bool serializeHeader = true )

Constructs a bit stream from a vector of bytes.

◆ CBitMemoryReadArchive() [2/3]

iser::CBitMemoryReadArchive::CBitMemoryReadArchive ( const void * bufferPtr,
int bufferSize,
bool serializeHeader = true )

◆ CBitMemoryReadArchive() [3/3]

iser::CBitMemoryReadArchive::CBitMemoryReadArchive ( const CMemoryWriteArchive & writeArchive,
bool serializeHeader = true )

Member Function Documentation

◆ IsValid()

virtual bool iser::CBitMemoryReadArchive::IsValid ( ) const
virtual

Returns true if the archive is in valid state and internal position cursor has not reached end of archive data.

Reimplemented from iser::CMemoryReadArchive.

◆ ProcessBits()

virtual bool iser::CBitMemoryReadArchive::ProcessBits ( void * dataPtr,
int bitsCount,
int bytesCount )
virtual

Process binary data block.

Parameters
dataPtrpointer to memory block.
bitsCountnumber of bits.
bytesCountsize of memory block in bytes.

Implements iser::IArchive.

◆ ProcessData()

virtual bool iser::CBitMemoryReadArchive::ProcessData ( void * dataPtr,
int size )
virtual

Process binary data block.

Parameters
dataPtrpointer to memory block.
sizesize of memory block in bytes.

Reimplemented from iser::CMemoryReadArchive.

◆ ReadValue()

virtual quint32 iser::CBitMemoryReadArchive::ReadValue ( int bits)
virtual

Gets the value of the next bits in the stream.

◆ ResetPosition()

virtual void iser::CBitMemoryReadArchive::ResetPosition ( )
virtual

Seeks internal cursor to the begin of data.

Reimplemented from iser::CMemoryReadArchive.

Member Data Documentation

◆ m_bitPosition

int iser::CBitMemoryReadArchive::m_bitPosition
protected

Definition at line 56 of file CBitMemoryReadArchive.h.


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

© Witold Gantzke and Kirill Lepskiy