IniFile
Lade ...
Suche ...
Keine Treffer
eut::Blob Klassenreferenz

Diese Klasse erlaubt das Bearbeiten eines Blobs (einfügen, kopieren, durchsuchen etc.). Mehr ...

#include <EuBlob.h>

Öffentliche Methoden

 Blob ()
 
 Blob (char *pData, std::size_t nDataSize, bool bCopy=true)
 
 Blob (const Blob &rBlob)
 
virtual ~Blob ()
 
int swap (Blob &rSwapBlob)
 
int setData (char *pData, std::size_t nDataSize, bool bCopy=true)
 
void setMemResponsible (bool bActiv=true)
 
bool isMemResponsible ()
 
void clear ()
 
void setNULL ()
 
virtual std::size_t getData (char *&prBlob, bool bCopy=true)
 
int getData (char *&prBlob, std::size_t nStartPosition, std::size_t nSize)
 
int getBlob (Blob *&prBlob, std::size_t nStartPosition, std::size_t nSize)
 
char getChar (std::size_t nPosition)
 
std::size_t getSize () const
 
bool findForward (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize, bool bSearchAtTheBeginning)
 
bool findForward (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
 
bool findForwardNext (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
 
bool findBackward (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize, bool bSearchAtTheEnd)
 
bool findBackward (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
 
bool findBackwardNext (std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
 
int setCurrentPosition (std::size_t nNewPosition)
 
std::size_t getCurrentPosition () const
 
int append (const char *pBuffer, std::size_t nBufferSize)
 
int append (const Blob *pBlob)
 
int append (const Blob &rBlob)
 
int insert (const char *pBuffer, std::size_t nBufferSize, std::size_t nBufferPosition)
 
int insert (const Blob *pBlob, std::size_t nBufferPosition)
 
int insert (const Blob &rBlob, std::size_t nBufferPosition)
 
int remove (std::size_t nNumberRemoveBytes, std::size_t nBufferPosition)
 
int replace (const char *pOldContent, std::size_t pOldContentSize, const char *pNewContent, std::size_t pNewContentSize)
 
int replaceAll (const char *pOldContent, std::size_t pOldContentSize, const char *pNewContent, std::size_t pNewContentSize)
 
Bloboperator+= (const Blob &rBlob)
 
Bloboperator= (const Blob &rBlob)
 
Bloboperator= (int iNULL)
 
 operator int () const
 
int operator== (const Blob &rBlob) const
 
int operator!= (const Blob &rBlob) const
 
bool operator> (const Blob &rBlob)
 
bool operator< (const Blob &rBlob)
 
bool operator>= (const Blob &rBlob)
 
bool operator<= (const Blob &rBlob)
 

Geschützte Attribute

char * m_pBlob
 
std::size_t m_nSize
 
std::size_t m_nCurrentPosition
 
bool m_bMemResponsible
 

Freundbeziehungen

Blob operator+ (Blob lT, const Blob &rrT)
 

Ausführliche Beschreibung

Diese Klasse erlaubt das Bearbeiten eines Blobs (einfügen, kopieren, durchsuchen etc.).

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Blob() [1/3]

eut::Blob::Blob ( )

Standard-Konstruktor.

◆ Blob() [2/3]

eut::Blob::Blob ( char * pData,
std::size_t nDataSize,
bool bCopy = true )

Konstruktor mit Parameterübergabe.

Parameter
[in]pDataEin Zeiger auf einen allocierten Speicher.
[in]nDataSizeDie Größe von pData.
[in]bCopyWenn false, wird pData nicht kopiert, sondern nur m_pBlob auf pData gesetzt.
Achtung
Wenn im Fall von bCopy = false die aufrufende Instanz den Puffer vor dem deleten des Blobs löscht, muss vor dem weiteren bearbeiten die Methode setNULL() aufgerufen werden um ein Arbeiten im freigegebenen Speicher zu verhindern.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ Blob() [3/3]

eut::Blob::Blob ( const Blob & rBlob)

Copy-Konstruktor.

Parameter
[in]rBlobVon diesem Blob werden die Daten übernommen.

◆ ~Blob()

virtual eut::Blob::~Blob ( )
virtual

Destruktor, ggf. allocierter Speicher wird aufgeräumt.

Dokumentation der Elementfunktionen

◆ append() [1/3]

int eut::Blob::append ( const Blob & rBlob)

Kopiert das übergebene Blob an das Blobende, wenn m_bMemResponsible == true.

Parameter
[in]rBlobDie Referenz auf das anzuhängenden Blob.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ append() [2/3]

int eut::Blob::append ( const Blob * pBlob)

Kopiert den übergebenen Blob an das Blobende, wenn m_bMemResponsible == true.

Parameter
[in]pBlobDer Zeiger auf das anzuhängenden Blob.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ append() [3/3]

int eut::Blob::append ( const char * pBuffer,
std::size_t nBufferSize )

Kopiert den übergebenen Buffer an das Blobende, wenn m_bMemResponsible == true.

Parameter
[in]pBufferDer Zeiger auf den anzuhängenden Speicher.
[in]nBufferSizeDie Größe (Anzahl Bytes) von pBuffer.

Codeschnipsel

int iErr = 0;
char * szString = "12345";
eut::Blob * pBlob = new eut::Blob();
iErr = pBlob->append( szString, strlen( szString )+1 );
delete pBlob;
Diese Klasse erlaubt das Bearbeiten eines Blobs (einfügen, kopieren, durchsuchen etc....
Definition EuBlob.h:75
int append(const char *pBuffer, std::size_t nBufferSize)
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ clear()

void eut::Blob::clear ( )

Setzt m_pBlob auf nullptr.

Gibt den Speicher von m_pBlob frei wenn m_bMemResponsible = true und setzt alle Werte auf die Anfangsgröße.

◆ findBackward() [1/2]

bool eut::Blob::findBackward ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize )

Liefert die Position im Blob von übergebener Suchmaske. Gesucht wird vom Ende des Blobs in Richtung Anfang.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben.
Rückgabe
Wenn Rückgabe false, dann wurde Suchmaske nicht gefunden.

Wird zum Iterieren durch das Blob in Verbindung mit findBackwardNext (...) genutzt.

Codeschnipsel

std::size_t t_nEndPosition = 0;
char t_szSearchMask[] = {0x0D, 0x0A};
std::size_t t_nSearchMaskSize = sizeof(t_szSearchMask);
...
if ( pBlob->findBackward( t_nEndPosition, t_szSearchMask, t_nSearchMaskSize ) )
{
do
{
... do anything ...
} while ( pBlob->findBackwardNext( t_nEndPosition, t_szSearchMask, t_nSearchMaskSize ) );
}
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.

◆ findBackward() [2/2]

bool eut::Blob::findBackward ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize,
bool bSearchAtTheEnd )

Liefert die Position im Blob von übergebener Suchmaske.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben.
[in]bSearchAtTheEndWenn true, dann wird vom Ende des Blobs gesucht; bei false ab der aktuellen Position in Richtung Anfang.
Rückgabe
Wenn Rückgabe false, dann Suchmaske nicht gefunden.
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.

◆ findBackwardNext()

bool eut::Blob::findBackwardNext ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize )

Liefert die Position im Blob von übergebener Suchmaske. Gesucht wird ab der aktuellen Position des Blobs in Richtung Anfang.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben.
Rückgabe
Wenn Rückgabe false, dann Suchmaske nicht gefunden.
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.

◆ findForward() [1/2]

bool eut::Blob::findForward ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize )

Liefert die Position im Blob von übergebener Suchmaske. Gesucht wird vom Anfang des Blobs in Richtung Ende.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben werden.
Rückgabe
Wenn Rückgabe false, dann wurde Suchmaske nicht gefunden.

Wird zum Iterieren durch das Blob in Verbindung mit findForwardNext (..) genutzt.

Codeschnipsel

std::size_t t_nEndPosition = 0;
char t_szSearchMask[] = {0x0D, 0x0A};
std::size_t t_nSearchMaskSize = sizeof(t_szSearchMask);
...
if ( pBlob->findForward( t_nEndPosition, t_szSearchMask, t_nSearchMaskSize ) )
{
do
{
... do anything ...
} while ( pBlob->findForwardNext( t_nEndPosition, t_szSearchMask, t_nSearchMaskSize ) );
}
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.

◆ findForward() [2/2]

bool eut::Blob::findForward ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize,
bool bSearchAtTheBeginning )

