@Override public Flow<T> map(Flow<T> element) { return element.rest(); } }).toList();
@Override public Flow<T> map(Flow<T> element) { return element.rest(); } }).toList();
@Override public T next() { T next = current.first(); current = current.rest(); return next; }
@Override public ZippedFlow<A, B> rest() { return create(tupleFlow.rest()); }
@Override public T next() { T next = current.first(); current = current.rest(); return next; }
@Override public int count() { if (isEmpty()){ return 0; } int count = 0; for(Flow<T> flow = this; flow != null && !flow.isEmpty(); flow = flow.rest()){ count++; } return count; }
@Override public int count() { if (isEmpty()){ return 0; } int count = 0; for(Flow<T> flow = this; flow != null && !flow.isEmpty(); flow = flow.rest()){ count++; } return count; }
@Test public void rest_of_non_empty_flow() { assertFlowValues(F.flow("Mary", "had", "a", "little", "lamb").rest(), "had", "a", "little", "lamb"); }
@Override public LazyContinuation<X> next() { if (flow.isEmpty()) return null; LazyValue<X> nextValue = new LazyMappedValue<T, X>(flow, mapper); return new LazyContinuation<X>(nextValue, new LazyMapper<T, X>(mapper, flow.rest())); }
@Override public LazyContinuation<T> next() { if (flow.isEmpty()) return null; return new LazyContinuation<T>(new LazyFirst<T>(flow), new LazyWalk<T>(flow.rest())); } }
@Override public LazyContinuation<T> next() { if (flow.isEmpty() || length < 1) return null; return new LazyContinuation<T>(new LazyFirst<T>(flow), new LazyTake<T>(length - 1, flow.rest())); }
@Override public LazyContinuation<T> next() { if (flow.isEmpty()) return null; return new LazyContinuation<T>(new LazyFirst<T>(flow), new LazyWalk<T>(flow.rest())); } }
@Override public LazyContinuation<T> next() { if (flow.isEmpty() || length < 1) return null; return new LazyContinuation<T>(new LazyFirst<T>(flow), new LazyTake<T>(length - 1, flow.rest())); }