# Filter: reject duplicates.
# Elements already seen are rejected.
#
# Important: rely on `==` and `hash`
# Important: require O(m) in memory, where m is the total number of uniq items.
#
# assert [1,2,1,1,1,3,2].iterator.uniq.to_a == [1,2,3]
#
# REQUIRE: self isa Iterator[Object]
fun uniq: Iterator[E]
do
assert self isa Iterator[Object]
return new PipeUniq[E](self)
end
lib/pipeline/pipeline.nit:46,2--59,4