Liefert die Position im Blob von übergebener Suchmaske.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben werden.
[in]bSearchAtTheBeginningWenn true, dann wird vom Anfang des Blobs gesucht; bei false ab der aktuellen Position in Richtung Ende.
Rückgabe
Wenn Rückgabe false, dann Suchmaske nicht gefunden.
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.

◆ findForwardNext()

bool eut::Blob::findForwardNext ( std::size_t & nFoundPosition,
const char * pSearchMask,
std::size_t nSearchMaskSize )

Liefert die Position im Blob von übergebener Suchmaske. Gesucht wird ab der aktuellen Position des Blobs in Richtung Ende.

Parameter
[in,out]nFoundPositionWenn gefunden, die Position im Blob (kleinster Wert 1).
[in]pSearchMaskDie Suchmaske (z.B. char t_szSuchMaske[] = {0x0D, 0x0A};)
[in]nSearchMaskSizeDa nach allen Bytes gesucht werden kann, muss die Länge (Anzahl Bytes) übergeben werden.
Rückgabe
Wenn Rückgabe false, dann wurde Suchmaske nicht gefunden.
Achtung
m_nCurrentPosition wird auf den Anfang des Bereichs gesetzt, welcher der Suchmaske entspricht.
Siehe auch
findForward(std::size_t &, const char *, std::size_t)

