CharLikeChunks

trait CharLikeChunks[F[_], In]

A typeclass witnessing that a stream of type In has chunks that can be iterated over to get characters.

Companion:
object
Source:
CharLikeChunks.scala
class Object
trait Matchable
class Any

Type members

Types

type Context

The context used to pull chunks and iterate over characters. Implementations might decide to have immutable or mutable contexts depending on performance constraints that are desired.

The context used to pull chunks and iterate over characters. Implementations might decide to have immutable or mutable contexts depending on performance constraints that are desired.

Source:
CharLikeChunks.scala

Value members

Abstract methods

Advances one character in the context. This method is called for stepping through characters, so it is preferrable to have it efficient. Implemetations can be based on mutable Context, as a new one is created locally by the parsers.

Advances one character in the context. This method is called for stepping through characters, so it is preferrable to have it efficient. Implemetations can be based on mutable Context, as a new one is created locally by the parsers.

This should not perform any effect or pull.

Implementations can assume that needsPull will be called after this step function to check boundaries within the current chunk in the context.

Source:
CharLikeChunks.scala
def create(s: Stream[F, In]): Context

Creates a context out of a stream.

Creates a context out of a stream.

Source:
CharLikeChunks.scala
def current(ctx: Context): Char

Returns the current character in the context.

Returns the current character in the context.

Implementations can assume this will never fail, as parsers will check for needsPull and pullNext before calling this function.

This should not perform any effect or pull and must be pure.

Source:
CharLikeChunks.scala

Decides whether a new chunk must be pulled from the context.

Decides whether a new chunk must be pulled from the context.

Source:
CharLikeChunks.scala
def pullNext(ctx: Context): Pull[F, Nothing, Option[Context]]

Pulls the next chunk from the context. Returns None if stream is exhausted.

Pulls the next chunk from the context. Returns None if stream is exhausted.

Source:
CharLikeChunks.scala