14 #ifndef GDCMBYTEBUFFER_H
15 #define GDCMBYTEBUFFER_H
22 #error should not be used
36 static const int InitBufferSize = 1024;
41 char *buffer = &Internal[0];
42 if (len > Limit - End)
45 int neededSize = len + (End - Start);
46 if (neededSize <= Limit - buffer)
48 memmove(buffer, Start, End - Start);
49 End = buffer + (End - Start);
55 int bufferSize = Limit - Start;
56 if ( bufferSize == 0 )
58 bufferSize = InitBufferSize;
63 }
while (bufferSize < neededSize);
67 Internal.reserve(bufferSize);
68 newBuf = &Internal[0];
75 Limit = newBuf + bufferSize;
79 memcpy(newBuf, Start, End - Start);
81 End = newBuf + (End - Start);
85 assert( (
int)Internal.capacity() >= len );
98 typedef std::vector<char> CharVector;
107 #endif //GDCMBYTEBUFFER_H