◆ getBlob()

int eut::Blob::getBlob ( Blob *& prBlob,
std::size_t nStartPosition,
std::size_t nSize )

Liefert einen Teilblob des Blobs als Zeiger auf neuen Blob.

Parameter
[in,out]prBlobZeiger auf neues Blob.
[in]nStartPositionDie Startposition (kleinster Wert 1).
[in]nSizeDie Größe des Bereichs (Anzahl Bytes) welcher im gelieferten neuen Blob ist.
Achtung
Es wird von dieser Methode für den übergebenen Zeiger Speicher allokiert, welcher von der aufrufenden Instanz wieder freigegeben werden muß.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getChar()

char eut::Blob::getChar ( std::size_t nPosition)

Liefert ein einzelnen char.

Parameter
[in]nPositionPosition des gewünschten Char (kleinster Wert 1).
Achtung
Es ist darauf zu achten, daß der Positionszeiger im Range des Blobs liegt (keine Exception).
Rückgabe
Der char an der übergebnenen Position.

◆ getCurrentPosition()

std::size_t eut::Blob::getCurrentPosition ( ) const

Liefert die aktuelle Position von m_nCurrentPosition im Blob.

Rückgabe
Die aktuelle Position (kleinster Wert 1).

◆ getData() [1/2]

virtual std::size_t eut::Blob::getData ( char *& prBlob,
bool bCopy = true )
virtual

Liefert in prBlob das Blob.

Parameter
[in,out]prBlobDer Zeiger auf den Speicherbereich des Blobs.
[in]bCopyWenn Parameter bCopy auf true gesetzt ist, wird eine Kopie des Blobs geliefert.
Rückgabe
Die Grösse von prBlob (Anzahl Bytes).
Achtung
Wenn Parameter bCopy auf true gesetzt ist, wird von dieser Methode für prBlob Speicher allokiert, welcher von der aufrufenden Instanz wieder freigegeben werden muß.
Ausnahmebehandlung
eut::ErrorNExceptionEs wird eine Exception geworfen, wenn kein Speicher allociert werden konnte.

◆ getData() [2/2]

int eut::Blob::getData ( char *& prBlob,
std::size_t nStartPosition,
std::size_t nSize )

Liefert einen Bereich des Blobs als char*.

Parameter
[in,out]prBlobZeiger auf den alloclierten Speicherbereich.
[in]nStartPositionDie Startposition (kleinster Wert 1).
[in]nSizeDie Größe des Bereichs (Anzahl Bytes).
Achtung
Es wird von dieser Methode für übergebenen Pointer Speicher allokiert, welcher von der aufrufenden Instanz wieder freigegeben werden muß.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getSize()

std::size_t eut::Blob::getSize ( ) const

Liefert die Blobgröße (Anzahl Bytes).

Rückgabe
Die Blobgröße.

◆ insert() [1/3]

int eut::Blob::insert ( const Blob & rBlob,
std::size_t nBufferPosition )

Kopiert übergebenes Blob in das eigene Blob in übergebene Position.

Parameter
[in]rBlobDie Referenz auf das einzufügende Blob.
[in]nBufferPositionDie Position (kleinster Wert 1) im Blob, ab dem eingefügt werden soll.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ insert() [2/3]

int eut::Blob::insert ( const Blob * pBlob,
std::size_t nBufferPosition )

Kopiert übergebenes Blob in das eigene Blob in übergebene Position.

