Stream

beam.Stream
See theStream companion object
sealed abstract class Stream[+A, -U]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Unsealed[A, U]
class StreamImpl[A, U]

Members list

Value members

Abstract methods

def abort: Computation[Unit, U]
def changesBy[B](f: A => B): Stream[A, U]
def changesByEff[B, V <: U](f: A => Computation[B, V]): Stream[A, V]
def collect[B](f: PartialFunction[A, B]): Stream[B, U]
def collectEff[B, V <: U](f: PartialFunction[A, Computation[B, V]]): Stream[B, V]
def concat[B >: A, V <: U](that: Stream[B, V]): Stream[B, V]
def decons: Computation[Option[(A, Stream[A, U])], U]
def drain: Computation[Unit, U]
def drop(count: Long): Stream[A, U]
def dropWhile(f: A => Boolean): Stream[A, U]
def dropWhileEff[V <: U](f: A => Computation[Boolean, V]): Stream[A, V]
def filter(f: A => Boolean): Stream[A, U]
def filterEff[V <: U](f: A => Computation[Boolean, V]): Stream[A, V]
def filterWithPrevious(f: (A, A) => Boolean): Stream[A, U]
def filterWithPreviousEff[V <: U](f: (A, A) => Computation[Boolean, V]): Stream[A, V]
def flatMap[B, V <: U](f: A => Stream[B, V]): Stream[B, V]
def flatMapEff[B, V <: U](f: A => Computation[Stream[B, V], V]): Stream[B, V]
def foldLeft[B](initial: B)(f: (B, A) => B): Computation[B, U]
def foldLeftEff[B, V <: U](initial: B)(f: (B, A) => Computation[B, V]): Computation[B, V]
def foreach(f: A => Unit): Computation[Unit, U]
def foreachEff[V <: U](f: A => Computation[Unit, V]): Computation[Unit, V]
def interleave[B >: A, V <: U](that: Stream[B, V]): Stream[B, V]
def intersperse[B >: A](separator: B): Stream[B, U]
def intersperse[B >: A](first: B, separator: B, last: B): Stream[B, U]
def map[B](f: A => B): Stream[B, U]
def mapEff[B, V <: U](f: A => Computation[B, V]): Stream[B, V]
def mapFilter[B](f: A => Option[B]): Stream[B, U]
def mapFilterEff[B, V <: U](f: A => Computation[Option[B], V]): Stream[B, V]
def mergeSorted[B >: A, V <: U](that: Stream[B, V])(using ev: Ordering[B]): Stream[B, V]
def prepend[B >: A](value: B): Stream[B, U]
def relayTo[B >: A](Fx2: SourceEffect[B]): Computation[Unit, U & Fx2.type]
def relayToWhileLessThen[B >: A](Fx2: SourceEffect[B], b: B)(using ev: Ordering[B]): Computation[Option[(A, Stream[A, U])], U & Fx2.type]
def scanLeft[B](initial: B)(f: (B, A) => B): Stream[B, U]
def scanLeftEff[B, V <: U](initial: B)(f: (B, A) => Computation[B, V]): Stream[B, V]
def split[A2 >: A](separator: A2): Stream[Vector[A], U]
def splitAt(count: Int): Computation[(Vector[A], Stream[A, U]), U]
def splitWhere(f: A => Boolean): Stream[Vector[A], U]
def splitWhereEff[V <: U](f: A => Computation[Boolean, V]): Stream[Vector[A], V]
def take(count: Long): Stream[A, U]
def takeWhile(f: A => Boolean): Stream[A, U]
def takeWhileEff[V <: U](f: A => Computation[Boolean, V]): Stream[A, V]
def tap(f: A => Unit): Stream[A, U]
def tapEff[V <: U](f: A => Computation[Unit, V]): Stream[A, V]
def window(size: Int, step: Int): Stream[Queue[A], U]
def zipWith[B, C, V <: U](that: Stream[B, V])(f: (A, B) => C): Stream[C, V]
def zipWithEff[B, C, V <: U](that: Stream[B, V])(f: (A, B) => Computation[C, V]): Stream[C, V]
def zipWithIndex: Stream[(A, Long), U]

Concrete methods

final def ++[B >: A, V <: U](that: Stream[B, V]): Stream[B, V]
final def asImpl[B >: A, V <: U]: StreamImpl[B, V]
final def changes: Stream[A, U]
final def flatten[B, V <: U](using ev: A <:< Stream[B, V]): Stream[B, V]
final def forsome(f: PartialFunction[A, Unit]): Computation[Unit, U]
final def forsomeEff[V <: U](f: PartialFunction[A, Computation[Unit, V]]): Computation[Unit, V]
final def head: Computation[A, U]
final def headOption: Computation[Option[A], U]
final def mapConcat[B](f: A => Iterable[B]): Stream[B, U]
final def mapConcatEff[B, V <: U](f: A => Computation[Iterable[B], V]): Stream[B, V]
final def merge[B >: A, V <: U & IO](that: Stream[B, V]): Stream[B, V]
final def mergeEither[B, V <: U & IO](that: Stream[B, V]): Stream[Either[A, B], V]
final def mergeWith[B, C, V <: U & IO](that: Stream[B, V])(f: (Either[A, B]) => C): Stream[C, V]
final def mergeWithEff[B, C, V <: U & IO](that: Stream[B, V])(f: (Either[A, B]) => Computation[C, V]): Stream[C, V]
final def reduce[B >: A](f: (B, B) => B): Computation[B, U]
final def reduceEff[B >: A, V <: U](f: (B, B) => Computation[B, V]): Computation[B, V]
final def reduceOption[B >: A](f: (B, B) => B): Computation[Option[B], U]
final def reduceOptionEff[B >: A, V <: U](f: (B, B) => Computation[B, V]): Computation[Option[B], V]
final def tail: Stream[A, U]
final def toArray[B >: A : ClassTag]: Computation[Array[B], U]
final def toList: Computation[List[A], U]
final def toVector: Computation[Vector[A], U]
def window(size: Int): Stream[Queue[A], U]
final def zip[B, V <: U](that: Stream[B, V]): Stream[(A, B), V]