_metadata

trait _metadata[A]

Metadata Interface

Metadata is a static knowledge about stream flow elements to be delivered

Metadata methods can be called many times, they do not trigger any data movements

Source
_metadata.scala
class java.lang.Object
trait scala.Matchable
class Any
class Stream.Flow[Stream.Flow.A]
class Stream.Custom.Pipeline.ParallelFlow[Stream.Custom.Pipeline.ParallelFlow.A]

Def

Tree description

Tree description

Returns a tree describing all flow trasformations

 ('a' <> 'z').stream
    .take(_ > 'X')
    .map(_.toUpper)
    .parallel
    .docTree.tp

 // Output
  scalqa.val.stream.z.flow.parallel.JavaStreamParallelFlow@ncwo{}
    scalqa.lang.char.g.stream.z.map$Chars@uru4{raw=Char,fromRaw=Char}
      scalqa.lang.char.g.Stream$TakeStream$2@56u4{raw=Char,fromRaw=Char}
        scalqa.lang.char.g.stream.Z$Stream_fromRange@cq06{raw=Char,size=26,from=a,step=1}
Source
_metadata.scala
def isParallel: Boolean

Parallel check

Parallel check

Returns true if this Parallel is parallel

Source
_metadata.scala

Optional long size

Optional long size

Many streams can return their current element count. If the information is not available, void option is returned

var s = (Int.min.Long <> Int.max.toLong).stream

s.sizeLongOpt.tp    // Prints Long.Opt(4294967296)

s = s.take(_ > 10)  // static sizing is lost

s.sizeLongOpt.tp    // Prints Long.Opt(VOID)
Source
_metadata.scala

Optional size

Optional size

Many streams can return their current element count. If the information is not available, void option is returned

Note: If size is known, but exceeds integer range, void option is returned. For theses cases use sizeLongOpt

 var s = ('a' <> 'z').stream

 s.sizeOpt.tp         // Prints Int.Opt(26)

 s = s.take(_ > 10)   // static sizing is lost

 s.sizeOpt.tp         // Prints Int.Opt(VOID)
Source
_metadata.scala