final
class
StepLeg[F[_], O] extends AnyRef
Instance Constructors
-
new
StepLeg(head: Chunk[O], scopeId: Token, next: FreeC[[γ$27$]Algebra[F, O, γ$27$], Unit])
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
def
+(other: String): String
-
def
->[B](y: B): (StepLeg[F, O], B)
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
ensuring(cond: Boolean, msg: ⇒ Any): StepLeg[F, O]
-
-
-
-
def
formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
val
head: Chunk[O]
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
setHead(nextHead: Chunk[O]): StepLeg[F, O]
-
-
def
stream: Stream[F, O]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
final
def
wait(): Unit
-
def
→[B](y: B): (StepLeg[F, O], B)
Deprecated Value Members
-
def
finalize(): Unit
Inherited by implicit conversion any2stringadd from
StepLeg[F, O] to any2stringadd[StepLeg[F, O]]
Inherited by implicit conversion StringFormat from
StepLeg[F, O] to StringFormat[StepLeg[F, O]]
Inherited by implicit conversion Ensuring from
StepLeg[F, O] to Ensuring[StepLeg[F, O]]
Inherited by implicit conversion ArrowAssoc from
StepLeg[F, O] to ArrowAssoc[StepLeg[F, O]]
When merging multiple streams, this represents step of one leg.
It is common to
uncons
, however unlikeuncons
, it keeps track of stream scope independently of the main scope of the stream.This assures, that after each next
stepLeg
each Streamleg
keeps its scope when interpreting.Usual scenarios is to first invoke
stream.pull.stepLeg
and then consume whatever is available inleg.head
. If the next step is requiredleg.stepLeg
will yield nextLeg
.Once the stream will stop to be interleaved (merged), then
stream
allows to return to normal stream invocation.