It may not fulfill your exact use case, but you can get this in a way:

let mut foo = bar.iter().peekable();
{
    let mut limit_foo = foo.by_ref().limit(50);
    for baz in limit_foo {
        ...
    }
}
if foo.is_empty() {
    ...
}

Steven Fackler


On Fri, May 30, 2014 at 9:51 AM, Evan G <eg1...@gmail.com> wrote:

> Instead of using a for statement, try looping over a custom iterator that
> returns an Enum.
>
>
> On Fri, May 30, 2014 at 11:31 AM, Andrew Poelstra <
> apoels...@wpsoftware.net> wrote:
>
>> Hi guys,
>>
>>
>> Take is an iterator adaptor which cuts off the contained iterator after
>> some number of elements, always returning None.
>>
>> I find that I need to detect whether I'm getting None from a Take
>> iterator because I've read all of the elements I expected or because the
>> underlying iterator ran dry unexpectedly. (Specifically, I'm parsing
>> some data from the network and want to detect an early EOM.)
>>
>>
>> This seems like it might be only me, so I'm posing this to the list: if
>> there was a function Take::is_done(&self) -> bool, which returned whether
>> or not the Take had returned as many elements as it could, would that be
>> generally useful?
>>
>> I'm happy to submit a PR but want to check that this is appropriate for
>> the standard library.
>>
>>
>>
>> Thanks
>>
>> Andrew
>>
>>
>>
>> --
>> Andrew Poelstra
>> Mathematics Department, University of Texas at Austin
>> Email: apoelstra at wpsoftware.net
>> Web:   http://www.wpsoftware.net/andrew
>>
>> "If they had taught a class on how to be the kind of citizen Dick Cheney
>>  worries about, I would have finished high school."   --Edward Snowden
>>
>>
>> _______________________________________________
>> Rust-dev mailing list
>> Rust-dev@mozilla.org
>> https://mail.mozilla.org/listinfo/rust-dev
>>
>>
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to