Change-Id: If8d9ff797a2747346e42e3242da292dc78784e9b
else False
else True
+@inline
+filter :: (a -> <e> Boolean) -> T a -> <Proc,e> ()
+filter f it = loop ()
+ where
+ loop _ =
+ if hasNext it
+ then do
+ if f (next it)
+ then ()
+ else remove it
+ loop ()
+ else ()
+
@inline
mapFirst :: (a -> <e> Maybe b) -> T a -> <Proc,e> Maybe b
mapFirst f it = loop ()
all :: (a -> <e> Boolean) -> T a -> <e,Proc> Boolean
all f s = Iterator.iterB f (iterator s)
+
+filterInPlace :: (a -> <e> Boolean) -> T a -> <e,Proc> ()
+filterInPlace p s = Iterator.filter p (iterator s)