IniFile
Lade ...
Suche ...
Keine Treffer
EuBlob.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_EUBLOB_H
2#define INC_EUBLOB_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "EuToolTypes.h"
38//#include <new>
39//#include <memory.h>
40#include <cstddef>
41//-----------------------------------------------------------------------------
42namespace eut
43{
44 //---------------------------------------------------------------------------
59 class __tool_export_dll Blob
60 {
61 protected:
62 //============== Attributes
63 //-----------------------------------------------------------------------
73 char * m_pBlob;
74 //-----------------------------------------------------------------------
84 std::size_t m_nSize;
85 //-----------------------------------------------------------------------
95 std::size_t m_nCurrentPosition;
96 //-----------------------------------------------------------------------
112 //-----------------------------------------------------------------------
113
114 public:
115 //============== Constructors, destructor
116 //-----------------------------------------------------------------------
127 //-----------------------------------------------------------------------
154 Blob( char * pData, std::size_t nDataSize, bool bCopy = true );
155 //-----------------------------------------------------------------------
167 Blob( const Blob & rBlob );
168 //-----------------------------------------------------------------------
178 virtual ~Blob();
179 //-----------------------------------------------------------------------
180
181 //============== Methoden
182 //-----------------------------------------------------------------------
207 int swap( Blob & rSwapBlob );
208 //-----------------------------------------------------------------------
235 int setData( char * pData, std::size_t nDataSize, bool bCopy = true );
236 //-----------------------------------------------------------------------
257 void setMemResponsible( bool bActiv = true );
258 //-----------------------------------------------------------------------
275 //-----------------------------------------------------------------------
291 void clear();
292 //-----------------------------------------------------------------------
312 void setNULL();
313 //-----------------------------------------------------------------------
339 virtual std::size_t getData( char *& prBlob, bool bCopy = true );
340 //-----------------------------------------------------------------------
363 int getData( char *& prBlob, std::size_t nStartPosition, std::size_t nSize );
364 //-----------------------------------------------------------------------
389 int getBlob( Blob *& prBlob, std::size_t nStartPosition, std::size_t nSize );
390 //-----------------------------------------------------------------------
408 char getChar( std::size_t nPosition );
409 //-----------------------------------------------------------------------
421 std::size_t getSize() const;
422 //-----------------------------------------------------------------------
453 bool findForward( std::size_t & nFoundPosition,
454 const char * pSearchMask,
455 std::size_t nSearchMaskSize,
456 bool bSearchAtTheBeginning );
457 //-----------------------------------------------------------------------
514 bool findForward( std::size_t & nFoundPosition,
515 const char * pSearchMask,
516 std::size_t nSearchMaskSize );
517 //-----------------------------------------------------------------------
546 bool findForwardNext( std::size_t & nFoundPosition,
547 const char * pSearchMask,
548 std::size_t nSearchMaskSize );
549 //-----------------------------------------------------------------------
580 bool findBackward( std::size_t & nFoundPosition,
581 const char * pSearchMask,
582 std::size_t nSearchMaskSize,
583 bool bSearchAtTheEnd );
584 //-----------------------------------------------------------------------
641 bool findBackward( std::size_t & nFoundPosition,
642 const char * pSearchMask,
643 std::size_t nSearchMaskSize );
644 //-----------------------------------------------------------------------
672 bool findBackwardNext( std::size_t & nFoundPosition,
673 const char * pSearchMask,
674 std::size_t nSearchMaskSize );
675 //-----------------------------------------------------------------------
695 int setCurrentPosition( std::size_t nNewPosition );
696 //-----------------------------------------------------------------------
708 std::size_t getCurrentPosition() const;
709 //-----------------------------------------------------------------------
744 int append( const char * pBuffer, std::size_t nBufferSize );
745 //-----------------------------------------------------------------------
759 int append( const Blob * pBlob );
760 //-----------------------------------------------------------------------
774 int append( const Blob & rBlob );
775 //-----------------------------------------------------------------------
814 int insert( const char * pBuffer,
815 std::size_t nBufferSize,
816 std::size_t nBufferPosition );
817 //-----------------------------------------------------------------------
835 int insert( const Blob * pBlob, std::size_t nBufferPosition );
836 //-----------------------------------------------------------------------
854 int insert( const Blob & rBlob, std::size_t nBufferPosition );
855 //-----------------------------------------------------------------------
875 int remove( std::size_t nNumberRemoveBytes, std::size_t nBufferPosition );
876 //-----------------------------------------------------------------------
902 int replace( const char * pOldContent,
903 std::size_t pOldContentSize,
904 const char * pNewContent,
905 std::size_t pNewContentSize );
906 //-----------------------------------------------------------------------
934 int replaceAll( const char * pOldContent,
935 std::size_t pOldContentSize,
936 const char * pNewContent,
937 std::size_t pNewContentSize );
938 //-----------------------------------------------------------------------
939
940 //============== Operatoren
941 //-----------------------------------------------------------------------
957 Blob & operator+= ( const Blob & rBlob );
958 //-----------------------------------------------------------------------
970 Blob & operator= ( const Blob & rBlob );
971 //-----------------------------------------------------------------------
989 Blob & operator= ( int iNULL );
990 //-----------------------------------------------------------------------
1001 int operator== ( const Blob & rBlob ) const;
1002 int operator!= ( const Blob & rBlob ) const;
1003 bool operator> ( const Blob & rBlob );
1004 bool operator< ( const Blob & rBlob );
1005 bool operator>= ( const Blob & rBlob );
1006 bool operator<= ( const Blob & rBlob );
1008 //-----------------------------------------------------------------------
1046 operator int() const;
1047 //-----------------------------------------------------------------------
1048 friend Blob operator+ ( Blob lT, const Blob & rrT )
1049 {
1050 lT += rrT;
1051 return lT;
1052 };
1053 //-----------------------------------------------------------------------
1054 };
1055 //---------------------------------------------------------------------------
1056} // namespace eut
1057#endif
Diese Klasse erlaubt das Bearbeiten eines Blobs (einfügen, kopieren, durchsuchen etc....
Definition EuBlob.h:60
bool m_bMemResponsible
Definition EuBlob.h:111
Blob(const Blob &rBlob)
int swap(Blob &rSwapBlob)
int insert(const Blob &rBlob, std::size_t nBufferPosition)
int remove(std::size_t nNumberRemoveBytes, std::size_t nBufferPosition)
std::size_t m_nSize
Definition EuBlob.h:84
int setCurrentPosition(std::size_t nNewPosition)
char getChar(std::size_t nPosition)
int getData(char *&prBlob, std::size_t nStartPosition, std::size_t nSize)
int insert(const char *pBuffer, std::size_t nBufferSize, std::size_t nBufferPosition)
int replaceAll(const char *pOldContent, std::size_t pOldContentSize, const char *pNewContent, std::size_t pNewContentSize)
bool findForward(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
int append(const char *pBuffer, std::size_t nBufferSize)
int insert(const Blob *pBlob, std::size_t nBufferPosition)
bool findForward(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize, bool bSearchAtTheBeginning)
virtual ~Blob()
std::size_t getCurrentPosition() const
bool findBackward(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize, bool bSearchAtTheEnd)
int append(const Blob &rBlob)
virtual std::size_t getData(char *&prBlob, bool bCopy=true)
int append(const Blob *pBlob)
int getBlob(Blob *&prBlob, std::size_t nStartPosition, std::size_t nSize)
bool findBackward(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
void clear()
bool findForwardNext(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
std::size_t getSize() const
bool isMemResponsible()
int replace(const char *pOldContent, std::size_t pOldContentSize, const char *pNewContent, std::size_t pNewContentSize)
int setData(char *pData, std::size_t nDataSize, bool bCopy=true)
bool findBackwardNext(std::size_t &nFoundPosition, const char *pSearchMask, std::size_t nSearchMaskSize)
Blob(char *pData, std::size_t nDataSize, bool bCopy=true)
std::size_t m_nCurrentPosition
Definition EuBlob.h:95
void setMemResponsible(bool bActiv=true)
char * m_pBlob
Definition EuBlob.h:73
void setNULL()
Definition EuBlob.h:43