InputFilterのclose()

Base64デコーダーを作成していて2つほど問題が発生しました。
一つ目は、InputFilterのclose()です。close()のシグネチャは、

template<class Device>
void close(Device& dev);

なのですが、引数devの使い道が分かりません。
OutputFilterと違って、フィルタ内部に残ったデータは捨てるしかないので、引数は必要ない気がします。
対称性のために存在するのか、テンプレートメタプログラミングの都合なのか、ちょっとわかりません。
Boost.Iostreamsでも使っていないみたいです。


もう一つの問題は、Base64のパディングをデコードしたときにブロックサイズに満たない結果が発生するのですが、今のarbitrary_positional_facadeのインタフェースだとこれに対処できないことです。
入力サイズと出力サイズもごっちゃになっているようで、要調整です