Отрезать голову буферу в stringstream

stringstream buff наполняется через buff.rdbuf()->sputn(data, len)

потом делаются операции

...tellg ...getline ...seekg

после seekg то что находится перед указателем g мне не нужно - надо освободить эту память. А указательp должен писать данные там где остановился.

введите сюда описание изображения

Если смотреть на эту илюстрацию, то переместить put begin pointer и get begin pointer на get next pointer и освободить память.

Есть идея вырезать кусок между g и p в новый буфер, удалять старый буфер и заменить его новым, потом выставить указатели на начало и конец... но это совсем не потокобезопасно.


Ответы (0 шт):