00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __DynamicBuffer_h
00030 #define __DynamicBuffer_h
00031
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035
00036 #include <vector>
00037
00039
00041
00042 namespace H {
00043
00045
00047
00049
00051
00060 template <class DataType>
00061 class DynamicBuffer {
00062 public:
00063
00064 void addToBuffer(const DataType * AddBuf, size_t BufLen);
00065 void clear();
00066 const DataType * getBuffer() const;
00067 size_t length() const;
00068
00069
00070 DynamicBuffer();
00071 virtual ~DynamicBuffer();
00072
00073 private:
00074
00075 size_t mLength;
00076 DataType * mBuffer;
00077 };
00078
00080
00082
00088 template <class DataType, class ConvertTo>
00089 class DynamicBufferConverter {
00090 public:
00091
00092 static void convert(std::vector<ConvertTo> & ConvertedVector, DynamicBuffer<DataType> const & Buffer);
00093
00094
00095 DynamicBufferConverter();
00096 virtual ~DynamicBufferConverter();
00097
00098 private:
00099
00100 };
00101
00103
00104 }
00105
00106 #include "DynamicBuffer.cpp"
00107
00109
00110 #endif // __DynamicBuffer_h