Parameter
[in]pBlobDer Zeiger auf das einzufügendes Blob.
[in]nBufferPositionDie Position (kleinster Wert 1) im Blob, ab dem eingefügt werden soll.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ insert() [3/3]

int eut::Blob::insert ( const char * pBuffer,
std::size_t nBufferSize,
std::size_t nBufferPosition )

Kopiert übergebenen Buffer in das eigene Blob in übergebene Position.

Parameter
[in]pBufferZeiger auf einzufügenden Speicher.
[in]nBufferSizeDie Größe (Anzahl Bytes) von pBuffer.
[in]nBufferPositionDie Position (kleinster Wert 1) im Blob, ab dem eingefügt werden soll.

Codeschnipsel

int iErr = 0;
char * szString = "12345";
eut::Blob * pBlob = new eut::Blob();
// szString ans Ende von pBlob anhängen
iErr = pBlob->insert( szString, strlen( szString )+1, pBlob->getSize()+1 );
...
delete pBlob;
int insert(const char *pBuffer, std::size_t nBufferSize, std::size_t nBufferPosition)
std::size_t getSize() const
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ isMemResponsible()

bool eut::Blob::isMemResponsible ( )

Liefert die Verantwortung über den Speicher des Blobs.

Rückgabe
Wenn true, hat das Blob die Verantwortung für den Puffer; läßt die Bearbeitung zu und deletet den Puffer im Destruktor.

◆ operator int()

eut::Blob::operator int ( ) const

Wenn die Größe nicht gesetzt dann ist der Rückgabewert gleich 0.

Codeschnipsel

eut::Blob myBlob();
if ( myBlob > 0 ) cout << "Blob hat Inhalt!" << endl;
else cout << "Blob hat KEINEN Inhalt!" << endl;

Ausgabe:

Blob hat KEINEN Inhalt!

◆ operator!=()

int eut::Blob::operator!= ( const Blob & rBlob) const

Vergleichsoperator.

◆ operator+=()

Blob & eut::Blob::operator+= ( const Blob & rBlob)

Zuweisungsoperator welcher ein Blob erwartet und diesen an seine Daten anhängt.

Parameter
[in]rBlobVon diesem Objekt werden die Daten übernommen.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Siehe auch
Blob::append( Blob & rBlob )

◆ operator<()

bool eut::Blob::operator< ( const Blob & rBlob)

Vergleichsoperator.

◆ operator<=()

bool eut::Blob::operator<= ( const Blob & rBlob)

Vergleichsoperator.

◆ operator=() [1/2]

Blob & eut::Blob::operator= ( const Blob & rBlob)

Zuweisungsoperator welcher ein Blob erwartet.

Parameter
[in]rBlobVon diesem Objekt werden die Daten übernommen.

◆ operator=() [2/2]

Blob & eut::Blob::operator= ( int iNULL)

Zuweisungsoperator welcher ein integer erwartet.

Parameter
[in]iNULLEgal was übergeben wird; es werden das Blob aus dem Speicher entfernt und alle Werte auf 0 gesetzt.

Auf jedenfall hat das Blob einen "ungültigen" Wert (operator int() liefert 0)!

◆ operator==()

int eut::Blob::operator== ( const Blob & rBlob) const

Vergleichsoperator.

◆ operator>()

bool eut::Blob::operator> ( const Blob & rBlob)

Vergleichsoperator.

◆ operator>=()

bool eut::Blob::operator>= ( const Blob & rBlob)

Vergleichsoperator.

◆ remove()

int eut::Blob::remove ( std::size_t nNumberRemoveBytes,
std::size_t nBufferPosition )

Entfernt übergebene Anzahl von Bytes im eigenen Blob ab der übergebenen Position (inkl. dieser).

Parameter
[in]nNumberRemoveBytesDie Anzahl der zu entfernenden Bytes.
[in]nBufferPositionDie Position (kleinster Wert 1) im Blob, ab dem entfernt werden soll.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ replace()

int eut::Blob::replace ( const char * pOldContent,
std::size_t pOldContentSize,
const char * pNewContent,
std::size_t pNewContentSize )

Sucht und entfernt ersten übergebenen Inhalt pOldContent ab Anfang einmalig aus dem Blob und fügt statt dessen den Inhalt pNewContent ein.

