T
- public class Generator<T> extends java.lang.Object implements java.lang.Iterable<T>, ToStream<T>
import static cyclops.stream.Generator.*; int i = 100; ReactiveSeq.generate(suspend(infinitely(),s->s.yield(i++))) .take(6) .printOut();
100 101 102 103 104 105 106ReactiveSeq.generate(suspend((Integer i)->i!=4, s-> { Generator<Integer> gen1 = suspend(times(5),s2->s2.yield(i++)); Generator<Integer> gen2 = suspend(times(2),s2->s2.yield(k--)); return s.yieldAll(gen1.stream(),gen2.stream()); } )) .take(12) .printOut();
Modifier and Type | Class and Description |
---|---|
static interface |
Generator.GeneratorFunction<T> |
static interface |
Generator.GeneratorSupplier<T> |
static class |
Generator.Suspended<T> |
Constructor and Description |
---|
Generator(Generator.Suspended suspended,
Generator.GeneratorSupplier<T> work) |
Generator(Generator.Suspended suspended,
Maybe<T> value,
Generator.GeneratorSupplier<T> remainderOfWorkToBeDone) |
Generator(Generator.Suspended suspended,
T value,
Generator.GeneratorSupplier<T> work) |
Modifier and Type | Method and Description |
---|---|
T |
extract() |
static BooleanFn0 |
infinitely() |
java.util.Iterator<T> |
iterator() |
static BooleanFn0 |
once() |
static <T> Generator<T> |
suspend(java.util.function.BooleanSupplier pred,
Generator.GeneratorFunction<T> value) |
static <T> Generator<T> |
suspend(Generator.GeneratorFunction<T> value) |
static <T> Generator<T> |
suspend(java.util.function.Predicate<? super T> pred,
Generator.GeneratorFunction<T> value) |
static <T> Generator<T> |
suspendRef(java.util.function.BooleanSupplier pred,
java.util.function.Supplier<T> value) |
static <T> Generator<T> |
suspendRef(java.util.function.Predicate<? super T> pred,
java.util.function.Supplier<T> value) |
static <T> Generator<T> |
suspendRef(java.util.function.Supplier<T> value) |
static BooleanFn0 |
times(int times) |
ConvertableSequence<T> |
to() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
futureStream, getStreamable, isEmpty, jdkStream, reactiveSeq, reveresedJDKStream, reveresedStream, stream
public Generator(Generator.Suspended suspended, Maybe<T> value, Generator.GeneratorSupplier<T> remainderOfWorkToBeDone)
public Generator(Generator.Suspended suspended, T value, Generator.GeneratorSupplier<T> work)
public Generator(Generator.Suspended suspended, Generator.GeneratorSupplier<T> work)
public ConvertableSequence<T> to()
public T extract()
public static <T> Generator<T> suspend(Generator.GeneratorFunction<T> value)
public static <T> Generator<T> suspend(java.util.function.BooleanSupplier pred, Generator.GeneratorFunction<T> value)
public static <T> Generator<T> suspend(java.util.function.Predicate<? super T> pred, Generator.GeneratorFunction<T> value)
public static <T> Generator<T> suspendRef(java.util.function.Supplier<T> value)
public static <T> Generator<T> suspendRef(java.util.function.BooleanSupplier pred, java.util.function.Supplier<T> value)
public static <T> Generator<T> suspendRef(java.util.function.Predicate<? super T> pred, java.util.function.Supplier<T> value)
public java.util.Iterator<T> iterator()
iterator
in interface java.lang.Iterable<T>
public static BooleanFn0 infinitely()
public static BooleanFn0 times(int times)
public static BooleanFn0 once()