Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef memoryBuffer_H_
00010 #define memoryBuffer_H_
00011
00012 #include "lgrUtil.h"
00013 #include <vlutil/vlSmartPointers.h>
00014
00015 namespace MAKLogger
00016 {
00017
00018 class DtSmartBuffer;
00019 class DtMemoryBuffer;
00020 typedef DtBoost::shared_ptr<DtMemoryBuffer> DtMemoryBufferSP;
00021
00024 class DT_DLL_LGRUTIL DtMemoryBuffer
00025 {
00026 protected:
00027 explicit DtMemoryBuffer(size_t size);
00028
00029 private:
00031 DtMemoryBuffer(const DtMemoryBuffer&);
00033 DtMemoryBuffer& operator=(const DtMemoryBuffer&);
00034
00035 public:
00036 static DtMemoryBufferSP createMemoryBuffer(size_t size);
00037 ~DtMemoryBuffer();
00038
00040 void* data();
00041
00043 size_t size() const;
00044
00047 void resize(size_t newDesiredSize);
00048
00049 protected:
00050 char* myData;
00051 size_t mySize;
00052 };
00053
00054 }
00055
00056 #endif