FusedIterator

FusedIterator (융합 반복자 트레이트)

소진되었을 때 계속해 None을 반환하는 반복자를 위한 트레이트예요. Iterator::fuse()를 최적화할 수 있게 해 줘요.

출처: Rust 공식 문서

본문

한 번 None을 반환한 융합(fused) 반복자에서 next를 호출하면 다시 None을 반환하는 것이 보장돼요. 이렇게 동작하는 모든 반복자는 이 트레이트를 구현해야 해요. Iterator::fuse()를 최적화할 수 있게 해 주기 때문이에요.

일반적으로, 융합 반복자가 필요하다면 제네릭 경계에 FusedIterator를 쓰지 말고, 반복자에 그냥 Iterator::fuse()를 호출하는 것이 좋아요. 반복자가 이미 융합되어 있다면 추가되는 Fuse 래퍼는 성능 손실 없이 no-op가 돼요.

시그니처는 다음과 같아요.

pub trait FusedIterator: Iterator { }

더 알아보기 (Learn more)

Rust 공식 문서