воскресенье, 4 июля 2010 г.

Container as a stream

Стандартная задача - имеется код, использующий iostream, хочется уметь получать поток из данных в каком либо контейнере.
Т.е. хочется обеспечить функциональность, аналогичную strstream, но без характерных для последнего плясок.

Как оказалось, очень неплохой вариант решения есть в boost, в примерах:
#include <boost/../libs/iostreams/example/container_device.hpp>

typedef boost::iostreams::example::container_device<container> device;
boost::iostreams::stream<device> stream(c);

stream << "hello, world";
stream >> variable;


Странно, что такой адаптер не попал в основную библиотеку, тут я полностью солидарен с автором оригинального поста.

Комментариев нет: