From daa086759cf290c49b308db20a41fb6c642d345a Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Mon, 16 Mar 2015 13:50:23 +0100 Subject: Redirect size_hint method to the underlying iterators --- src/window.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/window.rs') diff --git a/src/window.rs b/src/window.rs index bd5fc14..56af494 100644 --- a/src/window.rs +++ b/src/window.rs @@ -445,9 +445,14 @@ pub struct PollEventsIterator<'a>(winimpl::PollEventsIterator<'a>); impl<'a> Iterator for PollEventsIterator<'a> { type Item = Event; + fn next(&mut self) -> Option { self.0.next() } + + fn size_hint(&self) -> (usize, Option) { + self.0.size_hint() + } } /// An iterator for the `wait_events` function. @@ -455,9 +460,14 @@ pub struct WaitEventsIterator<'a>(winimpl::WaitEventsIterator<'a>); impl<'a> Iterator for WaitEventsIterator<'a> { type Item = Event; + fn next(&mut self) -> Option { self.0.next() } + + fn size_hint(&self) -> (usize, Option) { + self.0.size_hint() + } } /// An iterator for the list of available monitors. @@ -469,9 +479,14 @@ pub struct AvailableMonitorsIter { impl Iterator for AvailableMonitorsIter { type Item = MonitorID; + fn next(&mut self) -> Option { self.data.next().map(|id| MonitorID(id)) } + + fn size_hint(&self) -> (usize, Option) { + self.data.size_hint() + } } /// Returns the list of all available monitors. -- cgit v1.2.3