#include <iterator>
#include <ios>
#include <sstream>
#include <rpa/futilities.h>
#include <rpa/containers/streambuf_proxy.h>
#include <rpa/counted_ptr.h>
#define NO_MEMBER_TEMPLATES |
Plain standard counted pointer. Any smart pointer works. Each 'row_buffer' contains one, holding a stream buffer and a stream. So, stream buffers are never copied. Needed, because they cannot be copied and may be big. Member templates are not needed and they do not compile anyway.