Здравствуйте, PM, Вы писали:
PM>[тут был код очередного класса буфера]
PM>Для меня new вне конструктора умного указателя (std::shared_ptr, std::unique_ptr или их аналогов из Boost) — признак плохого кода.
для меня new вне make_XXX для умного указателя — грабли. (ещё new легален в своих контейнерах)
используй make_unique, make_shared
http://herbsutter.com/gotw/_102/