続 位置復元可能ストリーム再考

各デバイスを任意位置ストリームに修正しています。multiplexer/demultiplexerはアルゴリズムを変えることで簡単に任意位置ストリームにできました。
バッファリングにかかるコストも、「バッファが空かつブロックサイズの操作の場合はバッファを介さずに行う」という方針にすればwide_adaptorなどでは自動的にバッファリングがオフになり、ほとんど問題にならないでしょう。
あとは、このバッファリング実装をいかに楽に行うかです。
アルゴリズム自体はデバイスに依存することがないので、うまく共通化したいところです。
アダプタで解決しようとすると、アダプタ適用前のクラスがBlockingでない微妙な代物になるので、実装を補助するCRTPの形を取りたいと思います。