続 ASIOのバッファサイズ
よく考えると、2のn乗だけを扱うのであれば、最小値と最大値だけ返せば済む気がしてきました。
class asio_device { public: // 最小バッファサイズと最大バッファサイズを返す。 std::pair<long,long> minmax_buffer_size() const; };
あるいは全部まとめて、
struct asio_buffer_info { long min_size; long max_size; long preferred_size; long granularity; }; class asio_device { public: // ASIOGetBufferSize()の結果を全て返す asio_buffer_info buffer_info() const; };
軽量で、情報の欠落もないわけですから、これで全然問題ないのです。
どうも、あらゆるものを反復子やストリームとして考えるのが癖になっているようで、ダメですね。シンプルイズベスト。