smartBuffer.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef smartBuffer_H_
00010 #define smartBuffer_H_
00011 
00012 #include "lgrUtil.h"
00013 #include "memoryBuffer.h"
00014 
00015 namespace MAKLogger
00016 {
00017 
00021    class DT_DLL_LGRUTIL DtSmartBuffer
00022    {
00023    public:
00028       explicit DtSmartBuffer(const DtMemoryBufferSP& parentBuffer);
00029 
00032       DtSmartBuffer(const DtMemoryBufferSP& parentBuffer, size_t offset, size_t size);
00033 
00035       ~DtSmartBuffer();
00036 
00038       DtMemoryBufferSP buffer() const;
00039 
00044       void setBuffer(const DtMemoryBufferSP& buffer);
00045 
00047       void* data();
00048 
00050       const void* data() const;
00051 
00053       size_t size() const;
00054 
00060       void resize(size_t);
00061 
00064       size_t availableSize() const;
00065 
00067       size_t currentOffset() const;
00068 
00072       void increaseOffset(int offsetInBytes);
00073 
00077       void setOffset(int offsetInBytes);
00078 
00080       void resetOffset();
00081 
00082    private:
00083       DtMemoryBufferSP myBuffer;
00084       void*  mySubData;
00085       size_t mySize;
00086    };
00087 
00088 }
00089 
00090 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)