コード
解説
RustのIterator
はsize_hint
という,イテレーションの回数の上限下限を返すメソッドがありますが,イテレーションの回数が確定している場合,素直にlen
メソッドが欲しい場合があります.ExactSizeIterator
ではlen
メソッドが提供されています.こちらを使うと良いです.
ただし,len
メソッドは内部でsize_hint
を呼び出しています.この上限下限が同じでないとパニックしますので,自分でsize_hint
を定義しなければならない場合もあります.また,ExactSizeIterator
の実装には,Iterator
の実装が前提となっているので,両方のimpl
を書く必要があります.