http://www.boost.org/libs/iostreams/doc/tutorial/writing_devices.html
デバイスの実装方法
・device conceptクラスを書く。
・streamやstream_bufferクラスにdevice concept classをtemplate引数に渡す。
・streamはdeviceのモードによってstd::basic_istream、std::basic_ostream 、std::basic_iostreamを継承している。
・stream_bufferはstd::basic_stream_bufferを継承している。
・streamクラスは便宜的なものとして提供される。stream_bufferとstd::iostreamとの組み合わせて利用するのが普通。
・ほかにstreamやstream_bufferクラスを実装する方法としてはfiltering_streamやfiltering_stream_bufがある。