Parameter
[in]pOldContentDer auszutauschende Inhalt.
[in]pOldContentSizeDie Länge des auszutauschenden Inhalts.
[in]pNewContentDer neu einzufügende Inhalt.
[in]pNewContentSizeDie Länge des einzufügenden Inhalts.
Rückgabe
Wenn 1, ist der Inhalt ausgetauscht und wenn 0, wurde der auszutauschende Inhalt nicht gefunden.
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ replaceAll()

int eut::Blob::replaceAll ( const char * pOldContent,
std::size_t pOldContentSize,
const char * pNewContent,
std::size_t pNewContentSize )

Sucht und entfernt alle Inhalte gleich dem ersten übergebenen Inhalt pOldContent aus dem Blob und fügt statt dessen jeweils den Inhalt aus pNewContent ein.

Parameter
[in]pOldContentDer auszutauschende Inhalt.
[in]pOldContentSizeDie Länge des auszutauschenden Inhalts.
[in]pNewContentDer neu einzufügende Inhalt.
[in]pNewContentSizeDie Länge des einzufügenden Inhalts.
Rückgabe
Ist die Anzahl, wie oft der Inhalt ausgetauscht wurde.
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Wenn ein Fehler auftritt, ist der Zustand des Blobs undefiniert; es können schon Inhalte getauscht worden sein.

◆ setCurrentPosition()

int eut::Blob::setCurrentPosition ( std::size_t nNewPosition)

Setzt die aktuelle Position im Blob.

Parameter
[in]nNewPositionDie neue Position des aktuellen Zeigers im Blob (kleinster Wert 1).
Rückgabe
Wenn die Position ausserhalb der Größe des Blobs ist, wird ein Fehler geliefert.

◆ setData()

int eut::Blob::setData ( char * pData,
std::size_t nDataSize,
bool bCopy = true )

Setzt das Blob.

Parameter
[in]pDataEin Zeiger auf einen allocierten Speicher.
[in]nDataSizeDie Größe von pData.
[in]bCopyWenn false, wird pData nicht kopiert, sondern nur m_pBlob auf pData gesetzt.
Achtung
Wenn im Fall von bCopy = false die aufrufende Instanz den Puffer vor dem deleten des Blobs löscht, muss vor dem weiteren bearbeiten die Methode setNULL() aufgerufen werden um ein Arbeiten im freigegebenen Speicher zu verhindern.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setMemResponsible()

void eut::Blob::setMemResponsible ( bool bActiv = true)

Setzt die Verantwortung über den Speicher des Blobs.

Parameter
[in]bActivWenn true, übernimmt das Blob die Verantwortung für den Puffer; läßt die Bearbeitung zu und deletet den Puffer im Destruktor. Kann genutzt werden, wenn die aufrufende Instanz Speicher allociert hat und diesen übergeben möchte. Darf diesen dann aber nicht mehr bearbeiten oder löschen.

◆ setNULL()

void eut::Blob::setNULL ( )

Setzt m_pBlob auf nullptr und m_nSize und m_nCurrentPosition auf 0, ohne das m_pBlob aus dem Speicher zu entfernen!

Achtung
Kann mit Vorsicht genutzt werden, wenn dieser Blob einen NICHT kopierten Buffer bekommt und nur zum iterieren und suchen genutzt werden soll, und der Buffer für die aufrufende Instanz erhalten bleiben soll.

◆ swap()

int eut::Blob::swap ( Blob & rSwapBlob)

Es werden die Inhalte der Attribute dieses Objektes mit dem des übergebenen Objektes getauscht.

Das geht nur, wenn beide m_bMemResponsible bzw. beide nicht m_bMemResponsible sind.

Parameter
[in,out]rSwapBlobDas Blob mit dem der Inhalt getauscht werden soll.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Freunde und bezugnehmende Symbol-Dokumentation

◆ operator+

Blob operator+ ( Blob lT,
const Blob & rrT )
friend

Dokumentation der Datenelemente

◆ m_bMemResponsible

bool eut::Blob::m_bMemResponsible
protected

Wenn ein char* übergeben wird, welcher nicht kopiert wurde bzw. in der Verantwortung der aufrufenden Instanz verbleiben soll, darf dieser Buffer nicht verändert oder gelöscht werden! Also ist hier die Info auf false gesetzt.

◆ m_nCurrentPosition

std::size_t eut::Blob::m_nCurrentPosition
protected

Die aktuelle Position im Blob (Start bei 0).

◆ m_nSize

std::size_t eut::Blob::m_nSize
protected

Die Größe des Blobs.

◆ m_pBlob

char* eut::Blob::m_pBlob
protected

Das Blob.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: