final class StepLeg[F[_], O] extends AnyRef
When merging multiple streams, this represents step of one leg.
It is common to uncons
, however unlike uncons
, it keeps track
of stream scope independently of the main scope of the stream.
This assures, that after each next stepLeg
each Stream leg
keeps its scope
when interpreting.
Usual scenarios is to first invoke stream.pull.stepLeg
and then consume whatever is
available in leg.head
. If the next step is required leg.stepLeg
will yield next Leg
.
Once the stream will stop to be interleaved (merged), then stream
allows to return to normal stream
invocation.
- Self Type
- StepLeg[F, O]
- Source
- Stream.scala
- Alphabetic
- By Inheritance
- StepLeg
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (StepLeg[F, O], B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def ensuring(cond: (StepLeg[F, O]) => Boolean, msg: => Any): StepLeg[F, O]
- def ensuring(cond: (StepLeg[F, O]) => Boolean): StepLeg[F, O]
- def ensuring(cond: Boolean, msg: => Any): StepLeg[F, O]
- def ensuring(cond: Boolean): StepLeg[F, O]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val head: Chunk[O]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def setHead(nextHead: Chunk[O]): StepLeg[F, O]
Replaces head of this leg.
Replaces head of this leg. Useful when the head was not fully consumed.
- def stepLeg: Pull[F, INothing, Option[StepLeg[F, O]]]
Provides an
uncons
-like operation on this leg of the stream. - def stream: Stream[F, O]
Converts this leg back to regular stream.
Converts this leg back to regular stream. Scope is updated to the scope associated with this leg. Note that when this is invoked, no more interleaving legs are allowed, and this must be very last leg remaining.
Note that resulting stream won't contain the
head
of this leg. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def →[B](y: B): (StepLeg[F, O], B)
- Implicit
- This member is added by an implicit conversion from StepLeg[F, O] toArrowAssoc[StepLeg[F, O]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.